[ANNOUNCE] CEC Plugin 0.2.0

  • Die größten Entwicklungen sollten jetzt hoffentlich geschafft sein, und das Design sollte sich jetzt hoffentlich stabilisieren :computertod .


    In der neuen Version 0.2.0 gibt es folgende Änderungen gegen 0.1.1:

    • PugiXM wird jetzt als XML-Parser verwendet.
    • Keymaps sind jetzt konfigurierbar (siehe README und Beispielconfig).
    • Die Änderung aus Changeset 19, announcing both a CEC_DEVICE_TYPE_RECORDING_DEVICE and a CEC_DEVICE_TYPE_TUNER, ist wieder rückgängig gemacht.
    • SVDRP-Kommandos zum Listen der CEC Devices und Keymaps.
    • iComboKeyTimeMs der libCEC ist via <combokeytimeoutms> in <global> konfigurierbar.
    • CEC Kommando TextViewOn unterstützt. Der neue Tag <textviewon> wird analog zu <poweon> oder <poweroff> verwendet.


    Download unter http://www.uli-eckhardt.de/vdr…d/vdr-cecremote-0.2.0.tgz oder im Mercurial Repository unter http://hg.uli-eckhardt.de/.


    Bugreports, Wünsche und Ideen sind wie immer willkommen :bpl .

    VDR 2.6.5 Kodi 18.6-Leia
    Debian GNU/Linux 12, Thermaltake DH102, ASUS PRIME N100I-D, CineS2 V6.5.
    Plugins:
    radio v1.1.0-6-g468280f , trayopenng 1.0.2, fritzbox 1.5.3, cdplayer 1.2.4, femon v2.4.0-GIT-d366856, menuorg 0.5.2, extrecmenung v2.0.4, streamdev-server v0.6.3, cecremote 1.5.0, osd2web 0.3.2, softhddevice v2.0.6-GIT97e825d

  • Ich habe nun das Plugin gebaut und installiert, allerdings bin ich hierbei auf Probleme gestoßen:

    • Werden keine oder falsche Parameter übergeben, bricht das Plugin den start des VDRs ab. Ich würde mir wünschen das hier Fehler den start des VDRs nicht verhindern.
    • echo "scan" | cec-client -s -d 1 oder cec-client -l liefert nur ein "autodetect FAILED" weshalb ich wohl erstmal nicht weiterkomme mit dem Plugin. Oder gibt es noch andere Möglichkeiten an die CEC Informationen zu kommen für die cecremote.xml?
    • Die Versionsnummer in den Sourcen und somit vermutlich auch im VDR ist noch 0.0.3, sollte die nicht 0.2.0 sein?

    Gruß
    Frodo

  • Werden keine oder falsche Parameter übergeben, bricht das Plugin den start des VDRs ab.


    Das gehört eigentlich so. Welchen Sinn sollte es machen einen VDR mit falsch konfigurierbarem Plugin starten zu wollen?

    Zitat

    echo "scan" | cec-client -s -d 1 oder cec-client -l liefert nur ein "autodetect FAILED" weshalb ich wohl erstmal nicht weiterkomme mit dem Plugin.


    Da scheint mir was bei deinem Setup nicht zu stimmen. Ist vielleicht der Adapter kaputt?

    Zitat

    Die Versionsnummer in den Sourcen und somit vermutlich auch im VDR ist noch 0.0.3, sollte die nicht 0.2.0 sein?


    Hast du mal einen Dateinamen, wo das so drin stehen soll? Mein Sourcetree lifert das nur folgendes:


    Code
    vdr:/video/src/vdr/PLUGINS/src/cecremote # grep "0.2.0" *
    cecremoteplugin.cc:static const char *VERSION        = "0.2.0";
    HISTORY:2015-02-21: Version 0.2.0
    vdr:/video/src/vdr/PLUGINS/src/cecremote # grep "0.0.3" *
    HISTORY:2015-02-14: Version 0.0.3

    VDR 2.6.5 Kodi 18.6-Leia
    Debian GNU/Linux 12, Thermaltake DH102, ASUS PRIME N100I-D, CineS2 V6.5.
    Plugins:
    radio v1.1.0-6-g468280f , trayopenng 1.0.2, fritzbox 1.5.3, cdplayer 1.2.4, femon v2.4.0-GIT-d366856, menuorg 0.5.2, extrecmenung v2.0.4, streamdev-server v0.6.3, cecremote 1.5.0, osd2web 0.3.2, softhddevice v2.0.6-GIT97e825d

  • Hi,



    Das gehört eigentlich so. Welchen Sinn sollte es machen einen VDR mit falsch konfigurierbarem Plugin starten zu wollen?


    Ich glaube die meisten anderen Plugins schreiben in einem solchen Fall lediglich nen Hinweis ins Logfile und ignorieren die ungültigen Parameter. Das würde ich auch besser finden, denn wenn jemand die Plugin Parameter über's OSD ändert (das ist bei der MLD möglich) und sich dabei vertut, kann's nicht mehr korrigiert werden wenn der VDR nicht mehr startet. Oder wenn z.B. bei ner späteren Version ein aktuell gültiger Parameter weg fällt, würde der VDR nach nem Update nicht mehr starten.


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • Ich glaube die meisten anderen Plugins schreiben in einem solchen Fall lediglich nen Hinweis ins Logfile


    Also zumindest die Plugins, die ich geschrieben habe, machen das nicht so :D , ich bin kein Freund von Error-Hiding.

    Das würde ich auch besser finden, denn wenn jemand die Plugin Parameter über's OSD ändert (das ist bei der MLD möglich) und sich dabei vertut, kann's nicht mehr korrigiert


    Also wenn man durch MLD eine syntaktisch falsche Konfig erzeugen kann, dann läuft da was in MLD schief. In dem Falle ist es ebenfalls besser, wenn sich der VDR komplett auf die Nase legt, dann ist beim User die Erinnerung noch frisch, wie er es geschafft hat MLD zu überzeugen eine kaputte Konfig zu schreiben ;D .
    Das CEC Plugin beendet sich nur bei erkennbar falschen Konfigurationen, aber nicht bei unsinnigen (kleiner aber subtiler Unterschied :skull1 )

    VDR 2.6.5 Kodi 18.6-Leia
    Debian GNU/Linux 12, Thermaltake DH102, ASUS PRIME N100I-D, CineS2 V6.5.
    Plugins:
    radio v1.1.0-6-g468280f , trayopenng 1.0.2, fritzbox 1.5.3, cdplayer 1.2.4, femon v2.4.0-GIT-d366856, menuorg 0.5.2, extrecmenung v2.0.4, streamdev-server v0.6.3, cecremote 1.5.0, osd2web 0.3.2, softhddevice v2.0.6-GIT97e825d

  • Über das OSD lassen sich halt die Plugin Parameter ändern, auch wenn dies nur wenige User machen werden. Aber wenn es möglich ist auf diesem Weg Werte einzugeben, die verhindern das der VDR startet, ist das halt ein Problem.


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • Von mir aus kannst Du gerne den VDR crashen, nur kann ich das Plugin dann nicht in einer Distribution zur Verfügung stellen. Wie soll man das supporten? :(
    Die meisten haben mehr als ein Weg um einen VDR fernzubedienen, im einfachsten Fall tut man das über svdrsend Kommandos oder das live Plugin. Wenn da der VDR bereits gecrashed ist...


    Nach meiner Meinung darf ein Plugin "nie" den VDR crashen. ?(

    Gruß
    Frodo

  • Wieso crasht der VDR, gibts nen Segfault oder was? Der startet halt nicht, wenn man falsche Startparameter verwendet. Das ist kein Crash sondern ein definierter Abbruch. Nimm halt die richtigen Parameter oder validiere diese vor der Start. Das Verhalten ist ok so.

    SAT Hardware: Gibertini SE75 | DuraSat Dur-Line UK-24 | DD OctopusNET V2 Rack (Firmware 1.1.6) mit MaxS8
    Server: Asus M5A78L-M/USB3 | Sempron 145@2Cores | 8GB ECC RAM | PicoPSU | Debian Stretch 64Bit | VDR 2.4.5 mit SAT>IP, epgsearch, live, markad
    Clients: RaspberryPI 2/3 | Yocto Poky Linux (Openembedded) 3.2+git | Linux Kernel 5.4.72 | VDR 2.4.5 mit SAT>IP, RpiHDDevice, SkinDesigner, Remote, Extrecmenu, Femon, Mlist


    R.I.P: Gigaset M740 mit VDR von open7x0.org

  • Das ist kein Crash sondern ein definierter Abbruch. Nimm halt die richtigen Parameter oder validiere diese vor der Start.


    Ist natürlich etwas unelegant an 2 Stellen zu validieren, das Plugin tut es doch eh nochmal. Sorry, ich hatte noch keine Zeit gefunden mir den Code für das Plugin anzusehen, aber wäre es denn nicht möglich statt einem Abbruch des VDRs nur den Thread für das Plugin nicht zu starten?


    Ist wirklich nur als vorsichtige Frage gedacht, ich beuge mich natürlich der Expertise des Entwicklers.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

Jetzt mitmachen!

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