xineliboutput cvs version edit: probleme mit dem vidWin in yaepghd

  • ich dachte mir gerade (angestachelt von der c't diskussion) ich teste mal wieder eine aktuelle version,
    ganz ohne irgendwelche patches.


    vorab ... endlich läuft hier rewind/fastforward in den aufnahmen wieder ohne probleme !!! (bisher)
    auch die umschaltzeiten ..... nicht bemerkbar, ausser nach hd-sendern, da dauert es etwas länger :unsch


    jetzt zur "frage":
    soll die videofenster funktion für yaepghd schon funktionieren ? muss man dazu irgendwas "aktivieren"?
    oder geht es einfach noch nicht ?
    laut hier:
    http://projects.vdr-developer.…f819fe95e02c1c44a6a1e770f


    ist es ja "drin" ?


    edit:
    was soll das hier bedeuten ?: (PIP)
    http://projects.vdr-developer.…0f14abfcc7e8a7399bc1df7ba

  • holgers: das hier dürfte das Problem sein

    Code
    #ifdef YAEPGHDVERSNUM


    Das muss beim Bau von xineliboutput auf irgendwas definiert sein.


    Versuch mal im debian/rules File

    Code
    DEFINES="-DYAEPGHDVERSNUM"

    zu den MAKE_OPTIONS hinzuzufügen und sieh dann mal nach ob bei den Compile-Anweisungen dann "-DYAEPGHDVERSNUM" auftaucht. Dann brauchst du nichts patchen.


    [edit]Tippfehler![/edit]


    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

    2 Mal editiert, zuletzt von gda ()

  • jop, du hast recht, damit geht es ... aber damit kommt das hier :


    Code
    g++ -g -Wall -Woverloaded-virtual -Wno-parentheses -O2 -fPIC -c -DYAEPGHDVERSNUM -I/usr/include/dvb-s2api-liplianin -I/usr/include/vdr/include  -o config.o config.c
    config.c:164: error: expected ‘}’ before ‘PLUGIN_NAME_I18N’
    config.c:164: error: expected ‘,’ or ‘;’ before ‘PLUGIN_NAME_I18N’
    config.c:169: error: expected declaration before ‘}’ token
    make[1]: *** [config.o] Fehler 1


    ohne -DEFINE kompiliert es ohne probleme



    config.c an der betr. stelle sieht so aus :


    Code
    const char * const config_t::s_frontend_files[ FRONTEND_count+1 ] = {
      "lib" PLUGIN_NAME_I18N "-sxfe.so." XINELIBOUTPUT_VERSION,
      "lib" PLUGIN_NAME_I18N "-fbfe.so." XINELIBOUTPUT_VERSION,
      // example: libxineliboutput-sxfe.so.0.4.0
      "",
      NULL
    };
  • Zitat

    Original von hotzenplotz5
    jop, du hast recht, damit geht es ... aber damit kommt das hier :


    Code
    g++ -g -Wall -Woverloaded-virtual -Wno-parentheses -O2 -fPIC -c -DYAEPGHDVERSNUM -I/usr/include/dvb-s2api-liplianin -I/usr/include/vdr/include  -o config.o config.c
    config.c:164: error: expected ‘}’ before ‘PLUGIN_NAME_I18N’
    config.c:164: error: expected ‘,’ or ‘;’ before ‘PLUGIN_NAME_I18N’
    config.c:169: error: expected declaration before ‘}’ token
    make[1]: *** [config.o] Fehler 1


    ohne -DEFINE kompiliert es ohne probleme


    Okay, er überschreibt das DEFINES im Makefile anstatt es dranzuhängen. Mach alles rückgängig und Patche das DEFINES im Makefile. Einfach hinten dran hängen.


    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

  • habt ihr das nicht im eurem extp schon drin?


    Code
    +#ifdef USE_YAEPG
    +#define YAEPGHDVERSNUM 1
    +#endif /* YAEPG */


    hab hier gerade nur nen VDR-1.7.14 mit extp....


    das kleine *video window* funzt auf jeden Fall jetzt auch in xineliboutput


    Gruß
    Tomas

  • Zitat

    Original von tomas
    habt ihr das nicht im eurem extp schon drin?


    Code
    +#ifdef USE_YAEPG
    +#define YAEPGHDVERSNUM 1
    +#endif /* YAEPG */


    hab hier gerade nur nen VDR-1.7.14 mit extp....


    Wir haben keinen extp mehr, ist für Entwickler eine Qual. Einzelne Patches gerade zusammen mit dpatch sind für Debian-Maintainer wesentlich angenehmer. Wir haben jetzt multipatch mit Erweiterungen.
    Ich weiß auch nicht, ob es sich lohnt für einen Define, den der VDR offensichtlich gar nicht braucht, neue vdr-Pakete zu bauen, dann doch lieber das Plugin patchen, das den Define benutzt.


    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

  • verdammt... ich komm da nicht weiter ...


    warum gibt es da keinen "schalter" wie im xine-plugin ?


    seisdrum das hier bringt leider nichts :

    Code
    DEFINES   += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' \
                 -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \
    	     -DXINELIBOUTPUT_VERSION='"$(VERSION)"' \
                 -DYAEPGHDVERSNUM=1


    nur -DYAEPGHDVERSNUM hat auch nichts gebracht.


    grml ich bin doch nur krankenpfleger, die kennen sich doch nicht mit makefiles aus......
    schade, das es fast schon pflicht ist den extpatch zu nehmen. dabei läuft VDPAU auch ohne extpatch ohne probleme :unsch

  • worin liegt denn dein Problem?


    kompiliert xineliboutput damit auch nicht durch oder wird das Define nicht angenommen?


    bei vdr-xine wirds eigentlich genauso gemacht, eher komplizierter bzw in zwei Schritten und ner eigenen DEFINES-Zeile:


    Code
    # enable to fully support yaepg plugin
    VDR_XINE_SET_VIDEO_WINDOW = 1
    ......
    ......
    ifdef VDR_XINE_SET_VIDEO_WINDOW
    DEFINES += -DSET_VIDEO_WINDOW
    endif



    Gruß
    Tomas

  • scheinbar wird das define angenommen, und kompiliert durch.
    leider bleibt das videofenster wie es war, nur ein kleiner ausschnitt :(


    mein letzter versuch (ich hab wirklich null ahnung von makefiles)
    debian/rules :


    Code
    MAKE_OPTIONS = DVBDIR=/usr VDRDIR=/usr/include/vdr LIBDIR=. \
                   LOCALEDIR=debian/tmp/usr/share/locale \
                   NOSIGNAL_IMAGE_FILE=/usr/share/libxine1-xvdr/nosignal.mpg \
                   HAVE_DBUS_GLIB_1=yes \
    	       DEFINE+=-DYAEPGHDVERSNUM


    und zusätzlich im plugin-makefile :


    Code
    DEFINES   += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' \
                 -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \
    	     -DXINELIBOUTPUT_VERSION='"$(VERSION)"' \
    	     -DYAEPGHDVERSNUM


    wie gesagt, es kompliert auch ohne probleme, aber videofenster nur als ausschnitt. mit xine geht es.

  • beim Kompilieren wirds angezeigt?



    Code
    -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DXINELIBOUTPUT_VERSION='"1.0.90-cvs"' -DYAEPGHDVERSNUM .....



    vielleicht probierts du auch erst mal die brutale Methode direkt in osd.c 284ff:




    Code
    //#ifdef YAEPGHDVERSNUM
      if (vidWin.bpp)
        CmdVideoWindow(vidWin.x1, vidWin.y1, vidWin.Width(), vidWin.Height());
    //#endif


    vielleicht passt ja sonst was nicht .......


    btw ich habs sicherheitshalber nochmal mit xineliboutput laufen lassen, nicht, dass ich da vdr-xine am Laufen hatte.... ;)



    Gruß
    Tomas

  • damit wurde vdr-1.7.14 gepatcht :




    vielleicht liegt ja da der hund begraben .... aber wie gesagt, mit dem xine-plugin geht es

  • versuche gerade etwas an dem Code vom VDR durchzublicken
    was ich dir zumindest schon sagen kann ist dass die Files die "dein" Patch anfasst seit VDR 1.7.13 zumindest nicht geändert wurde (habe dazu denn diff von 1.7.13 nach 1.7.14 durchsucht)


    mfg

  • aelo wie gesagt, mit dem xine-plugin geht es .... ob es nötig ist, dass schon vdr damit übersetzt wird :


    Code
    +#ifdef USE_YAEPG
    +#define YAEPGHDVERSNUM 1
    +#endif /* YAEPG */


    ?
    kann ja nicht sein ??


    ich vertrau da gerald (wo bist du) ... der entfernt irgendwo ein "," und danach läuft alles wie es soll :unsch

  • die drei Zeilen brauchst du beim vdr kompilieren nicht, die sind ja nur dazu da dass der Compiler weiß dass er die betreffenden Zeilen, im xineliboutput plugin, die mit #ifdef YAEPGHDVERSNUM ... #endif gekennzeichnet sind, mitkompilieren muss


    hehe :) jep, Gerald hat das sicher sofort :)


    mfg

Jetzt mitmachen!

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