Hi,<br><br>I've got the following pipeline in my application:<br><br>source bin -> tee -> sink bin<br><br>Where the source bin is essentially: v4l2src -> mpeg4_encoder<br>And the sink bin is: queue -> 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'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'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 'record' 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'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>