<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jan 21, 2017 at 12:11 PM, Potoman <span dir="ltr"><<a href="mailto:lepotoman@msn.com" target="_blank">lepotoman@msn.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I would like to start 4 pipeline like that :<br>
<br>
udpsrc ! rtph264depay ! decodebin ! videconvert ! appsink<br>
<br>
*I would like to know if it's a good practice to launch this pipeline 4<br>
times in one call of gst_parse_launch ?*<br>
<br>
And use gst_get_element_by_name (sorry, I don't remember exactly the<br>
function name) to retrieve all the appsink.<br>
<br>
The code line look like :<br>
<br>
gst_parse_launch("udpsrc ! rtph264depay ! decodebin ! videconvert ! appsink<br>
name=app0 udpsrc ! rtph264depay ! decodebin ! videconvert ! appsink<br>
name=app1 udpsrc ! rtph264depay ! decodebin ! videconvert ! appsink<br>
name=app0 udpsrc ! rtph264depay ! decodebin ! videconvert ! appsink<br>
name=app2 udpsrc ! rtph264depay ! decodebin ! videconvert ! appsink<br>
name=app0 udpsrc ! rtph264depay ! decodebin ! videconvert ! appsink<br>
name=app3"); <br></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
I ask this question cause I wonder if one of the udpsrc doesn't received any<br>
data from ip/port can affect streaming of the other udpsrc.<br></blockquote><div><br></div><div>Elements in the same GstPipeline will share a single GstClock. Meaning they will synchronize against the same clock and their playback will be in sync. If one udpsrc doesn't receive data for a while, the clock will keep moving forward as usual and that data (from that udpsrc) might be too late to be played once it is received (the same would be true with a single udpsrc per pipeline). If you need playback to be in sync, you should use a single pipeline.<br><br></div><div>Side note: You can use an element to do buffering and post buffering messages (queue2) to notify you if one of those udpsrc isn't receiving data fast enough so you can pause the pipeline and stop the clock. This can also make other udpsrc's data be dropped or stop receiving data if their queues get full. Need to balance queue sizes correctly for your network expectations.<br></div><div><br></div><div>If synchronous playback is not a concern, you can use separate pipelines with queue2 and react to buffering messages being able to pause pipelines independently without affecting other pipelines.<br></div><div><br><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Thank.<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://gstreamer-devel.966125.n4.nabble.com/Good-practice-question-about-gst-parse-launch-tp4681581.html" rel="noreferrer" target="_blank">http://gstreamer-devel.966125.<wbr>n4.nabble.com/Good-practice-<wbr>question-about-gst-parse-<wbr>launch-tp4681581.html</a><br>
Sent from the GStreamer-devel mailing list archive at Nabble.com.<br>
______________________________<wbr>_________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.<wbr>freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/gstreamer-<wbr>devel</a><br>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Thiago Sousa Santos</div>
</div></div>