Hi,<br><br>I&#39;ve got the following pipeline in my application:<br><br>source bin -&gt; tee -&gt; sink bin<br><br>Where the source bin is essentially: v4l2src -&gt; mpeg4_encoder<br>And the sink bin is: queue -&gt; filesink (with or without a muxer in between)
<br><br>The purpose of this app is to have a recorder, that upon receiving a command, records a few seconds of video and stops.<br>This alone should be pretty simple, however there are a few constraints:<br><br>1. The main pipeline should always be playing (otherwise i&#39;d just pause and play the whole thing each time).
<br>This is because the source bin can be connected to other sinks through the tee.<br><br>2. The sink bin should always be linked to the tee.<br>This is because I&#39;d like to be able to do the recording action from the context of the recorder module (sink bin), and not from the context
<br>of the main application.<br><br>My first idea was starting out with only a queue in the sink bin, and link it to the tee.<br>When a &#39;record&#39; command is given, create a filesink, link to the queue, and set the sink bin to playing.
<br>This partly works, but from time to time GStreamer can&#39;t complete the state change for the sink bin.<br><br>Is there any proper way to do this, under the above constraints?<br><br>Thanks,<br>Itay.<br><br>