Ich komme nicht mehr weiter. Wahrscheinlich übersehe ich etwas Wesentliches.
Aktuelle Situation mit den Klassen:
- MyOSD : cControl.
- MyPlayer : cPlayer
Im Hauptmenu öffne ich MyOSD und es funktioniert, wie gewünscht. Nach einer Auswahl im OSD startet ein externer Player, der einen TS-Stream liefert. Ich will dabei das Bestands-OSD als Control weiterverwenden. Das VDR-Plugin macht auf Anforderung folgendes:
videoPlayer = new VideoPlayer();
myOsd->SetPlayer(videoPlayer);
auto c = cDevice::PrimaryDevice();
cControl::Launch(myOsd);
cControl::Attach();
Der externe Zuspieler liefert den TS-Stream, der mittels Player.PlayTS abgespielt wird.
Jetzt das Problem:
Das OSD ist da und funktioniert. Allerdings höre ich nur Audio, sehe aber kein Bild.
Schalte ich das Menu ein und wieder aus, dann habe ich Audio und Video, aber leider nicht mehr das richtige OSD.
Es scheint, als ob ein Schatten-OSD (ohne Anzeige, ganz schwarz) existiert, daß das Videobild überlagert. Aber dann müssten 2 OSD gleichzeitig dargestellt werden: Meines und das dunkle. Ob das überhaupt möglich ist, weiß ich nicht.
Im Moment bin ich etwas ratlos.