Verfasst: 03.08.2009 14:28
>> Bisher sind diverse Abspielprogramme immer abgestürzt, wenn sie nicht einfach gemeldet haben, dass etwas nicht stimmt, um danach ihre Tätigkeit zu beenden.
Das Programm soll nebenher auch noch Diaprojektoren und anderen Kram steuern. Da kommt das nicht so gut.
>> Aber wozu den Videothread killen und neu starten, wenn die Datei doch sowieso reif für den Papierkorb ist? Wenn die Wiedergabe von vorne gestartet wird, wird alles wieder an derselben Stelle zu Grunde gehen.
Weil das Video nur ein Teil ist, danach geht es mit Bildern oder anderen Videos weiter.
Muss ich euch doch mal mit den Details behelligen: Ursächlich ist das Programm eine Steuersoftware für Geräte (Diaprojektoren und so) über RS232. Daneben - und nicht haupsächlich - soll es Audio- und Videodateien abspielen und Bilder einblenden können. Momentan nur auf einem Screen und aus dem Hauptprogramm heraus. Die Steuerung erfolgt anhand einer Liste, die abgearbeitet wird, sogenannte Timeline.
Jetzt soll das Programm erweitert werden, um auf mehreren Screens => mehreren Beamern ausgeben zu können. Also zwei Grakas, auf einer mit Monitor das Hauptprogramm mit Steueroberfläche. Auf der anderen zwei Ausgänge mit je einem Beamer zur Anzeige der Videos...
Eine Möglichkeit wäre noch, den WindowedScreen über beide Beamer zu ziehen und die Bildinhalte nebeneinander darzustellen. Aber aus Performance-Gründen wäre das die schlechteste Lösung.
>> wenn solltest du Sprite3D benutzen
Jo, hab schon. Es gibt die low-Hardware-Variante, wo nur Bilder und Videos angezeigt werden, mit Sprite und Video-Overlay, und es gibt die rechenintensive Variante, wo die GPU mit Sprite3D arbeitet und Überblenden, Zoomen und so Kram geht.
>> ganz so einfach ist es nicht, weil getrennte Prozesse nicht ohne weiteres auf Memory von anderen Prozessen zugreifen können
Also wieder API? Mist, und ich wollte mal von API wegkommen, um das auch portierbar zu haben.
Das Programm soll nebenher auch noch Diaprojektoren und anderen Kram steuern. Da kommt das nicht so gut.
>> Aber wozu den Videothread killen und neu starten, wenn die Datei doch sowieso reif für den Papierkorb ist? Wenn die Wiedergabe von vorne gestartet wird, wird alles wieder an derselben Stelle zu Grunde gehen.
Weil das Video nur ein Teil ist, danach geht es mit Bildern oder anderen Videos weiter.
Muss ich euch doch mal mit den Details behelligen: Ursächlich ist das Programm eine Steuersoftware für Geräte (Diaprojektoren und so) über RS232. Daneben - und nicht haupsächlich - soll es Audio- und Videodateien abspielen und Bilder einblenden können. Momentan nur auf einem Screen und aus dem Hauptprogramm heraus. Die Steuerung erfolgt anhand einer Liste, die abgearbeitet wird, sogenannte Timeline.
Jetzt soll das Programm erweitert werden, um auf mehreren Screens => mehreren Beamern ausgeben zu können. Also zwei Grakas, auf einer mit Monitor das Hauptprogramm mit Steueroberfläche. Auf der anderen zwei Ausgänge mit je einem Beamer zur Anzeige der Videos...
Eine Möglichkeit wäre noch, den WindowedScreen über beide Beamer zu ziehen und die Bildinhalte nebeneinander darzustellen. Aber aus Performance-Gründen wäre das die schlechteste Lösung.
>> wenn solltest du Sprite3D benutzen
Jo, hab schon. Es gibt die low-Hardware-Variante, wo nur Bilder und Videos angezeigt werden, mit Sprite und Video-Overlay, und es gibt die rechenintensive Variante, wo die GPU mit Sprite3D arbeitet und Überblenden, Zoomen und so Kram geht.
>> ganz so einfach ist es nicht, weil getrennte Prozesse nicht ohne weiteres auf Memory von anderen Prozessen zugreifen können
Also wieder API? Mist, und ich wollte mal von API wegkommen, um das auch portierbar zu haben.