Wieviele OSDs gibt es denn da gleichzeitig?
"Womit" flackert es denn?
Wenn ich Zeit hab schau ichs mir auch nal an, aber das muss lösbar sein...
Der VideoPlayer besteht aus dem Player einem cWebOSDPage als Control, der für das Player-OSD zuständig ist.
Alte Version:
Da wurde das Menu-OSD cWebOSDPage nicht richtig geschlossen und existierte weiterhin, auch wenn ein Video abgespielt wurde. Ein Schliessen des Menu-OSD führte zu segfaults, die auch hier im Thread erwähnt wurden.
Im Prinzip gab es 2 Instanzen von cWebOSDPage (Menu + PlayerControl).
Neue Version:
Das Menu-OSD wird tatsächlich und in echt geschlossen, wenn ein VideoPlayer mit einem cWebOSDPage als Control geöffnet wird. Damit gibt es nur eine eine Instanz von cWebOSDPage.
Jetzt kommt die Lautstärkeregelung ins Spiel. In der alten Version wurde nichts angezeigt, weil schon ein Menu-OSD existierte. In der neuen Version hingegegen gibt es kein Menu-OSD und die Regelung vom VDR wird angezeigt.
Und damit gibt es eine Kollision, die gerade bei der Tagesschau besonders sichtbar ist, weil der Bereich, der vom Browser permanent aktualisiert wird (Laufschrift) mit der Lautstärke-Anzeige vom VDR uberlappen.
Die Lautstärke-Anzeige scheint ein Fullscreen-OSD zu sein und damit wechseln sich Lautstärke und Update des Browsers permanent ab. Die Anzeige wechselt von "schwarzer Hintergrund + Lautstärke" mit "Browser-OSD". Und das ergibt das Flackern.
Deshalb hatte ich es mit den Layern im Plugin probiert, weil ich dachte, Layer 0 ganz unten und darauf dann die Lautstärke, aber das Result war ein nahezu schwarzer Bildschirm mit verkleinertem Video, aber funktionierender Lautstärke-Anzeige.
Ab Layer 1 entsteht wieder das Flackern.
Aktuell habe ich shady_kiss von skindesigner als Skin.
Ich weiß gar nicht, wie ich die Lautstärke "abfangen" und als Image in das Browser-OSD integrieren kann. In einem meiner Prototypen (https://github.com/Zabrimus/vdr-plugin-webout) habe ich ein Device geschrieben um an das OSD als Bild zu kommen, aber das ist hier keine Lösung. Ein temp. Skin klingt auch nicht wirklich überzeugend.