Best way to implement full screen video?

Ralph ralph.gucwa at racelogic.co.uk
Mon Feb 2 03:20:59 PST 2015


What is the best way to implement full screen video feature?  I had it
working with an old C# WPF application using GStreamer 0.10, but GStreamer
1.4.5 behaves so differently the old solution doesn't work at all.


The requested functionality is:

1. A C# WPF window displays the video in a rectangle using a
VideoOverlayAdapter and a WindowsForms control providing a handle.

2. If I doubleclik the video (or press a shortcut, etc.) a full screen video
window will be displayed on another screen and the main application window
will still display the small video box.

3. If I doubleclick the full screen video (or execute another allowed
action) the full screen window will be closed.

4. Everything should work for both Paused and Playing states.


My current implementation is:

1. Create elements, add to pipeline and link:
source - tee - queue1 - videosink1

2. Use VideoOverlayAdapter to display the video in a small box

3. Play, seek and pause the video as necessary

4. When the user doubleclicks the video:
- create a full screen window hosting a WindowsForms control
- create queue2 and videosink2
- use VideoOverlayAdapter to associate videosink2 with the full screen
control
- add queue2 and videosink2 to the pipeline
- sync states of queue2 and videosink2 by calling SyncStateWithParent() on
both of them
- link queue2 with videosink2 and tee's request pad "src_2" with the
queue2's sink pad


This solution works when the video is playing, but when the video is paused
a blank full screen control is displayed and I can't play the pipeline.

What am I doing wrong?




--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Best-way-to-implement-full-screen-video-tp4670543.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list