[epg2vdr] VPS Status

  • Hallo horchi

    ich versuche gerade, aus einem Plugin heraus mich an die VDR EPG Events anzuhängen um damit die VPS Start und Stopp Zeiten herauszubekommen.

    Ohne epg2vdr Plugin funktioniert dieser Code (vollständiger Code: git clone -b V02-vps https://github.com/kfb77/vdr-plugin-markad):



    Beim Start einer Aufnahme bekomme ich:

    May 17 10:42:19 VDR-Dev vdr: [284986] markad: recording Immer wieder sonntags (3/16) got event RunningStatus 4 IsRunning 1

    May 17 10:42:19 VDR-Dev vdr: [284986] markad: recording Immer wieder sonntags (3/16) got VPS start Event


    Es funktioniert auch mit aktiven epg2vdr Plugin, solange der Kanal nicht in der Channel Map definiert wurde. Ist der das aber, bekomme ich nichts mehr.

    Mein Plugin hänge ich vor epg2vdr in den VDR Event Handler ein, das bringt aber auch nichts.


    Ich kann nicht wirklich erkennen, wo das hängt. Hast du eine Idee, warum der VDR die beiden Werte nicht mehr setzt, wenn epg2vdr bei dem Kanal aktiv ist ?

  • Nachtrag: Wenn ich im epg2vdr Plugin in der handle.h die Methode HandledExternally so ändere, dass immer false zurück geliefert wird, dann funktioniert es auch. Das war nur mal zum Test, ich kann nicht abschätzen, was das auf die Funktion des Plugins für eine Auswirkung hat.

    Das passt auch zusammen mit der Beschreibung der Handler VDR Schnittstelle in der epg.h

    Code
    1.   virtual bool HandledExternally(const cChannel *Channel) { return false; }
    2. ///< If any EPG handler returns true in this function, it is assumed that
    3. ///< the EPG for the given Channel is handled completely from some external
    4. ///< source. Incoming EIT data is processed as usual, but any new EPG event
    5. ///< will not be added to the respective schedule. It's up to the EPG
    6. ///< handler to take care of this.

    In diesem Fall müssten wohl auch die Werte von Event->RunningStatus() und Event->IsRunning vom epg2vdr Plugin gesetzt werden.

  • Es würde auch noch einen anderen Ansatz zu Lösung meines Problems geben:

    Du schreibt mir die originale EventID in das Aux Feld des Timers, da sind eh schon einige Infos für Skins drin. Dann kann ich mir damit den VPS Event direkt vom EIT Handler holen. Hier mal mein Vorschlag, mit dem ich getestet habe:

  • Behabt dass das generelle Problem mit dem EPGD / EPG2VDR wenn man VPS bei einer Aufnahme aktiviert hat und dieser ständig neu startet wie hier in ein oder zwei Thread schon angesprochen wurde?


    Hier z.B.: epgd / epg2vdr => Aufnahme mit VPS startet und bricht gleich wieder ab, mehrmals

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Indirekt ja, weil die Aufnahme ganz normal als "nicht VPS Aufnahme" gemacht werden würde und die VPS Events nur zur Optimierung der Schnittmarken verwendet werden. Natürlich mit dem Nachteil, dass, wenn die Sendung außerhalb des Timer Vor/Nachlaufs startet oder endet, die Aufnahme abgeschnitten ist.

  • Vielleicht ist das ein Mehrwert, die Funktion an sich ist genial mit VPS. Meine Enigma2 Box funktioniert damit einwandfrei, gerade jetzt wo viele Sendungen erst später begonnen haben wegen irgendwelchen Sondersendungen war das Gold wert. Der VDR lief da nach Timer Vor- und Nachlauf und nahm diese Zeit auf. Klar, dass da einiges gefehlt hat.

    Schade dass das Feature so wenig Beachtung findet bei EPGD/EPG2VDR, wurde ja schon mehrfach angesprochen und berichtet. VPS an sich, also ohne EPGD/EPG2VDR funktioniert genauso gut beim VDR nur nicht in der Kombination.

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Ich habe eine Möglichkeit gefunden, wie ich die originale EventID raus bekomme, ohne die Info aus epg2vdr. Das Thema ist somit erledigt, eine neue Version von markad mit dem optionalen VPS Feature wird also in naher Zukunft kommen.

  • Um den bekannten Mehrwert von VPS mit epg2vdr/epgd zu nutzen bekommt man damit abermals nicht. Schade dass das auf der Strecke bleibt.

    Gruß utiltiy



    VDR Projekte VDR Projects