<div dir="ltr"><div>Finally, I have found the cause. On the restart of the stream some (two or three) buffers had zero length. Somehow GstCollectPads halts when it receives zero length buffers. So I have applied the following patch and now it works well.<br></div>Why GstCollectPads behave this way i don't understand. Gstreamer version 1.6.3.<br><div><br>From a45c0ab505562959f4e7e91bc5071a7446182006 Mon Sep 17 00:00:00 2001<br>From: Alexander Vasiliev <<a href="mailto:a.vasiliev@geoscan.aero">a.vasiliev@geoscan.aero</a>><br>Date: Fri, 29 Jan 2016 16:00:55 +0300<br>Subject: [PATCH] reject zero size buffers<br><br>---<br> libs/gst/base/gstcollectpads.c | 4 ++++<br> 1 file changed, 4 insertions(+)<br><br>diff --git a/libs/gst/base/gstcollectpads.c b/libs/gst/base/gstcollectpads.c<br>index 8edfe41..2b9a47b 100644<br>--- a/libs/gst/base/gstcollectpads.c<br>+++ b/libs/gst/base/gstcollectpads.c<br>@@ -2163,6 +2163,10 @@ gst_collect_pads_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)<br>   GST_OBJECT_UNLOCK (pad);<br> <br>   pads = data->collect;<br>+  if (gst_buffer_get_size (buffer) == 0) {<br>+    gst_buffer_unref (buffer);<br>+    return GST_FLOW_OK;<br>+  }<br> <br>   GST_COLLECT_PADS_STREAM_LOCK (pads);<br>   /* if not started, bail out */<br>-- <br>2.5.0<br><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-01-21 14:34 GMT+03:00 Alexander Vasiliev <span dir="ltr"><<a href="mailto:alexvasiljev@gmail.com" target="_blank">alexvasiljev@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>Hello,<br><br></div><div>I have a live video source and i want to stream it to udp. I had made a working pipeline. But it hangs when a stream stops for a few seconds. I.e. a camera can stop streaming for a while, then it continues streaming, but pipeline doesn't resume.<br></div>gst-launch-1.0 v4l2src input-src=Camera ! videorate drop-only=true  ! 'video/x-raw, format=(string)NV12, width=1920, height=1088, framerate=25/1' ! ce_h264enc  target-bitrate=6000000 bytestream=1 ! queue ! mpegtsmux  alignment=7 ! udpsink host=192.168.0.1 port=3000 -v<br><br>The following pipeline without mpegtsmux doesn't hangs and keeps working. So i am sure that it is mpegtsmux which hangs the pipeline.<br>gst-launch-1.0 v4l2src input-src=Camera ! videorate drop-only=true  ! 
'video/x-raw, format=(string)NV12, width=1920, height=1088, 
framerate=25/1' ! ce_h264enc  target-bitrate=6000000 bytestream=1 ! fakesink<br><br></div><div>Can mpegtsmux be configured not to hang?<br></div><div><br></div>gstreamer version 1.6.2<br></div>
</blockquote></div><br></div>