VIA VeXP-5.1 und xine-lib-0.9.2 Patch / Übersetzungsproblem

  • Hi,


    ich versuche grade xine-lib-0.9.2 xine-lib.patch in VeXP-5.1 reinzufrickeln (Hintergrund: Via EPIA EX15000 soll HDTV dekodieren). Der Gesamtpatch produziert 8 oder 9 Rejects, wenn man die vorsichtig von Hand nachzieht, kommt die Übersetzung schon ziemlich weit. An einer Stelle falle ich jetzt aber auf die Nase, wahrscheinlich weil VeXP-5.1 auf einer uralten xine-lib Version basiert. Ich habe es auch mit dem etwa zeitgleich erschienenen xine-lib-0.8.1 Patch versucht, aber da gibt es das gleiche Problem.



    Make-Output:


    Code
    combined_vdr.c:35: Fehler: expected »=«, »,«, »;«, »asm« or »__attribute__« before »EXPORTED«            
    make[3]: *** [combined_vdr.lo] Fehler 1                                                                                                                      
    make[3]: *** Warte auf noch nicht beendete Prozesse...


    Das ist schonmal schräg. Was genau will mir der gcc damit sagen? Was ist EXPORTED, und wo sollte das definiert sein? Die Quellcodezeile dazu sieht folgendermaßen aus:


    Code
    const plugin_info_t xine_plugin_info[] EXPORTED =
    {
      /* type       , API, "name"     , version          , special_info           , init_function */
      { PLUGIN_INPUT,  17, "VDR"      , XINE_VERSION_CODE, NULL                   , &vdr_input_init_plugin },
      { PLUGIN_POST ,   9, "vdr"      , XINE_VERSION_CODE, &vdr_video_special_info, &vdr_video_init_plugin },
      { PLUGIN_POST ,   9, "vdr_video", XINE_VERSION_CODE, &vdr_video_special_info, &vdr_video_init_plugin },
      { PLUGIN_POST ,   9, "vdr_audio", XINE_VERSION_CODE, &vdr_audio_special_info, &vdr_audio_init_plugin },
      { PLUGIN_NONE ,   0, ""         , 0                , NULL                   , NULL }
    };



    Weiter geht's in Make-Output:


    Code
    input_vdr.c: In Funktion »vdr_execute_rpc_command«:                                                                                                          
    input_vdr.c:498: Warnung: Implizite Deklaration der Funktion »_x_query_unprocessed_osd_events«                                                               
    input_vdr.c:498: Warnung: Geschachtelte extern-Deklaration von »_x_query_unprocessed_osd_events«                                                             
    input_vdr.c:719: Warnung: Implizite Deklaration der Funktion »_x_demux_seek«                                                                                 
    input_vdr.c:719: Warnung: Geschachtelte extern-Deklaration von »_x_demux_seek«                                                                               
    input_vdr.c:727: Warnung: Implizite Deklaration der Funktion »_x_trigger_relaxed_frame_drop_mode«


    OK, hier fehlen noch ein paar händisch nachgezogene Patches.


    Code
    input_vdr.c:727: Warnung: Geschachtelte extern-Deklaration von »_x_trigger_relaxed_frame_drop_mode«                                                          
    input_vdr.c:753: Warnung: Implizite Deklaration der Funktion »_x_reset_relaxed_frame_drop_mode«                                                              
    input_vdr.c:753: Warnung: Geschachtelte extern-Deklaration von »_x_reset_relaxed_frame_drop_mode«                                                            
    input_vdr.c:795: Fehler: »XINE_EVENT_VDR_SELECTAUDIO« nicht deklariert (erste Benutzung in dieser Funktion)


    Hier geht's los: Offenbar sind hier einige Variablen nicht definiert. Die XINE_EVENT_VDR_* bringt doch der Patch mit, aber wo sind die fehlenden?


    Code
    input_vdr.c:795: Fehler: (Jeder nicht deklarierte Bezeichner wird nur einmal aufgeführt                                                                      
    input_vdr.c:795: Fehler: für jede Funktion in der er auftritt.)                                                                                              
    input_vdr.c:817: Fehler: »XINE_EVENT_VDR_TRICKSPEEDMODE« nicht deklariert (erste Benutzung in dieser Funktion)                                               
    input_vdr.c:882: Warnung: Implizite Deklaration der Funktion »_x_query_buffer_usage«                                                                         
    input_vdr.c:882: Warnung: Geschachtelte extern-Deklaration von »_x_query_buffer_usage«                                                                       
    input_vdr.c:1082: Fehler: »xine_current_frame_data_t« nicht deklariert (erste Benutzung in dieser Funktion)                                                  
    input_vdr.c:1082: Fehler: expected »;« before »frame_data«


    Sieht nach Syntaxfehler aus.



    HELP!


    Code
    # gcc -v
    Es werden eingebaute Spezifikationen verwendet.
    Ziel: i486-linux-gnu
    Konfiguriert mit: ../src/configure -v --with-pkgversion='Ubuntu 4.3.3-5ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
    Thread-Modell: posix
    gcc-Version 4.3.3 (Ubuntu 4.3.3-5ubuntu4)


    Danke!



    Wenn das am Ende nicht tut, muss wohl eine eHD ran ... dann muss ich aber den oder die DVB-S2 Empfänger per USB anschließen (es gibt in dem vorgesehenen Gehäuse nur einen PCI Slot), und die sind lt. linuxtv.org/wiki alle nicht besonders gut oder gar nicht unterstützt. Da ist wohl die nächste Frickelei vorprogrammiert...

    VDR Server: ALiveDual-eSATA2; AMD Athlon X2 5050e; Ubuntu Lucid; 2x Technotrend TT S2-3600 (Astra), 1x TT S-2400 (Hotbird); VDR-1.7.17 & xineliboutput-1.0.7
    VDR Client: Zotac ION ITX_B (Atom N230), vdr-sfxe w/ VDPAU

    Einmal editiert, zuletzt von hmilz ()

  • verbleiben noch folgende Nickeligkeiten:



    Bei den XINE_EVENT_VDR_* kann man sicherlich in include/xine.h welche anfügen, aber bei den anderen bin ich mir nicht so sicher:


    • xine_current_frame_data_t (»frame_data« nicht deklariert ist da sicherlich nur ein Folgefehler)
    • XINE_FRAME_DATA_ALLOCATE_IMG
    • BUF_CONTROL_RESET_TRACK_MAP
    • _x_query_buffer_usage (die Funktion gibt es in VeXP offenbar gar nicht)
    • xine_get_current_frame_data (dto.)
    • _x_mrl_unescape (dto.)


    Die finden sich auch mit intensivem Greppen nicht.


    Und die Warnungen...



    Reinhard, vielleicht kannst Du Dir das mal anschauen ... Danke!

    VDR Server: ALiveDual-eSATA2; AMD Athlon X2 5050e; Ubuntu Lucid; 2x Technotrend TT S2-3600 (Astra), 1x TT S-2400 (Hotbird); VDR-1.7.17 & xineliboutput-1.0.7
    VDR Client: Zotac ION ITX_B (Atom N230), vdr-sfxe w/ VDPAU

Jetzt mitmachen!

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