Während streaming den VDR nicht automatisch ausschalten.

  • Hallöchen.
    Ich habe schon seit einiger Zeit mit einem eigentlich recht simplen Problem zu kämpfen:
    Während ich einen Kanal streame, möchte ich nicht dass sich mein VDR automatisch ausschaltet. Sonst möchte ich diese Funktion aber beibehalten. Ich bin jetzt nicht unbedingt ein versierter C Programmierer, deswegen schlage ich das hier mal als Patch vor.


    Man sollte in dem Moment wo das Streaming anfängt die Variable die den Timeout-Wert beihaltet in einer Temporären Variable speichern und dann auf 0 setzen (damit währe der Timer dann ausgeschaltet). Wenn der Stream abgebrochen wird, sollte man den Wert der Temporären Variable wiederherstellen.


    Es ist nämlich total bescheuert dass während man gemütlich sein Fernsehen streamt, auf einmal der VDR aus geht, da man x Minuten keine Taste mehr bedient wurde...


    Was sagt ihr dazu?


    Gruss
    Merlin

  • Hmm, wenn das wirklich der Fall ist (ich hab die Installation noch vor mir, sammele erst mal Hardware und Ideen), dann wäre das tatsächlich ein gravierendes Problem.


    Allerdings braucht es dazu wohl kein C, sondern ein kleines Skript, oder?
    Diese Funktion ist allerdings dann dermaßen elementar, dass sie natürlich auch im Programm selbst gefixt werden könnte (sollte), und nicht über nen Workaround nachträglich dran rum gebastelt wird...



    Marcus *der sich wundert warum solch ein Konzeptfehler existiert*

    Hardware: Zalman HD160XT; Asus H97M-Plus, 1024MB RAM, Digital Devices Cine S2 (rev 7), Atric-Einschalter, NEC3520 DVD-Laufwerk, Samsung 256 GB SSD-Festplatte --> darauf yaVDR 0.6
    Hifi: Denon AVR4306, Samsung UE40ES6300

  • Dafür sollte doch eigentlich vdr-pluginactivity.diff aus dem streamdev patches-Verzeichnis sorgen. Hat bei mir aber auch nicht zu 100% die gewünschte Wirkung. Um ganz auf Nummer sicher zu gehen prüfe ich daher im shutdown-Skript mit Hilfe von ping ob mein streaming-client läuft und breche in diesem Fall den shutdown ab. Ist natürlich nur dann sinnvoll wenn der streaming-client nicht anderweitig verwendet wird. Aber auch für diesen Fall lässt sich ein Weg finden dies zu prüfen: Beispielsweise mit dem Befehl fuser prüfen ob die IP des streaming-clients mit dem streamdev-Port verbunden ist.

  • Also es sollte schon so sein dass es gepatcht wird, denn ein Skript ist vielleicht eine temporäre Lösung, aber es ist absolut nicht zufriedenstellend. Es sollte schon etwas am VDR gefriemelt werden. Ich werde mich auch mal dran setzen, aber wie gesagt ich werde wohl ziemlich lange brauchen bis ich irgendetwas verstehe. Weiss vielleicht jemand wie die Variable heisst die den Timer beinhaltet? Kann man auf die aus Streamdev auch zugreifen?


    Gruss
    Merlin

  • *grummel* Mir ist genau gerade das von Dir geschilderte passiert. Ich gucke per Stream TV
    und die Kiste fährt plötzlich (nach erreichen von "Min. user inactivity") runter. Ziemlich
    lästig... :]

  • Hi,
    leg einfach das checkscript ab und trag es in der vdrshutdown ein.
    Hier mal das script:
    gruß
    Dejuh

    Dateien

    Server-3000-AMD-64bit-1536mbRam- Suse-10.0-DHCP-TFTP-PHP-Apache-VDR-1.3.43-2x DVB-S-TT-1.3 und 2x NOVA-S-250GB-250GB für Video
    Bose-Zenega-Xine

    Client mit Epia-DXR3-Lüfterlos und Linvdr mit vdr-1.3.27
    DVD-Wechsler ......zu sehen auf meiner HP
    VDR-Touch-Control mit DXR3 und Linvdr-1.3.27
    2x Mediamvp

  • Wie lange wird der shutdown dann aufgehalten? Beginnt "Min. user inactivity" wieder von
    vorne? Schöner fände ich es, wenn der "Timer" bei Benutzung des Streamings gar nicht erst
    anliefe.

  • Hi,
    beim nicht gepatchten vdr beginnt er wieder von vorne.
    Mich stört es jedefalls nicht.
    gruß
    Dejuh

    Server-3000-AMD-64bit-1536mbRam- Suse-10.0-DHCP-TFTP-PHP-Apache-VDR-1.3.43-2x DVB-S-TT-1.3 und 2x NOVA-S-250GB-250GB für Video
    Bose-Zenega-Xine

    Client mit Epia-DXR3-Lüfterlos und Linvdr mit vdr-1.3.27
    DVD-Wechsler ......zu sehen auf meiner HP
    VDR-Touch-Control mit DXR3 und Linvdr-1.3.27
    2x Mediamvp

  • Da das evtl. noch andere Bereiche des VDR-Lebens betrifft, schlagt Klaus doch mal vor, die Plugin-Schnittstelle um zB eine Methode bool CanShutdown(); zu erweitern. Hier kann das Plugin dann antworten, ob ein Shutdown erwünscht wird.
    Zusätzlich wär ne Methode ForceShutdown wohl angebracht ;)


    arghgra

  • Ich habe mich jetzt mal nach langer Zeit wieder hingesetzt und folgendes gefunden:


    In der Zeile

    Code
    if (!Interact && ((!cRecordControls::Active() && !cCutter::Active() && !cPluginManager::Active() && (!Interface->HasSVDRPConnection() || UserShutdown)) || ForceShutdown))


    könnte man mal ansetzen. Man könnte in streamdev-server cPluginManager::Active setzen, dann wäre aber folgendes ein Problem. ¨Der VDR würde sofort ausgehen wenn man die Verbindung trennt, denn der Timer ist ja abgelaufen, aber diese Kondition wird nicht wahr wenn nur eine der Bedingungen true.


    Auf der anderen Seite habe ich mich ein bischen in den restlichen Code eingelesen und habe gesehen dess MinUserInactiviy den Wert beinhaltet den wir als timeout angegeben haben.


    Code
    if (Now - LastActivity > ACTIVITYTIMEOUT) {


    Wenn man im Plugin irgendwo folgenden Code infügen würde:


    Code
    LastActivity = time(NULL);


    dann würde der Timer nicht weiter runterzählen!


    Vielleicht sollte LordJaxom sich das mal angucken...


    Gruss
    Merlin

  • Zitat

    Und das sollte auch funktionieren mit Streamdev.


    Und wird auch vom aktuellen streamdev aus dem CVS so verwendet. Die Erweiterung aus vdr 1.3.47 ist im Großen und Ganzen das was seinerzeit der pluginactivity Patch bewirkt hat. Streamdev musste nur minimalst daran angepasst werden. Also einfach nochmal mit aktuellem VDR und streamdev aus dem CVS probieren :]


    Ob es nun allerdings immer noch zu gelegentlichen Missverständnissen führt (siehe mein damaliger Post weiter oben) kann ich Dir nicht sagen, da ich immer noch meine ping-Prüfung im Shutdown-Skript habe.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!