Broken graphics in a WPF window when using GStreamer

Ralph ralph.gucwa at racelogic.co.uk
Mon May 28 04:39:30 PDT 2012


I have written a few C# WPF applications using OSSBuild 0.10.7 Beta 4 (I've
tested 0.10.6 as well), I'm displaying the video using XOverlayAdapter and a
handle to a hosted WindowsForms control.  My pipeline contains gnonlin with
a few filesources, I'm using either dshowvideosink or d3dvideosink (the user
can choose his preferred one).


The problem:

Occasionally the window graphics get broken.  Either the entire content
becomes black (except the video rectangle), or a few large parts of the
window get black, or just a few controls get black.  That's a classic
graphics update problem.

It happens only after operations like starting playback, stopping playback,
seeking or loading a new file.  It practically always happens after starting
or stopping the playback for the first time, all subsequent play/stop
operations are usually performed without any problems (but that's not a
rule).

When the graphics gets broken, dragging the application window around the
screen or trying any sorts of invalidating displayed WPF controls
programmatically don't work, the only way of forcing the window to be
repainted is resizing it, minimizing and restoring, or hiding and showing. 
I've tried everything, but WPF does all the rendering autonomously by design
and there is no way I can force it to physically repaint the content of the
window.  The only solution that works is hiding the window and displaying it
again very quickly, but it is a nasty hack, very annoying for the user.

Has anyone experienced similar problems?  Any suggestions?


--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Broken-graphics-in-a-WPF-window-when-using-GStreamer-tp4655120.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list