[markad] überarbeiteter Decoder

  • Ich habe so einen Verdacht, dem ich noch nachgehen muss: Der Shutdown-Manager versucht nach Ablauf der eingestellten Inaktivitätszeit den VDR herunterzufahren. Gelingt das nicht, zählt er im 10-Sekunden-Takt einen 5-Minuter-Timer herunter und blendet bei jedem Takt ein, dass der VDR in X:Y Minuten heruntergefahren wird.


    Warum der Shutdown-Manager aber bei jedem Takt die Plugins aufruft, erschließt sich mir nicht. Denn er versucht ja erst nach dem Ablauf der 5 Minuten, den VDR erneut herunterzufahren. Der einzige Vorteil wäre, dass er den Shutdown vorzeitig abbrechen bzw. die 5 Minuten von vorne starten könnte. Einen Nutzen hierfür sehe ich allerdings nicht…

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.7.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinenigmang, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • Es gibt (siehe vdr.c, Zeile 1570 ff) folgende Gründe dafür:

    • Der Benutzer ist aktiv
    • Eine Aufzeichnung oder Wiedergabe läuft
    • Ein Plugin signalisiert, dass es noch etwas zu erledigen hat

    Dummerweise wird in Zeile 1566 bei jedem Takt die Shutdown-Confirmation aufgerufen. Man könnte das zwar ändern, aber dann würde der Countdown bei einer negativen Rückmeldung eines Plugins nicht gleich abgebrochen.


    Ich habe der Einfachheit halber die beiden Debug-Meldungen aus cPluginMarkAd::Active herausgenommen. Eventuell magst du das in der offiziellen Codebasis nachziehen?

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.7.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinenigmang, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

    Edited once, last by shofmann ().

  • Nein. Das ist eine Debug Meldung und wird benötigt um zu erkennen, ob das markad Plugin den shutdown verzögert. Wenn keine andere Bedingung den shutdown blockiert, kommt die Meldung genau ein Mal und nur, wenn VDR im Debug Log Level läuft.

  • kls, hast du eine Erklärung, warum gleich nach dem Ende einer Aufzeichnung (also dem Timer-Stop-Event) eine Active-Abfrage des Plugin-Managers starten könnte?

    cShutdownHandler ist nicht meine Baustelle, dazu kann ich nichts sagen. Ich benutze das auch nicht, da mein VDR auch 24/7 läuft.

    Wenn ich mich nicht irre, hat den Code Urig geschrieben.

  • Danke, das hattest du schon erwähnt. Urig ist hier aber seit mehr als vier Jahren nicht mehr gesehen worden…


    Ich wüsste zwar schon, wie man die 10-sekündige Shutdown-Confirmation abstellt. Die einzige "Nebenwirkung" wäre, dass ein Abbruch des Shutdowns halt erst am Ende des Countdowns geprüft wird, und nicht schon bei jedem Takt. Aber nachdem man den VDR sowieso erst am Ende des Countdowns herunterfährt, sähe ich darin kein Problem.


    Ich bin mir aber nicht sicher, ob du bzw. andere Nutzer einen solchen Patch haben möchten. Wie sind die Meinungen hierzu?

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.7.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinenigmang, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • Nein. Das ist eine Debug Meldung und wird benötigt um zu erkennen, ob das markad Plugin den shutdown verzögert.

    Ich spreche nur davon, den Request und die Acceptance herauszunehmen. Wenn das Plugin den Shutdown verweigert, postet es eine andere Meldung. Warum sollten diese beiden got/accepted-Meldungen relevant sein?

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.7.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinenigmang, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • Das Ganze ist wegen der Vielzahl von syslog-Event des VDR und seiner Plugins nur schwer zu überblicken.

    Dich stören die vielen Debug Log Meldungen vom VDR und seinen Plugins, warum reduzierst du dann nicht den Log Level ? Debug Log Level ist auch für den Normalbetrieb nicht gedacht.

  • Ich bin mir aber nicht sicher, ob du bzw. andere Nutzer einen solchen Patch haben möchten. Wie sind die Meinungen hierzu?

    Das ist jetzt aber Off-topic, bitte eigenen Thread dazu aufmachen.

  • Debug Log Level ist auch für den Normalbetrieb nicht gedacht.

    Tja, leider hat man sonst die Meldungen nicht im syslog, nachdem man ein komisches Verhalten des VDR oder eines seiner Plugins festgestellt hat. Nicht jeder Effekt ist leicht reproduzierbar, und das präventiv erfasste Log ist dann leider oft der einzige Hinweis…


    Aber egal, Git mergt leicht zusammen, dass ich die zwei Codezeilen bei mir lokal gelöscht habe.

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.7.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinenigmang, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • Dich stören die vielen Debug Log Meldungen vom VDR und seinen Plugins, warum reduzierst du dann nicht den Log Level ? Debug Log Level ist auch für den Normalbetrieb nicht gedacht.

    Hehe. Mußte erst vor kurzem entdecken, daß z.B. LIVE in der (zugegeben unbedeutenden) Anzeige des Plugin-Status im "?"-Menü das tvscraper-Plugin als "nicht installiert" anzeigt, wenn der DEFAULT-Debuglevel von vdr (=3) reduziert und so die "started plugin: xxx"-Anzeigen im syslog unterdrückt werden ...

  • Die Funktion einer Anwendung muss unabhängig von Log Level sein. Ich bin mir sicher, dass das auch MarkusE das für das Live Plugin so sieht. Wenn du das Gegenteil nachweisen kannst, wird er sich sicher über Input dazu freuen.

  • Hab das schon im Live-Thread erwähnt, und war erstmal zufrieden, als der Loglevel 3 das behoben hat (ist ja auch nur Schönheitsfehler), aber erst nach einem kompletten Reboot - ein VDR-Neustart reichte bei mir nicht.

    Nun hab ich den Loglevel wieder auf 1 gesetzt, und neu gebootet, und es wird trotzdem noch richtig angezeigt.

    Aber: mittlerweile hab ich 3.3.9 ;)

  • Mußte erst vor kurzem entdecken, daß z.B. LIVE in der (zugegeben unbedeutenden) Anzeige des Plugin-Status im "?"-Menü das tvscraper-Plugin als "nicht installiert" anzeigt, wenn der DEFAULT-Debuglevel von vdr (=3) reduziert und so die "started plugin: xxx"-Anzeigen im syslog unterdrückt werden ...

    Irgendwie glaube ich noch immer nicht, dass das reproduzierbar ist.

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

  • Stimmt - zumindest mit der 3.3.9 gestern abends konnte ich es nicht mehr reproduzieren :)

  • kfb77 , auch wenn ich mich jetzt unbeliebt mache :( . Ich würde so etwas vermeiden, auch im debug log level. Es hilft nicht, Fehler zu finden.

    Man kann ja z.B. nach 3 solchen Meldungen ausgeben, dass weitere Meldungen dieser Art erstmal nicht mehr ausgegeben werden, z.B. für 10 min oder eine Stunde.


    Aber bitte nicht falsch verstehen: Es ist Dein Plugin, da kannst Du das natürlich so machen wie Du möchtest.

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

  • OK, wenn jetzt schon zwei dieser Meinung sind, mache ich die Meldung raus. Ich hoffe, es kommt keiner an mit "VDR fährt nicht runter, da ist bestimmt markad dran Schuld".

    Edited once, last by kfb77 ().

  • Zunächst einmal danke für die rege Diskussion. kfb77, es geht ja nicht darum, dass das Plugin keine Meldungen im Fehlerfall mehr ausgibt. Ohne die zwei Zeilen:

    Code
    cString cPluginMarkAd::Active(void) {
        // Return a message string if shutdown should be postponed
        if (statusMonitor->MarkAdRunning() && (setup.DeferredShutdown)) {
            dsyslog("markad: markad still running, shutdown request rejected");
            return tr("markad still running");
        }
        return nullptr;
    }

    … wirft es ja noch immer eine Debug-Meldung (Zeile 4) und veranlasst eine OSD-Meldung (Zeile 5), wenn es den VDR nicht heruntergefahren haben möchte. Aus meiner Sicht ist das einerseits sparsam und andererseits ausreichend genug für die Fehleranalyse.

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.7.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinenigmang, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • Den hätte ich jetzt konsequenter Weise auch mit raus geworfen, weil der kommt ja dann auch alle 10s.

    OK, ich lasse den drin. Ich nutzte den shutdown durch den VDR eh nicht.

    Edited 3 times, last by kfb77 ().

  • Den hätte ich jetzt konsequenter Weise auch mit raus geworfen, weil der kommt ja dann auch alle 10s.

    Nein, kommt er nicht. Denn sobald das Plugin den Shutdown ablehnt, wird der Countdown abgebrochen:

    Code
    // Update the shutdown countdown:
    if (ShutdownHandler.countdown && ShutdownHandler.countdown.Update()) {
       if (!ShutdownHandler.ConfirmShutdown(false))
          ShutdownHandler.countdown.Cancel();
       }

    … und nach derzeit 360 Sekunden erneut versucht. Ich werde das nochmal versuchen zu verifizieren.

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.7.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinenigmang, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!