[ANNOUNCE] S2API-Wrapper 0.10

  • Aktuell: S2API-Wrapper Light 0.10 für VDR-2.0.0.


    Die neueste Version des Wrappers behebt das Problem mit EPG-Daten auf DVB-S2 seit 1.7.40. Das Problem trat immer auf, wenn der Laufzeit-Kernel nicht mindestens DVB API 5.7 verstanden hat.


    Diese Version fragt die DVB API Version des Laufzeit-Kernels ab, und steuert die Funktionen entsprechend an, um Fehler durch noch nicht unterstützte Kommandos zu vermeiden. Gleichzeitig sind einige Code-Weichen im VDR-Quelltext, die auf der Version der DVB Header basierten, durch Laufzeit-Weichen ersetzt worden.


    Damit sollte VDR wieder auf allen DVB APIs von 5.0 aufwärts übersetzbar sein, und sämtliche Features stehen dann unter ausreichend aktuellen Laufzeit-Kerneln zur Verfügung.


    Download wie immer hier: http://www.udo-richter.de/vdr/patches.html#dvb-api-wrapper



    _____________________________________________________________________________
    Ursprünglicher Beitrag:


    Hi,



    Die Version 0.6 des S2API-Wrapper-Patch steht zum Download bereit. Der Patch ermöglicht es, VDR-1.7.x auf alten DVB-Treibern der Vor-S2 Zeit zu nutzen.


    Neu in Version 0.6 ist die Fähigkeit, zur Laufzeit zu erkennen, ob der laufende Kernel / Treiber S2-Unterstützung bietet, und dementsprechend in den DVB-V3 Kompatibilitätsmodus zu schalten, oder die volle DVB-V5 Funktionalität zu nutzen. Das funktioniert sogar dann, wenn der VDR mit veralteten DVB-V3 API-Headerdateien übersetzt wurde.


    Zusätzlich versteht VDR mit Patch die Optionen --dvbapi=3 und --dvbapi=5, um die Benutzung eines bestimmten APIs zu erzwingen.


    Download hier: http://www.udo-richter.de/vdr/patches.html#dvb-api-wrapper



    Gruß,


    Udo

  • Hallo Udo!


    Beim s2apiwrapper Patch bedarf es einer kleinen Anpassung für VDR 1.7.32 in dvbdevice.c

    Code
    #if (DVB_API_VERSION << 8 | DVB_API_VERSION_MINOR) < 0x0508
    #define DTV_STREAM_ID DTV_DVBT2_PLP_ID
    +#define FE_CAN_TURBO_FEC  0x8000000
    #endif


    Ansonsten bricht das Kompilieren mit "FE_CAN_TURBO_FEC was not declared in this scope" ab.

  • hallo Udo,


    ich kapier' die versionierung nicht ganz - 0.6 ist jetzt der neue wrapper, der auch mit dem neuen vdr-1.7.32 funktioniert? gestern habe ich noch "vdr-1.7.24-s2apiwrapper-0.8.diff" auf vdr-1.7.32 angewendet - hat auch funktioniert.


    danke!
    ciax


    edit: hoppala, ich hab das datum beim eingangspost erst jetzt gesehen - das macht es klarer ;)

  • du bekommst nicht den FE_CAN_TURBO_FEC not declared error beim kompilieren ohne die zusätzliche define Zeile?

  • gestern habe ich noch "vdr-1.7.24-s2apiwrapper-0.8.diff" auf vdr-1.7.32 angewendet - hat auch funktioniert.


    Jupp, die Version verpacke ich auch bei den VDR Paketen für Ubuntu Lucid & Natty, funktioniert ohne Probleme bis 1.7.31, zu 1.7.32 kam ich noch nicht.


    Regards
    fnu

    HowTo: APT pinning

  • du bekommst nicht den FE_CAN_TURBO_FEC not declared error beim kompilieren ohne die zusätzliche define Zeile?

    doch, habe ich auch bekommen. ich hab dann allerdings den pfad zu den DVB-treibern im Makefile (Make.config) angegeben - "DVBDIR" (das ist normalerweise auskommentiert). dann hat es ohne fehlermeldung geklappt.


    ciax

  • ... und mit "DVBDIR" dürfte auch der S2API-Wrapper an sich unnötig sein ......

    hast recht! das hab ich wohl in der falschen reihenfolge gemacht (Compilierversuch --> API-Meldungen, wrapper-patch angewendet --> FE_CAN_TURBO_FEC not declared error, DVBDIR im Makefile angegeben).


    ciax

  • Auf meiner Webseite gibt es jetzt einen aktuellen Patch für den S2API-Wrapper für VDR-1.7.32.


    Ich hab die Gelegenheit auch genutzt, ihn gewaltig zu entrümpeln und hab ihn in s2apiwrapper-light umbenannt.


    Die neue Version unterstützt nun kein DVB API V3 mehr, nur noch DVB API ab Version 5.0 (Einführung von S2API) wird unterstützt. Das hat den Patch von 20kb auf 4kb reduziert. Da selbst der Standard Debian 2.6.32-Kernel vollkommen ausreicht, ist das glaube ich kein Verlust mehr. Falls jemand tatsächlich noch VDR-1.7.32 unter Debian Lenny oder noch älteren Systemen nutzen will, kann ich immer noch etwas zur Verfügung stellen.



    Download wie immer hier: http://www.udo-richter.de/vdr/patches.html#dvb-api-wrapper

  • Auf meiner Webseite gibt es jetzt einen aktuellen Patch für den S2API-Wrapper für VDR-1.7.32.


    Urig


    Super, werde die Version alsbald unter Lucid testen ... :)


    Was hältst Du davon den Thread passend in "[ANNOUNCE] S2API-Wrapper 0.9" umzubennen, damit die Versions-Mißverständnisse wie oben nicht mehr aufkommen?


    Regards
    fnu

    HowTo: APT pinning

  • Gibt es durch die Makefile-Änderungen Probleme mit dem API Wrapper?
    Lässt sich zwar anwenden und VDR selbst kompiliert auch, aber z.B. beim skincurses Plugin (noch keine anderen getestet, ist ein headless vanilla-vdr) bekomme ich:


    In der Make.config habe ich mein DVBDIR eingetragen (dass auf einen 2.6.32.2 und damit DVBAPI 5.0) Kernel zeigt, wird das von den Plugins nicht (mehr?) ausgewertet?

  • Der Patch funktioniert bei mir unter 1.7.37 ohne Probleme, dein Fehler kommt wohl eher aus der Tatsache, dass die offiziellen Kernel-Includes deines System wohl noch älter als 5.0-API sind, denn der gepatchte Code wird ja compiliert, findet aber kein 5.0-API. VDR selbst findet zumindest 5.0-API, wenn wohl auch kein 5.3-API, sonst bräuchtest du ja keinen Patch.


    Wenn du sowieso keinen Distributions-Kernel, sondern einen eigenen Kernel verwendest, warum dann keinen aktuelleren mit 5.3-API?


    Eigentlich sollte DVBDIR via CFLAGS und CXXFLAGS und via vdr.pc an das Plugin übergeben worden sein, warum es trotzdem nicht in der g++ Zeile auftaucht, verstehe ich auch nicht. Hast du vielleicht mittels PLGCFG= eine globale Konfigurationsdatei eingebunden, die CFLAGS und CXXFLAGS überschreibt? Wenn ja, hast du damit DVBDIR wieder aus den Flags gelöscht.


    Gruß,


    Udo

  • S2API-Wrapper Light 0.10 für VDR-2.0.0.


    Die neueste Version des Wrappers behebt das Problem mit EPG-Daten auf DVB-S2 seit 1.7.40. Das Problem trat immer auf, wenn der Laufzeit-Kernel nicht mindestens DVB API 5.7 verstanden hat.


    Diese Version fragt die DVB API Version des Laufzeit-Kernels ab, und steuert die Funktionen entsprechend an, um Fehler durch noch nicht unterstützte Kommandos zu vermeiden. Gleichzeitig sind einige Code-Weichen im VDR-Quelltext, die auf der Version der DVB Header basierten, durch Laufzeit-Weichen ersetzt worden.


    Damit sollte VDR wieder auf allen DVB APIs von 5.0 aufwärts übersetzbar sein, und sämtliche Features stehen dann unter ausreichend aktuellen Laufzeit-Kerneln zur Verfügung.


    Download wie immer hier: http://www.udo-richter.de/vdr/patches.html#dvb-api-wrapper


    Gruß,


    Udo

Jetzt mitmachen!

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