Connect two separate pipelines (not at the same time) to same HDMI output?

Maurer, Martin martin2.maurer at
Mon Aug 21 12:42:13 UTC 2017


I have two pipelines:
One to display a live stream on a monitor.
One to decompress a video file and display it on a monitor.

At the moment these are two separate programs.

Now I want to put them into the same program, displaying the output to the same monitor.
The program shall decide which pipeline to display on the monitor, never both at the same time.

I found different possibilities, but what are the differences/advantages/disadvantages?

a) Use two valves and a funnel
Can one pipeline be playing while the other is not playing or pipeline not even existing at all?
Or do I need to add a fakesrc to input of valve for each not existing pipeline?

b) Use an input selector
Can one pipeline be playing while the other is not playing?

c) Use two output selectors (one for each pipeline) and switch between fakesink and real output.
Does the monitor of one pipeline then get free to use for other pipeline or is it still busy?
Can I take away elements from a output selector which are not actively used? Or not so easily possible?

d) Stop and disable first pipeline completely to free "monitor element" and (when done) use "monitor element" in second pipeline.
Would it just be enough to pause or stop the first pipeline? Or do I need to unlink the pipeline to get the monitor element free to use in another pipeline?
Or is only one pipeline supported at all per program/executable/message loop?

Note: Would be good if same mechanism is working in Windows and Linux.

Best regards,


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gstreamer-devel mailing list