Posts by zimuland

    Das ist die normale Programmanzeige vom VDR. Ich hatte es extra mal ohne Patches und weitere Plugins getestet.

    VDR 2.6.4 mit Plugins RPIHDDEVICE 1.0.6, SKINELCHIHD 1.2.2 und REMOTE 0.7.0


    PS: Das Datum wird dabei auch korrekt angezeigt.

    Hallo FireFly,

    vielen Dank für die neuen Versionen.


    Bei mir funktioniert damit aber die EPG-Anzeige des aktuellen Programms nicht mehr richtig.

    Der Titel der Sendung wird linksbündig angezeigt und die Symbole überlagern den Text, Datum und Uhrzeit fehlen.


    Der Aufruf von SetItemEvent() für mcSchedule erfolgt vom VDR in dem Fall wahrscheinlich mit Channel == NULL und WithDate == FALSE. Diese Kombination wird im Moment nicht unterstützt.


    Der folgende Patch stellt die bisherige Anzeige wieder her.

    skinelchihd-1.2.2-zimuland.diff.zip


    Viele Grüße

    Zimuland

    Hallo,


    als in der Tagesschau mal wieder eine Verschiebung des Programms durch einen Brennpunkt angekündigt wurde, hatte ich im Live-Plugin den schon gestarteten Timer einfach verlängert.

    Beim späteren Abspielen der Aufnahme habe ich festgestellt, dass die Aufnahme genau zum Zeitpunkt der Änderung endete.


    Das Problem ist reproduzierbar, hier das zugehörige Logfile:

    VDR-2.4.8, LIVE-3.1.5


    Gruß Zimuland


    Hallo,

    vor einiger Zeit habe ich die neue Version 2.4.1 installiert. Danach kamen mehrmals unerklärliche Konfliktmeldungen, ich hatte aber keine Zeit das näher zu untersuchen.


    Inzwischen konnte ich den Fehler reproduzieren. Die Fehlalarme betreffen unverschlüsselte Sender.

    Im System sind drei DVB-Karten vorhanden. Es werden vier Timer auf drei Transpondern angelegt. Mit der Version 2.4.0 werden keine Konflikte angezeigt (VDR-Version ist 2.4.7.). Mit der neueen Version wird der erste Timer auf Karte 2 gestartet. DIe zweite Aufnahme auf dem gleichen Transponder wird vom epgsearch der Karte 3 zugeordnet, vom VDR aber wie erwartet ebenfalls auf Karte 2 gestartet. Die letzten beiden Timer brauchen dann jeweils eine eigene Karte.

    channels.conf

    Das Erste:338000:C0M256:C:6900:101=2:102=deu@3,103=mis@3;106=deu@106:104;105=deu:0:28106:1:1101:0

    ZDF:450000:C0M256:C:6900:110=2:120=deu@3,121=mis@3,122=mul@3;125=deu@106:130;131=deu:0:28006:1:1079:0

    rbb Berlin;ARD:458000:C0M256:C:6900:601=2:602=deu@3,603=mis@3:604:0:28206:1:1073:0

    3sat:450000:C0M256:C:6900:210=2:220=deu@3,221=mis@3,222=mul@3;225=deu@106:230;231=deu:0:28007:1:1079:0


    timers.conf

    1:C-1-1079-28007:2021-12-06:1755:1800:50:99:3sat:<epgd><timerid>2415</timerid></epgd>

    1:C-1-1079-28006:2021-12-06:1756:1800:50:99:ZDF:<epgd><timerid>2416</timerid></epgd>

    1:C-1-1073-28206:2021-12-06:1757:1800:50:99:rbb Berlin:<epgd><timerid>2417</timerid></epgd>

    1:C-1-1101-28106:2021-12-06:1758:1800:50:99:Das Erste:<epgd><timerid>2418</timerid></epgd>


    epgsearch.log

    Gruß Zimuland

    Das SetVolumeDevice() kam ja ursprünglich schon durch den Patch von MarkusE rein. Ich habe in meiner Variante jetzt nur noch die Unterscheidung mit IsMute() ergänzt. Ohne das SetVolumeDevice() wird die Lautstärke bei mir aber jedem Kanalwechsel auf einen Default-Wert gesetzt, nicht nur wenn man einen externen Player nutzt. Mir war das auch nur aufgefallen, weil ich den Ton beim letzten Test ziemlich leise eingestellt hatte.
    Die Umschaltzeiten liegen mit SetVolumeDevice() bei HD-Sendern auf dem gleichen Transponder bei etwa zwei Sekunden und bei unterschiedlichen Transpondern bei reichlich drei Sekunden. Getestet habe ich mit einen Terratec Cinergy HTC Stick mit DVB-C mit einem Raspi 3.

    Vielen Dank für Deine ausführliche Analyse. Deine Version des Patches löst das Problem im Endeffekt ebenfalls.

    Das Setzen vom m_playMode hätte ich aber noch in den Lock() verschoben.


    Code
        m_playMode = PlayMode;
        m_mutex->Unlock();
        return true;
    }



    Quote

    ich finde keine Stelle im Plugin, wo dabei auch m_playmode auf 5 gesetzt wird!

    Das SetPlayMode() wird direkt vom VDR aufgerufen und kommt wahrscheinlich von dieser Zeile im mplayer-Plugin:

    Code
    cMPlayerPlayer::cMPlayerPlayer(const cFileObj *File, bool Rewind)
    :cPlayer(pmExtern_THIS_SHOULD_BE_AVOIDED)
    {


    Quote

    Das TV-Bild kommt nach dem Beenden des mplayer-Plugins trotzdem normal zurückt? Das ist interessant: Nach einem Kanalwechsel im Plugin selbst will die Hardware neu initialisiert werden, aber nach Verwendung des externen omxplayers ist das nicht nötig.

    Die Initialisierung findet ja trotzdem statt. Nach dem Beenden des Plugins wird wieder zuerst pmNone und danach pmAudioVideo gesendet.


    Quote

    ich habe hier übrigens SetVolumeDevice(CurrentVolume()); rausgelassen, denn der Sinn im ursprünglichen Patch erschließt sich mir nicht. Es würde ja dazu führen, dass ein vorher stumm gemuteter vdr beim Kanalwechsel wieder laut wird.

    Das war mir bisher noch gar nicht aufgefallen, ist aber tatsächlich so.

    Der Ton scheint aber nach der Reinitialisierung immer an zu sein. Damit sorgt der Aufruf im Endeffekt nur dafür, dass die im VDR eingestellte Lautstärke verwendet wird. Damt sollte die folgende Variante korrekt sein, damit das Mute auch beibehalten wird:

    Code
    SetVolumeDevice( IsMute() ? 0 : CurrentVolume() );


    Quote

    Das Resetten findet hier also komplett in pmNone statt und damit auch bei jedem Kanalwechsel. Keine Ahnung, ob das Umschaltproblem damit auch gelöst ist und ob es Einfluss auf die Umschaltdauer hat.

    Das führt im Fall von pmExtern_THIS_SHOULD_BE_AVOIDED im Endeffekt dazu, dass eine Initialisierung durchgeführt wird, die am Ende nicht gebraucht wird.


    Das pmExtern_THIS_SHOULD_BE_AVOIDED im Plugin nicht behandelt wird ist meiner Meinung nach so gewollt, da ja der externe Player alle Arbeit übernimmt. Die Variable m_playMode bleibt auf pmNone, bis sie in PlayAudio() oder PlayVideo() auf den entsprechenden Mode gesetzt wird. Wurde keine dieser Funktionen aufgerufen ist wahrscheinlich auch kein FlushStreams() notwendig.

    Hallo,

    bei der Verwendung des mplayer-Plugins (mit omxplayer-patch) gibt es auch das Problem, dass beim Beenden des Plugins der VDR neu startet.


    Beim Start des Plugins wird SetPlayMode() zurerst mit 0 (pmNone) und danach mit 5 (pmExtern_THIS_SHOULD_BE_AVOIDED) aufgerufen.

    Beim Beenden des Plugins folgt dann wieder ein Aufruf mit 0 (pmNone). Dabei kommt es beim Aufruf von FlushBuffers() zum Absturzin in SetClock() bzw. ResetClock() aufgrund eines Null-Pointers.


    Dieser modifizierte Patch hat das Problem für mich gelöst: rpihddevice-fix_playmode_zimuland.patch


    Gruß Zimuland

    Hallo zusammen,


    nachdem ich schon ein paar mal bei "Das Erste HD" keinen Ton hatte und dann auf "Das Erste" ausgewichen bin, konnte ich am Samstag mal eine Aufnahme davon machen.


    Beim Abspielen der Aufnahme mit VLC war der Ton vorhanden. Also habe ich mich mal auf die Suche nach der Ursache des Problems gemacht.


    Code
    Input #0, mpegts, from '00001.ts':
      Duration: 00:05:00.11, start: 46217.329656, bitrate: 9124 kb/s
      Program 132
        Stream #0:0[0x13ed]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 100 tbc
        Stream #0:1[0x13ee](deu): Audio: ac3 ([6][0][0][0] / 0x0006), 48000 Hz, 5.0(side), fltp, 448 kb/s
        Stream #0:2[0x13ef](mis): Audio: ac3 ([6][0][0][0] / 0x0006), 48000 Hz, stereo, fltp, 192 kb/s
        Stream #0:3[0x13f1](deu): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) (hearing impaired)


    Hier wird im ersten Audio Stream ein Channel Layout 5.0 genutzt, das von rpihddevice nicht unterstützt wird. Der folgende Patch hat das Problem für mich gelöst.



    Gruß Zimuland

    Hat jetzt nicht direkt mit deinem Problem zu tun, aber es würde mich interessieren, wieso es in den Logmeldungen ': Doku~Terra X' (mit Doppelpunkt und Blank) heißt, die Timer-Definition aber "Doku~Terra X" (ohne Doppelpunkt und Blank) lautet.

    Das liegt wahrscheinlich nur daran, dass ich die Timerdefinition nicht aus der timers.conf kopiert habe. Das Verzeichnis heißt wirklich ": Doku", damit es immer am Anfang der Aufnahmeliste steht.

    Ich habe es jetzt erstmal auf 8640 (6 Tage) gestellt. Damit fällt ja schon das Event von letzter Woche Samstag raus. Wie erwartet funktioniert dann nach einem Neustart des VDR auch der EPG-Scan wieder.


    Hier noch die entsprechenden Log-Einträge:


    Vorher:

    Jan 30 15:15:53 WS-E-DEBIAN vdr: [10794] timer 1 (2 1930-2015 VPS ': Doku~Terra X') set to event Son 24.01.2021 19:30-20:15 (VPS: 24.01. 19:30) 'Terra X'

    Jan 30 15:15:53 WS-E-DEBIAN vdr: [10794] timer 2 (1 1600-1630 VPS ': Doku~W wie Wissen') set to event Sam 23.01.2021 16:00-16:30 (VPS: 23.01. 16:00) 'W wie Wissen'

    Jan 30 15:15:56 WS-E-DEBIAN vdr: [10794] timer 1 (2 1930-2015 VPS ': Doku~Terra X') set to event Son 31.01.2021 19:30-20:15 (VPS: 31.01. 19:30) 'Terra X'


    Nach der Änderung:

    Jan 30 15:17:44 WS-E-DEBIAN vdr: [10879] timer 1 (2 1930-2015 VPS ': Doku~Terra X') set to event Son 24.01.2021 19:30-20:15 (VPS: 24.01. 19:30) 'Terra X'

    Jan 30 15:17:47 WS-E-DEBIAN vdr: [10879] timer 1 (2 1930-2015 VPS ': Doku~Terra X') set to event Son 31.01.2021 19:30-20:15 (VPS: 31.01. 19:30) 'Terra X'

    Die Kanalnummer 1 ist "Das Erste" und 2 ist "ZDF". Beide sind auf unterschiedlichen Transpondern. Beim Start des VDR schaltet er automatisch auf Kanal 1.

    Das ganze läuft am Kabelanschluss. Das EPG ist je nach Sender für die nächsten 3 bis 6 Tage verfügbar.


    channels.conf

    Das Erste;ARD:338000:C0M256:C:6900:101=2:102=deu@3,103=mis@3;106=deu@106:104;105=deu:0:28106:1:1101:0

    ZDF;ZDFvision:450000:C0M256:C:6900:110=2:120=deu@3,121=mis@3,122=mul@3;125=deu@106:130;131=deu:0:28006:1:1079:0


    timers.conf

    5:C-1-1079-28006:------S:1930:2015:50:99:| Doku~Terra X:

    5:C-1-1101-28106:-----S-@2021-01-31:1600:1630:25:99:| Doku~W wie Wissen:


    Ich hatte das Problem vor zwei oder drei Wochen schon einmal.

    In der Programmübersicht war mir aufgefallen, dass dort bei den Sendern die ich nicht regelmäßig nutze noch Sendungen vom Vortag angezeigt wurden. Wenn man dann auf diesen Sender umschaltet wird auch das EPG aktualisiert.

    Danach hatte ich dann ohne Erfolg nach und nach alle Plugins deaktiviert und jeweils den EPG-Scan über das Menu und das SVDRP-Kommando gestartet.

    Am Ende hat das Löschen der Datei epg.data erstmal zum Erfolg geführt. Danach füllte sich das EPG wieder ohne auf den Sender umschalten zu müssen.


    Ich vermute, dass das Problem bei mir durch die doch recht große EInstellung "Alte EPG-Daten anzeigen (min): 10080" verursacht wird. Ich hatte das mal irgendwann auf 7 Tage eingestellt um nachvollziehen zu können, warum etwas nicht aufgenommen wurde und bis heute einfach so belassen.