<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">The pipeline state is changed step-by-step, “NULL” -> “READY” -> “PAUSED” -> “PLAYING”.</div>From my understanding, all sink elements need to be changed to “PAUSED” state then whole pipeline successfully changes to “PAUSED” state.<div class="">Normally a “sink” element needs to received one buffer (preroll) to go to “PAUSED” state.<br class=""><div class="">Now there is a “valve” in front of filesink (in your case).</div><div class="">The filesink never receives a buffer so it cannot go to “PAUSED” state.</div><div class="">As a result, the whole pipeline is waiting for filesink to change its state forever.</div><div class=""><br class=""></div><div class="">There are two options to overcome this situation.</div><div class=""><br class=""></div><div class="">1. Do not add filesink in the beginning.</div><div class="">Add filesink only when you want to save video to file and do not forget to not drop in valve.</div><div class=""><br class=""></div><div class="">2. Lock state of filesink by gst_element_set_locked_state(filesink, TRUE);</div><div class="">Then state of filesink is not sync with parent (pipeline).</div><div class="">And you need to change its state manually.</div><div class=""><br class=""></div><div class=""><br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">--</div><div class="">Yi-Lung (Bruce) Tsai</div><div class=""><a href="mailto:wagamama.tsai@gmail.com" class="">wagamama.tsai@gmail.com</a></div><div class=""><br class=""></div></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">
</div>
<br class=""><div><blockquote type="cite" class=""><div class="">On May 3, 2017, at 11:45 PM, xargon <<a href="mailto:daga_pankaj@yahoo.com" class="">daga_pankaj@yahoo.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">I am trying to use the `valve` plugin to basically block one branch of a<br class="">`tee` in a gstreamer pipeline but this is setting my whole pipeline to<br class="">`PAUSED`. So, what I am doing is basically saving H264 encoded video from my<br class="">camera stream and also displaying it on the screen at the same time.<br class=""><br class="">I try to use the `valve` plugin to block off a branch as follows;<br class=""><br class=""><br class=""><br class="">However, this basically seems to set the whole pipeline to PAUSED rather<br class="">than just the branch. I was still expecting to see the camera stream on the<br class="">display but that is not the case.<br class=""><br class=""><br class=""><br class=""><br class="">--<br class="">View this message in context: <a href="http://gstreamer-devel.966125.n4.nabble.com/Using-the-valve-plugin-correctly-in-a-gstreamer-pipeline-tp4682904.html" class="">http://gstreamer-devel.966125.n4.nabble.com/Using-the-valve-plugin-correctly-in-a-gstreamer-pipeline-tp4682904.html</a><br class="">Sent from the GStreamer-devel mailing list archive at <a href="http://nabble.com" class="">Nabble.com</a>.<br class="">_______________________________________________<br class="">gstreamer-devel mailing list<br class=""><a href="mailto:gstreamer-devel@lists.freedesktop.org" class="">gstreamer-devel@lists.freedesktop.org</a><br class="">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel<br class=""></div></div></blockquote></div><br class=""></div></div></body></html>