In theory, I think it should be easy just to change the "channel" property
or "file_playback_channel" while
playing, or at most you just need to stop or pause the third pipeline.
Probably care should be taken, the first and the second pipelines to output exactly the same format
About which one is the best- the best one is the easiest to try first :)
From: gstreamer-devel <[hidden email]> on behalf of Maurer, Martin <[hidden email]> Sent: Monday, August 21, 2017 1:42 PM To:[hidden email] Subject: Connect two separate pipelines (not at the same time) to same HDMI output?
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.
But there is no parameter async in both of them? Do you mean one of sync-mode or sync-streams?
Von: gstreamer-devel [mailto:[hidden email]] Im Auftrag von Baby Octopus
Gesendet: Montag, 21. August 2017 16:23
An: [hidden email] Betreff: Re: Connect two separate pipelines (not at the same time) to same HDMI output?
Using output-selector would be more apt. That is precisely what it is meant for. You just need to set async=1 appropriately so that unconnected sync wont choke the pipeline to start with