HD Extension: osdpip

  • Leider lässt es sich nicht mehr übersetzten... :(


  • Zitat

    Original von real_schorsch
    Das kommt aus dem filebrowser-PI. Lässt sich halt nicht immer alles so einfach trennen...


    Aha...,


    und was bedeudet das? :schiel


    Ich habe mal den entsprechenden Teil in der osd.c auskomentiert.


    Übersetzen lässt es sich zwar dann, aber ich weis nicht, ob das noch andere Auswirkungen hat...



    Code
    ....
    //bool cOsdPipObject::PicturePlayerIsActive()
    //{
    //    FileBrowserPicPlayerInfo info;
    //    cPluginManager::CallAllServices("Filebrowser get pictureplayer info", &info);
    //    return info.active;
    //}
    ....

  • wie man hier sieht muss das filebrowser plugin im selben verz. liegen wie das osdpip plugin und es muss vermutlich das (aktuelle) 0.33 sein


    wenn das der fall ist sieht es so aus (zumindest bei mir) und da kommt eine rmm spezifische vdr erweiterung ins spiel, da müsste man sich im rmm-vdr quelltext umsehen


    Code
    g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -fPIC -c -DUSE_DVLFRIENDLYFNAMES -DUSE_GRAPHTFT -D_GNU_SOURCE -D_LARGEFILE_SOURCE -DPLUGIN_NAME='"osdpip"' -DPLUGIN_NAME_I18N='"osdpip"' -I/usr/src/v4l-dvb/linux/include -I../../../include -I/usr/src/v4l-dvb/linux/include -o osdpip.o osdpip.c
    osdpip.c: In member function ‘virtual cOsdObject* cPluginOsdpip::MainMenuAction()’:
    osdpip.c:106: error: ‘class cSetup’ has no member named ‘CurrentPipChannel’
    osdpip.c:107: error: ‘class cSetup’ has no member named ‘CurrentPipChannel’
    osdpip.c:108: error: ‘class cSetup’ has no member named ‘CurrentPipChannel’
    osdpip.c:120: error: no matching function for call to ‘cDevice::GetDevice(const cChannel*&, int)’
    ../../../include/vdr/device.h:139: note: candidates are: static cDevice* cDevice::GetDevice(int)
    ../../../include/vdr/device.h:143: note: static cDevice* cDevice::GetDevice(const cChannel*, int, bool)
    make: *** [osdpip.o] Fehler 1
  • Nun, ich spreche leider kein "C"., ich hatte halt versucht es so zu beheben....


    Mit:" kommentier nur den Kram *in* der Funktion aus und baue ein "return 0;" ein.", fange ich nichts an, sorry.... :(

  • Hallo C-3PO,


    na, wenn man sich deinen Code-Schnipsel ansieht, ist es doch eigentlich klar, was gemeint ist.

    Code
    ....
    //bool cOsdPipObject::PicturePlayerIsActive()
    //{
    //    FileBrowserPicPlayerInfo info;
    //    cPluginManager::CallAllServices("Filebrowser get pictureplayer info", &info);
    //    return info.active;
    //}
    ....

    Du sollst nun daraus folgendes machen

    Code
    ....
    bool cOsdPipObject::PicturePlayerIsActive()
    {
    //    FileBrowserPicPlayerInfo info;
    //    cPluginManager::CallAllServices("Filebrowser get pictureplayer info", &info);
    //    return info.active;
         return 0; // ein false müsste aber auch tun :)
    }
    ....


    Alles klar?

    Gruss Björn.


    SilverGreen-Skin

  • Überstetzen lässt es sich so, allerdings schmiert der VDR mit folgender Meldung ab, wenn man das Plugin aufruft:


    Code
    Mar 13 21:49:12 [kernel] vdr[13494]: segfault at 0 ip b5891f13 sp bf97ded0 error 4 in libvdr-osdpip.so.1.7.0[b5888000+d000]
  • Hmm, muss dann aber ne andere Stelle sein.


    [Edit]
    Hast Du es auch schon mit dem "return false;" statt "return 0;" probiert?
    Nur um sicher zu gehen.

    Gruss Björn.


    SilverGreen-Skin

    Einmal editiert, zuletzt von Björn ()

  • hi,


    @C-3PO
    ich kann garnicht verstehen das nicht mehr fehler beim compilieren kommen
    bei mir stimmt irgendwie nicht die cDevice class die in der device.h steht überein
    so das z.b. das
    dev = cDevice::GetDevice(chan, 1);
    aus er osdpip.c schon nicht funktioniert
    das ging dann dev = cDevice::GetDevice(chan, 1, true);
    aber dann kommen jede menge andere problme (u.a. auch weil teile des pin plugins/patch im rmm-vdr stecken)


    oder fehlende tastendefinitionen (Greater, Less) die es im normalen vdr nicht gibt (keys.c/h)


    bist du sicher das die richtigen includes bei dir verwendet werden?

  • @ IG88,


    ich habe es nochmal übersetzt.


    Hier ist das Log dazu:



  • hi,
    > ../../../include/vdr/reelboxbase.h:29: Warnung: »class cReelBoxBase« hat virtuelle
    > Funktionen aber nicht-virtuellen Destruktor


    reelboxbase.h das ist kein bestandteil des normalen rmm-vdr patches
    daraus ergeben sich 2 dinge:
    @me
    - ich habe vergessen die patches am anfang des treads einzufügen
    @C-3PO
    - die in dem patch enthaltene reelboxbase.c/h sind zu alt und müssen aus dem aktuellen svn einkopiert werden


    mal sehen wie mit den patches weiter geht

  • hi,


    ein paar zeilen zum patch
    - das kernelmodul der eHD muss mit dem parameter "has_fb=1" aufgerufen werden, danach muss es ein zusätzliches fb device geben, wenn man das erst nach dem systemstart macht weis man genau welches es ist, das mit der höchsten nummer
    - er setzt einen rmm gepatchten vdr 1.7.0 voraus
    - bei mir ist das framebuffer device der eHD /dev/fb1 (0 ist die graka für graphtft), kann je nach koniguration abweichen, leider ist das hard gecoded so das man es im patch vor dem ausführen oder nach dem patchen im quelltext des des reelbox plugins anpassen muss
    "/dev/fb" in folgenden dateien anpassen (reelbox plugin)
    VideoPlayerPipHd.c
    HdFbTrueColorOsd.c

Jetzt mitmachen!

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