<div dir="ltr">So the specific incident I provided is a VLC issue.<br><br>The other issue I have is that a client suddenly disconnection can cause other clients to disconnect or their streams to freeze.  Again, this only happens on a shared pipeline, but I've isolated the issue to be a shared pipeline with UDP as the only set transport.<br><br><span style="font-size:12.8px">1) In gst-rtsp-server/examples/test-</span><span style="font-size:12.8px">video.c, insert "</span><span style="font-size:12.8px">gst_rtsp_media_factory_set_shared(factory, TRUE);" to line 136, and "gst_rtsp_media_factory_set_protocols(factory, GST_RTSP_LOWER_TRANS_UDP);" to line 137.</span><br><div><span style="font-size:12.8px">2) Recompile the gst-rtsp-server examples (navigate to root, and run make)</span><br></div><div><span style="font-size:12.8px">3) Navigate to the example directory, and run the "test-video" shell script</span><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">4) use ifconfig to get your eth0/wlan0 IP address</span></div><div><span style="font-size:12.8px">5) Run the following command in a new terminal: "gst-launch-1.0 rtspsrc location=rtsp://<eth0/wlan0 IP address>:8554/test protocols=0x1 ! fakesink"<br>6) Open a VLC client, and connect to the localhost IP addres - rtsp://<a href="http://127.0.0.1:8554/test">127.0.0.1:8554/test</a><br>7) In another terminal, execute the following command: "sudo ip link set <eth0/wlan0> down"<br><br>This should cause the VLC client to quickly freeze it's current stream.  The gst-launch-1.0 client will take some time before it disconnects, but during that time if you reconnect the VLC client to the localhost IP, the stream will continue.<br><br>In short, there appears to be an issue with how UDP handles multiple clients on a shared pipeline.  I don't experience these issues if I force TCP on the server, or if I set shared to false.</span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jan 16, 2016 at 12:20 PM, Kyle Pennington <span dir="ltr"><<a href="mailto:clowd81@gmail.com" target="_blank">clowd81@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Let me provide reproduction steps.  I'm using Gstreamer 1.6.0 on Ubuntu 12.04 (required target OS for my project).<br><div><br>1) In gst-rtsp-server/examples/test-video.c, insert "<span>gst_rtsp_media_factory_set_shared(factory, TRUE);" to line 147.<br></span></div><div><span>2) Recompile the gst-rtsp-server examples (navigate to root, and run make)<br></span></div><div><span>3) Navigate to the example directory, and run the "test-video" shell script<br></span></div><div><span>4) Connect to the running RTSP server using a local VLC client (url is usually rtsp://<a href="http://127.0.0.1:8554/test" target="_blank">127.0.0.1:8554/test</a>)<br></span></div><div><span>5) Connect a second local VLC client.<br><br></span></div><div><span>On my setup, this results in the video in the VLC client started in step #4 to freeze until the VLC client started in step #5 finishes it's initial buffering and starts the video.<br><br></span></div><div><span>Let me know if you need any additional information.<br></span></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Sat, Jan 16, 2016 at 2:57 AM, Sebastian Dröge <span dir="ltr"><<a href="mailto:sebastian@centricular.com" target="_blank">sebastian@centricular.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div><div>On Do, 2016-01-14 at 13:30 -0500, Kyle Pennington wrote:<br>
> I've been having some issues lately with my RTSP server streams<br>
> freezing when a new client connects or when a client's network<br>
> connection is dropped.  These two interactions cause the stream to<br>
> freeze for all connected clients.  I have a shared pipeline,<br>
> configured with gst_rtsp_media_factory_set_shared(factory, true);.  <br>
><br>
> From what I understand, this should force all clients to use the same<br>
> pipeline, and actions of one to influence the rest (seeking, etc.). <br>
> However, this is not the behavior I am seeing.  This type of behavior<br>
> should never interfere with the streams of other clients.<br>
><br>
> I am able to recreate this by setting the shared property on the<br>
> media factory in the "test-video" example bundled with the RTSP<br>
> server.  I connect to the example server using two separate VLC<br>
> clients on the same PC.  When I do this, the first client's stream<br>
> freezes while waiting for the other client to finish it's initial<br>
> buffering.<br>
><br>
> I came across this bug on bugzilla: <a href="https://bugzilla.gnome.org/show_b" rel="noreferrer" target="_blank">https://bugzilla.gnome.org/show_b</a><br>
> ug.cgi?id=648463, but I'm not sure if it's related and it is back<br>
> from 2011-2013.<br>
<br>
</div></div>Can you add a comment there and ideally provide a testcase (i.e. gst-<br>
rtsp-server application plus steps how to reproduce) too?<br>
<br>
The behaviour you're seeing is definitely not intended.<br>
<span><font color="#888888"><br>
--<br>
Sebastian Dröge, Centricular Ltd · <a href="http://www.centricular.com" rel="noreferrer" target="_blank">http://www.centricular.com</a><br>
<br>
</font></span><br></div></div>_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>