multiple custom bins being dynamically reconfigured

cleojones cleo_jones7 at yahoo.com
Tue Sep 13 11:39:02 PDT 2011


I am streaming FROM an icecast server (and also sometimes playing local
files) using playbin2, with a custom [audioconvert ! levels ! autoaudiosink]
bin as the audio-sink.

Meanwhile, I am (in a separate pipeline right now) broadcasting microphone
input TO the icecast server using a [autoaudiosrc ! audioconvert ! levels !
lame ! shout2send] pipeline.

I would like to allow the user to switch between broadcasting microphone,
and broadcasting the audio coming out of playbin2, but I am not sure what
the right approach is.

Currently, I've set audio-sink of playbin2 to be a 'tee' element, and have
created 2 custom bins:
 [queue2 ! audioconvert ! levels ! autoaudiosink]   this is the outbin (for
hearing audio)
 [queue2 ! autoaudiosrc ! audioconvert ! levels ! lame ! shout2send]  this
is the broadcastbin (for broadcasting)
Each bin already has a created ghost pad "sink" ready to connect to the tee.

My question is, do I need to add playbin2, outbin and broadcast bin to
another top-level bin and run as single pipeline? Or can I keep them all
separate and set each one to PLAY, NULL, etc?

This is just the first step to test using the tee. Eventually, what I would
like is that broadcastbin is always running, but dynamically switches from
having its sink connected to playbin2, or to autoaudiosrc (microphone),
without dropping the connection to the server (so the stream should be
continuous even when the input changes). Is this possible?

Does this seem like the right approach, and can anyone help with the details
of how to dynamically reconfigure the connections between all of these
streams? Any advice much appreciated!

--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/multiple-custom-bins-being-dynamically-reconfigured-tp3810833p3810833.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list