softhddevice mit High Level OSD

  • Zu früh gefreut!


    - OSDTeletext zeigt nun nichts mehr an.
    - Skinflatplus hat Darstellungsfehler bei der Wiedergabe:
    [Blockierte Grafik: https://dl.dropboxusercontent.com/u/1490505/VDR/skinflatplus/Grab/replayline.jpg]
    Markierung 1 - Das kleine Kästchen ist die aktuelle Position. Davor die gelbe Linie ist ok. Aber danach (rechts davon) müsste es so aussehen wie bei Markierung 3
    Markierung 2 - Die gelbe Linie (Die eigentlich bei 1 enden müsste) übermalt alles auf Ihren Weg. Die dickeren (Werbefrei) Balken sind eigentlich in Grau und werden Gelb, wenn die Abspielmarke vorbei ist.


    Edit:
    So sieht das aus, wenn ich mit OPENGLOSD = 0 baue:
    [Blockierte Grafik: https://dl.dropboxusercontent.com/u/1490505/VDR/skinflatplus/Grab/replaylineok.jpg]

  • Moin,


    zum teletext problem siehe hier.


    Warum die Progressbar bei der Wiedergabe mit dem Highlevel OSD falsch dargestellt wird, kann ich aus der Ferne erst mal nicht sagen. Verdacht ins Blaus: Kann es sein, dass die Layer der Pixmaps nicht sauber definiert sind? Haben zwei Pixmaps gleiche Layer, ist es Zufall, welche sichtbar ist. Das "normale" OSD ist da wohl ein bisschen toleranter ;)


    Ciao Louis

  • Also ich habe mal auf die schnelle rübergeschaut und ich habe 2 Pixmaps, eine für den Background eine für den Vordergrund. Background hat Layer 2 und Foreground hat Layer 3.
    Also da sehe ich auf die schnelle nicht was da falsch sein soll.


    Ich habe es nur oberflächlich verfolgt mit dem High Level OSD. Wenn es nicht zu aufwendig ist dies zu installieren, würde ich das ganze noch mal testen. Habe aber derzeit keine Zeit mich Stunden mit einer Installation abzugeben. In letzter Zeit habe ich bei softhddevice sowieso nicht mehr durchgesehen was der aktuelle Stand ist bei den ganzen Patchen hier im Forum und hab wahrscheinlich noch eine Version die 1oder 2 Jahre alt ist :)


    Grüße
    Martin

  • _Martin_
    Der Installationsaufwand hielt sich bei mir in Grenzen... Ich musste nur "media-libs/glm" Installieren und schon lief das Bauen den neuen SHD durch...

  • Hi Martin,

    Ich habe es nur oberflächlich verfolgt mit dem High Level OSD. Wenn es nicht zu aufwendig ist dies zu installieren, würde ich das ganze noch mal testen. Habe aber derzeit keine Zeit mich Stunden mit einer Installation abzugeben. In letzter Zeit habe ich bei softhddevice sowieso nicht mehr durchgesehen was der aktuelle Stand ist bei den ganzen Patchen hier im Forum und hab wahrscheinlich noch eine Version die 1oder 2 Jahre alt ist


    mein Fork basiert auf dem aktuellen SHD Git Stand. Wie Megavolt schon schrieb, "media-libs/glm" muss installiert werden und freeglut (falls nicht vorhanden). Dann sollte das eigentlich fluppen...


    Keine Ahnung, ob da bei mir noch ein Bug ist oder in deinem Skin eine Ungenauigkeit. Bei den ganzen Skindesigner Skins und LCARS passt eigentlich alles, deshalb würde ich mich irgendwie wundern, wenn noch ein genereller Bug in der Art der Ausgabe wäre. Deshalb die Vermutung mit den Layern der Pixmaps. Wäre schon prima, wenn du dir das mal anschauen könntest ;)


    Ciao Louis

  • Ich würde mir das am Wochenende mal anschauen wenn ich dazu komme, ich frag dann nochmal MegaV0lt oder hier nach wo ich den git stand herbekomme.
    Das mit Debug-Ausgaben zu finden wird glaub ich ganz schön schwierig, da werde ich denke schon selbst ran müssen :mua

  • Hier:

    Wie gesagt hat sonst hier unter Gen2VDR nur noch glm gefehlt


  • Das OpenGL OSD rendert jegliche Ausgabe direkt über OpenGL Befehle "in der GPU" und sollte mit allen verfügbaren Skins zusammenarbeiten. Bei Benutzung eines Skindesigner Skins werden Grafiken (entsprechend den Einstellungen im Skindesigner Setup) beim Starten des Skins bzw. beim ersten Laden der Grafik im GPU Speicher gecacht.s


    Wo bzw. wie wird der GPU speicher geholt? Ich finde es einfach nicht.
    Danke und Gruß
    Andreas

  • Wo bzw. wie wird der GPU speicher geholt? Ich finde es einfach nicht.


    Über die VDR OSD API über "int cSoftOsdProvider::StoreImageData(const cImage &Image)" und "void cSoftOsdProvider::DropImageData(int ImageHandle)", siehe hier, da überschreibe ich diese Funktionen im SHD Osd Provider.


    Ciao Louis

  • Copperhead hat das OpenGLOSD mit aufgenommen, wenn ich per Keymacro das Zappilot Plugin aufrufen möchte raucht der VDR ab, per Aufruf über das Hauptmenü funktioniert es. Ist vom Skindesigner unabhängig, raucht auch mit LCARS ab.

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Moin,

    Copperhead hat das OpenGLOSD mit aufgenommen, wenn ich per Keymacro das Zappilot Plugin aufrufen möchte raucht der VDR ab, per Aufruf über das Hauptmenü funktioniert es. Ist vom Skindesigner unabhängig, raucht auch mit LCARS ab.


    Hast du mal nen Coredump?


    Ciao Louis

  • So ich habe mich mal rangesetzt aber leider komme ich schon nicht mehr weiter.
    Ich habe das git-repo welches MegaV0lt gepostet hatte genommen, musste noch einige Pakete installieren und dann lief alles durch. Softhddevice läuft soweit auch also ich sehe TV-Bild, aber ich erhalte kein OSD. Also wirklich überhaupt keins.
    Im Log kann ich auch nichts erkennen (siehe das log nachher).
    Noch kurz zu meinem Setup. In der Entwicklung nutze ich Ubuntu. Es ist ein Vanilla vdr ohne patches und folgenden Plugins


    Code
    vdr (2.1.8/2.1.8) - The Video Disk Recorder
    epgsearch (1.0.1.beta5) - search the EPG for repeats and more
    skinflatplus (0.5.1) - skin flatplus
    softhddevice (0.6.1rc1-GITbf608ab) - A software and GPU emulated HD device
    streamdev-client (0.6.1-git) - VTP Streaming Client


    Hier das debug-log


    louis kannst du damit etwas anfangen?


    Grüße
    Martin

  • In der Entwicklung nutze ich Ubuntu

    Welche Version? Hast du libav oder ffmpeg (libav ist unter der 14.04 (und vermutlich auch in späteren Releases) ziemlich problematisch, mit Ubuntu 16.04 bekommst du ffmpeg 2.8).

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Also ich nutze folgendes setup (wenn das ausreicht)



    Und wie gesagt, mit dem "normalen" softhddevice funktioniert ja alles und ich habe ja gefragt was ich alles einrichten muss, und ich glaube ich musste libglew-dev und freeglut3-dev installieren um die softhddevice von louis zu kompilieren.


    Grüße
    Martin

  • Hi Martin,


    generell schaut dein Log ganz gut aus, das OpenGL OSD startet korrekt:


    Code
    Feb 29 09:28:00 manu vdr: [6007] oglThread thread started (pid=5968, tid=6007, prio=high)
    Feb 29 09:28:00 manu vdr: [6007] [softhddev]OpenGL using display :0.0
    Feb 29 09:28:00 manu vdr: [6007] [softhddev]OpenGL Context initialized
    Feb 29 09:28:00 manu vdr: [6007] [softhddev]Shaders initialized
    Feb 29 09:28:00 manu vdr: [6007] [softhddev]vdpau interop initialized
    Feb 29 09:28:00 manu vdr: [6007] [softhddev]Vertex buffers initialized
    Feb 29 09:28:00 manu vdr: [6007] [softhddev]Maximum Pixmap size: 16384x16384px
    Feb 29 09:28:00 manu vdr: [5968] [softhddev]OpenGL Worker Thread successfully started
    Feb 29 09:28:00 manu vdr: [5968] [softhddev]cOglOsd osdLeft 0 osdTop 0 screenWidth 1920 screenHeight 1080


    Das jedoch ist dann wohl nicht mehr gut:


    Code
    Feb 29 09:28:00 manu vdr: [5968] skinflatplus: create osd SUCCESS left: 0 top: 0 width: 1920 height: 1080
    Feb 29 09:28:00 manu vdr: [5968] ERROR: attempt to open OSD while it is already open - using dummy OSD!


    Keine Ahnung was da schief läuft. Haste mal mit LCARS als Skin getestet?


    Ciao Louis

  • Hmm das ist bei mir glaub ich normal, diese Meldung habe ich am Anfang immer auch mit dem "normalen" softhddevice, ka was das ist ob das wegen streamdev noch ist oder so. Aber auf jeden Fall funktioniert es.
    Ich habe in der setup.conf auf lcars gestellt leider selbes Ergebnis ...

  • Solche Meldungen habe ich auch. Aber nur beim Start vom VDR. Hat keine sichtbare Auswirkungen! Auszug eines älteren Logs, da der VDR gerade aus ist:

  • Ohne skinflatplus hab ich die Meldung nicht, mit skinflatplus stürzt der vdr beim Starten ab.

    Code
    (gdb) bt
    #0  0x00007f4d29598c6a in cFlatBaseRender::TopBarCreate (this=this@entry=0x7fffd5e17820) at baserender.c:136
    #1  0x00007f4d295d2f0a in cFlatDisplayMenu::cFlatDisplayMenu (this=0x7fffd5e177b0) at displaymenu.c:30
    #2  0x00007f4d29590fe6 in cImageCache::PreLoadImage (this=this@entry=0x7f4d297f3ee0 <imgCache>) at imagecache.c:71
    #3  0x00007f4d295dd51c in cPluginFlat::Start (this=0x14f3220) at skinflatplus.c:92
    #4  0x00000000004dca95 in cPluginManager::StartPlugins (this=this@entry=0x7fffd5e180c0) at plugin.c:381
    #5  0x000000000046fcb7 in main (argc=<optimized out>, argv=<optimized out>) at vdr.c:852


    Wird da während des Starts schon irgendwie was mit dem OSD gemacht? Den Provider gibt es da noch nicht (softhddevice wird erst anschließend und außerdem detached gestartet).


    Ich hab da momentan leider weder Zeit noch Ahnung (von skinflatplus). Ich vermute aber, dass da irgendwas bei Start gemacht wird, was dort evtl. noch nicht getan werden darf.


    Lars.

Jetzt mitmachen!

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