VDR Developer Version 2.5.5

  • Im GIT (git.tvdr.de) gibt es jetzt die VDR Developer Version 2.5.5.


    ACHTUNG: Verwendung dieser Version für den Alltagsbetrieb auf eigene Gefahr!


    Hier die Änderungen seit Version 2.5.4:

    Bitte ausgiebig testen!

    Bug-Reports etc. bitte hier in diesem Thread posten.

  • fein fein ... alle Plugins laufen sauber wie vorab am VDR-2.5.4



    Danke

    cinfo

    (VDR) NUC10i3FNK * BM2LTS * DD NET S2 Max * NC * (Sound) Cinebar Lux Set * (Stream) Apple TV 4K (2021)* (Light) PHILIPS Hue Play HDMI Sync Box & Gradient Lightstrip * (OLED TV) LG OLED65GX9LA

  • Läuft auf meinem Testsystem. :tup


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • In https://launchpad.net/~seahawk…+archive/ubuntu/vdr-2.5.5 gibt es einen VDR 2.5.5 mit dem obigen Patch und dem permashift-Patch von kamel5 aus Permashift 1.0.4 für VDR 2.4, Betaversion

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo,


    diese Änderung verschlechtert mit vdr-2.5.5 Kanalscans rapide.


    - No longer permanently looping through PMT PIDs, which caused problems with some

    SatIP receivers (reported by André Weidemann; with help from Helmut Binder).


    Damit produzieren sowohl das wirbelscan Plugin als auch w_scan_cpp, welche soweit möglich VDR core benutzen falsche Kanäle. Reverting mittels patch -R (..) löst das Problem. Einige Kanäle werden damit gar nicht mehr gefunden (ZDF HD, Das Erste HD, ..) und viele andere mit falschen Providern; einige sogar mit falschen FEC Werten.

  • Quote

    - No longer permanently looping through PMT PIDs, which caused problems with some

    SatIP receivers (reported by André Weidemann; with help from Helmut Binder).

    Welches Problem wird hier gelöst? Das EPG-Scan Problem? Funktioniert das nun wieder?

    Danke!

  • Es gibt wohl SatIP-Receiver (z.B. EXIP418 SatIP Box von Kathrein), die es nicht mögen, wenn ständig PIDs ein- und ausgeschaltet werden. Im konkreten Fall führte das dazu, dass der Receiver immer wieder abstürzte. Nach dieser Änderung lief er (laut User) im Dauerbetrieb stabil.


    Woran das von wirbel beobachtete Problem liegt gilt es noch zu untersuchen.

  • kls ,


    ich muss das mit den errors noch mal aufwärmen.


    Ich sehe hier bei meinen Aufnahmen öfters mal errors. Ich habe auch einen Skin, mit dem ich diese anzeigen kann. Dabei ist mir aufgefallen, das die errors einer laufenden oder fertigen Aufnahme erst nach einem Neustart des VDR entsprechend angezeigt werden. Vorher wird immer 0 angezeigt.

    Im Log werden die errors korrekt angezeigt.

    Sollte es nicht so sein, das die errors direkt nach Auftreten oder spätestens nach Beenden der Aufnahme, auch angezeigt werden können.


    Grüße

    kamel5

    VDR 2.5.6: ASUS Prime X470-PRO, Ryzen 7 2700, 64GB, 6TB HD, GT1030, Fedora 34 Kernel 5.14 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • kamel5 Versuch's mal hiermit (ungetestet):

  • kls ,


    diese Änderung scheint es zu lösen.

    Bei einer Probeaufnahme wurden die errors zeitnah in der Info angezeigt.

    Ich werde es mal noch ein paar Tage beobachten.


    Grüße

    kamel5

    VDR 2.5.6: ASUS Prime X470-PRO, Ryzen 7 2700, 64GB, 6TB HD, GT1030, Fedora 34 Kernel 5.14 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • Es gibt wohl SatIP-Receiver (z.B. EXIP418 SatIP Box von Kathrein), die es nicht mögen, wenn ständig PIDs ein- und ausgeschaltet werden. Im konkreten Fall führte das dazu, dass der Receiver immer wieder abstürzte. Nach dieser Änderung lief er (laut User) im Dauerbetrieb stabil.


    Woran das von wirbel beobachtete Problem liegt gilt es noch zu untersuchen.

    Ich denke, das Problem könnte darin liegen, dass VDR selbst PMT PIDs jetzt ausschaltet, die vom Plugin gesetzt wurden. PIDs welche nicht über cPatFilter:Process() gesetzt wurden, werden dennoch via cPatFilter ausgeschaltet, wenn zufällig ein pat filter parallel zum Plugin aktiv war. Im Grunde bricht dieser Patch den Grundsatz, dass cDevice einfach ein passives device kontrolliert von VDR sein sollte..

  • wirbel Der cSectionHandler führt aber doch genau Buch darüber, wie viele Filter einen Handle benutzen, und schließt ihn erst, wenn sich das letzte via Del() abgemeldet hat. Und cPatFilter löscht doch nur die PIDs, die es vorher selber gesetzt hat.


    Ich möchte freilich nicht ausschließen, dass da irgendwo noch ein Fehler drin ist.

    Kannst du den Fall, dass das nicht so abläuft, bitte genauer schildern?

  • Ja, aber was passiert, wenn cPatFilter die Pid foo setzt und mein Plugin die gleiche Pid foo benutzt.

    cPatFilter sieht, dass Pid foo nicht mehr benutzt wird und schließt via cDevice diese Pid.


    Zumindest ist dass meine aktuelle Theorie dazu.. ;)


    Ich sehe, dass ich aus der PMT nicht mehr alle services bekomme. Mehr weiß ich noch nicht, das zu debuggen kostet viel Zeit.

  • cPatFilter ruft cFilter::Del() auf, welches wiederum cSectionHandler::Del() aufruft.

    cSectionHandler::Del() hat eine Liste der offenen Filehandles und sucht sich den zu diesem Filter passenden Handle. Dessen 'used' wird decrementiert, und erst wenn alle entsprechenden Filter gelöscht wurden, wird der Handle geschlossen.

    Ich würde jetzt mal sagen, dass ein ausserhalb eines cPatFilter gesetztes Filter, auch wenn es die gleiche PID, TID und Mask benutzt, nicht durch das cPatFilter beeinflusst werden sollte.

    Siehst du eine Stelle, an der etwas schiefgeht?

  • wirbel : So wie ich das sehe, behandelt w_scan die Sections eigenständig und damit am device::Sectionhandler vorbei - so wie hier zu sehen:

    Daher weiß der VDR klarerweise nichts von zusätzlichen Usern und kann sie beim Del() auch nicht berücksichtigen

    Wie wäre es, vor dem Scan die VDR-Sectionhandler mit cDevice::StopSectionHandler() zu beenden, und danach mit cDevice::StartSectionHandler wieder zu starten (ich habe es selbst aber noch nicht ausprobiert) ?

    LG Helmut

  • Den Filehandle nicht, aber vielleicht wird mit einem Del() in dmxdev.c des Kernel der Filter entfernt und es kommen keine Daten mehr zum cPmtScanner von w_scan.

    Ich habe es gestern nur kurz mit DVB-T getestet und w_scan_cpp hat auch mit vdr-2.5.5 alle Programme gefunden, ich kann den Fehler also noch nicht nachvollziehen,

    DVB-S mit Unicable/SCR funktioniert bei mir nicht, da fehlt ein passendes ProvidesTransponder().


    Mit StopSectionHandler/StartSectionhandler könnte man vielleicht feststellen ob sich hier etwas in die Quere kommt.

    LG Helmut