<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office"><head><!--[if gte mso 9]><xml><o:OfficeDocumentSettings><o:AllowPNG/><o:PixelsPerInch>96</o:PixelsPerInch></o:OfficeDocumentSettings></xml><![endif]--></head><body><div style="color:#000; background-color:#fff; font-family:lucida console, sans-serif;font-size:13px"><div id="yui_3_16_0_ym19_1_1484560934142_189492"><span id="yui_3_16_0_ym19_1_1484560934142_189585">I found the cause of the freezes. Had nothing to do with gstreamer itself.</span></div><div id="yui_3_16_0_ym19_1_1484560934142_189565"><span><br></span></div><div id="yui_3_16_0_ym19_1_1484560934142_189566" dir="ltr"><span id="yui_3_16_0_ym19_1_1484560934142_189654">Problem stems from Qt itself : <a href="https://bugreports.qt.io/browse/QTBUG-40332" class="enhancr2_fc454efd-0b76-f826-a369-4da5b376f272" id="yui_3_16_0_ym19_1_1484560934142_189653">[QTBUG-40332] High ping when QNetworkAccessManager is instantiated - Qt Bug Tracker</a></span></div><div><br></div><div id="enhancr2_fc454efd-0b76-f826-a369-4da5b376f272" class="yahoo-link-enhancr-card  ymail-preserve-class ymail-preserve-style img-overlay-selected" style="max-width:400px;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;" data-url="https://bugreports.qt.io/browse/QTBUG-40332" data-type="yenhancr" data-category="article" data-embed-url="" data-size="medium" dir="ltr" contenteditable="false"> <a href="https://bugreports.qt.io/browse/QTBUG-40332" style="text-decoration:none !important; color: #000 !important;" class="yahoo-enhancr-cardlink" target="_blank" rel="noreferrer" id="yui_3_16_0_ym19_1_1484560934142_189687"> <table class="card-wrapper yahoo-ignore-table" style="max-width:400px;" id="yui_3_16_0_ym19_1_1484560934142_189686" cellspacing="0" cellpadding="0" border="0"> <tbody id="yui_3_16_0_ym19_1_1484560934142_189685"><tr id="yui_3_16_0_ym19_1_1484560934142_189684"> <td id="yui_3_16_0_ym19_1_1484560934142_189683" width="400"> <table class="card yahoo-ignore-table" style="max-width:400px;" id="yui_3_16_0_ym19_1_1484560934142_189682" cellspacing="0" cellpadding="0" border="0" width="100%"> <tbody id="yui_3_16_0_ym19_1_1484560934142_189681"><tr id="yui_3_16_0_ym19_1_1484560934142_189680"> <td class="card-primary-image-cell" style="background:#000 url('https://s.yimg.com/vv//api/res/1.2/L86Gp88JR6BRebFqTZ.Aew--/YXBwaWQ9bWFpbDtmaT1maWxsO2g9MjAwO3c9NDAw/https://bugreports.qt.io/s/en_US-idrq67/6339/59/_/jira-logo-scaled.png.cf.jpg') no-repeat center center;background-size:cover;height:200px;position:relative;" id="yui_3_16_0_ym19_1_1484560934142_189679" bgcolor="#000000" background="https://s.yimg.com/vv//api/res/1.2/L86Gp88JR6BRebFqTZ.Aew--/YXBwaWQ9bWFpbDtmaT1maWxsO2g9MjAwO3c9NDAw/https://bugreports.qt.io/s/en_US-idrq67/6339/59/_/jira-logo-scaled.png.cf.jpg" valign="top"> <!--[if gte mso 9]><v:rect fill="true" stroke="false" style="width:400px;height:218px;position:absolute;top:0;left:0;"><v:fill type="frame" color="#000000" src="https://s.yimg.com/vv//api/res/1.2/L86Gp88JR6BRebFqTZ.Aew--/YXBwaWQ9bWFpbDtmaT1maWxsO2g9MjAwO3c9NDAw/https://bugreports.qt.io/s/en_US-idrq67/6339/59/_/jira-logo-scaled.png.cf.jpg"/></v:rect><![endif]--> <table class="yahoo-ignore-table" valign="top" style="width:100%;" id="yui_3_16_0_ym19_1_1484560934142_189678" cellspacing="0" cellpadding="0" border="0"> <tbody id="yui_3_16_0_ym19_1_1484560934142_189677"><tr id="yui_3_16_0_ym19_1_1484560934142_189676"> <td style="background:transparent url('https://s.yimg.com/nq/storm/assets/enhancrV2/12/overlay-tile.png') repeat left top;height:200px;" id="yui_3_16_0_ym19_1_1484560934142_189675" bgcolor="transparent" background="https://s.yimg.com/nq/storm/assets/enhancrV2/12/overlay-tile.png" valign="top"> <!--[if gte mso 9]><v:rect fill="true" stroke="false" style="width:400px;height:218px;position:absolute;top:-18px;left:0;"><v:fill type="pattern" color="#000000" src="https://s.yimg.com/nq/storm/assets/enhancrV2/12/overlay-tile.png"/><v:textbox inset="0,0,20px,0"><![endif]--> <table class="yahoo-ignore-table" style="width:100%;height:185px;min-height:185px;" id="yui_3_16_0_ym19_1_1484560934142_189674" height="185"> <tbody id="yui_3_16_0_ym19_1_1484560934142_189673"><tr id="yui_3_16_0_ym19_1_1484560934142_189672"> <td class="card-richInfo2" style="text-align:left;text-align:left;padding:15px 0 0 15px;vertical-align:top;">  </td> <td class="card-actions" style="text-align:right;padding:15px 15px 0 0;vertical-align:top;" id="yui_3_16_0_ym19_1_1484560934142_189671"> <div class="card-share-container"></div> </td> </tr> </tbody></table> <!--[if gte mso 9]></v:textbox></v:rect><![endif]--> </td> </tr> </tbody></table> </td> </tr> <tr> <td> <table class="card-info yahoo-ignore-table" style="background:#fff;position:relative;z-index:2;width:95%;max-width:380px;border:1px solid #e0e4e9;border-bottom:3px solid #000000;margin-top:-40px;margin-left:auto;margin-right:auto;" cellspacing="0" cellpadding="0" border="0" align="center"> <tbody><tr> <td style="background-color:#ffffff;padding:16px 0 16px 12px;vertical-align:top;">  </td> <td style="vertical-align:middle;padding:16px 12px;width:99%;"> <h2 class="card-title" style="font-size: 16px; line-height:19px; margin:0 0 4px 0;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;word-break:break-word;">[QTBUG-40332] High ping when QNetworkAccessManager is instantiated - Qt Bug...</h2>  <div class="card-description" style="font-size:11px;line-height:15px;color:#999;word-break:break-word;"></div> </td> <td style="text-align:right;padding:16px 12px 16px 0;">  </td> </tr> </tbody></table> </td> </tr> </tbody></table> </td> </tr> </tbody></table> </a></div><div><br></div> <div class="qtdSeparateBR"><br><br></div><div class="yahoo_quoted" style="display: block;"> <div style="font-family: lucida console, sans-serif; font-size: 13px;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div dir="ltr"><font face="Arial" size="2"> Le Samedi 3 décembre 2016 0h14, philippe renon <philippe_renon@yahoo.fr> a écrit :<br></font></div> <blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; margin-top: 5px; padding-left: 5px;"> <br><br> <div class="y_msg_container"><div id="yiv6040168843"><div><div style="color:#000;background-color:#fff;font-family:lucida console, sans-serif;font-size:13px;"><div dir="ltr" id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_5093"><span id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_5162">I am back on this issue. As a refresher, I am seeing long pauses every 10 seconds when playing a rtsp stream from a wifi camera.</span></div><div dir="ltr" id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6365"><span id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_5162"><br clear="none"></span></div><div dir="ltr" id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6403"><span id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6368">The receiver pipeline is:</span></div><div dir="ltr" id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6404"><span id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6368"></span><br clear="none"><span id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6369">gst-launch-1.0.exe -v -m </span>rtspsrc location=rtsp://192.x.x.x/AmbaStreamTest latency=30 ! decodebin ! timeoverlay ! autovideosink</div><div dir="ltr" id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_5143"><span><br clear="none"></span></div><div dir="ltr" id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_5144"><span id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_5548">It was mentioned that the server might be sending data as fast as it can and not in real time.</span></div><div dir="ltr" id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6024"><span id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6023">Would that be possible when the server is a live camera ?</span></div><div dir="ltr" id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6406"><span id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6023"><br clear="none"></span></div><div dir="ltr" id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6734"><span id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6023">It was also suggested to try a non slave buffer-mode. I tried all buffer modes:</span></div><div dir="ltr" id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6756"><span id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6023">- "none" : video turns into a slide show and the video sink emits warnings about "a lot of buffers are being dropped"</span></div><div dir="ltr" id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6905"><span id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6023">- "synced" and "buffer" : both have the pause issue.<br clear="none"></span></div><div dir="ltr" id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_5244"><span><br clear="none"></span></div><div dir="ltr" id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6026"><span id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6025">I have used wireshark to capture the RTP traffic for a period of 20 seconds (so it includes at least one pause).<br clear="none"></span></div><div dir="ltr" id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6997"><span id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6025"><br clear="none"></span></div><div dir="ltr" id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6996"><span id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6025">What I noticed is that the pipeline sends a Receiver Report every 10 seconds.</span></div><div dir="ltr" id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_7789"><span id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_7814"> Around the </span><span id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6025"><span id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_7815">Receiver Report</span> it seems that the RTP stream is stalling/pausing for a few secs.</span></div><div dir="ltr" id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_7474"><span id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6025">Here is a typical sequence around the Reveiver Report message:</span></div><div dir="ltr" id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_7473"><span id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6025"><br clear="none"></span></div><div dir="ltr" id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_7407"><span id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6025">No.    Time        Source        Destination   Protocol  Length  Info<br id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_7429" clear="none">61777  609.874675  192.168.42.1  192.168.42.3  RTP       68      PT=DynamicRTP-Type-96, SSRC=0xF8512ADB, Seq=53358, Time=860883236<br id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_7430" clear="none">61778  609.874676  192.168.42.1  192.168.42.3  RTP       240     PT=DynamicRTP-Type-96, SSRC=0xF8512ADB, Seq=53359, Time=860883236, Mark<br id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_7431" clear="none">61779  609.907745  192.168.42.1  192.168.42.3  RTP       68      PT=DynamicRTP-Type-96, SSRC=0xF8512ADB, Seq=53360, Time=860886239<br id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_7432" clear="none">61780  609.907746  192.168.42.1  192.168.42.3  RTP       300     PT=DynamicRTP-Type-96, SSRC=0xF8512ADB, Seq=53361, Time=860886239, Mark<br id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_7433" clear="none">61781  611.344276  192.168.42.3  192.168.42.1  RTCP      126     Receiver Report   Source description   <br id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_7434" clear="none">61782  612.994309  192.168.42.1  192.168.42.3  RTP       68      PT=DynamicRTP-Type-96, SSRC=0xF8512ADB, Seq=53362, Time=860889242<br id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_7435" clear="none">61783  612.994311  192.168.42.1  192.168.42.3  RTP       435     PT=DynamicRTP-Type-96, SSRC=0xF8512ADB, Seq=53363, Time=860889242, Mark<br id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_7436" clear="none">61784  612.994311  192.168.42.1  192.168.42.3  RTP       68      PT=DynamicRTP-Type-96, SSRC=0xF8512ADB, Seq=53364, Time=860892245<br id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_7437" clear="none">61785  612.994312  192.168.42.1  192.168.42.3  RTP       386     PT=DynamicRTP-Type-96, SSRC=0xF8512ADB, Seq=53365, Time=860892245, Mark<br clear="none"></span></div><div dir="ltr" id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_7313"><span id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6025"><br clear="none"></span></div><div dir="ltr" id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_7405"><span id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6025">Not sure it means anything...<br clear="none"></span></div><div dir="ltr" id="yiv6040168843yui_3_16_0_ym19_1_1480716538353_6028"><span></span></div> <div class="yiv6040168843qtdSeparateBR"><br clear="none"><br clear="none"></div><div class="yiv6040168843yqt0940459772" id="yiv6040168843yqt03408"><div class="yiv6040168843yahoo_quoted" style="display:block;"> <div style="font-family:lucida console, sans-serif;font-size:13px;"> <div style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"> <div dir="ltr"><font face="Arial" size="2"> Le Samedi 12 novembre 2016 10h11, Sebastian Dröge <sebastian@centricular.com> a écrit :<br clear="none"></font></div> <blockquote style="border-left:2px solid rgb(16, 16, 255);margin-left:5px;margin-top:5px;padding-left:5px;"> <br clear="none"><br clear="none"> <div class="yiv6040168843y_msg_container">On Wed, 2016-11-09 at 22:14 +0000, philippe renon wrote:<br clear="none"><br clear="none">> element autovideosink1-actual-sink-d3dvideo sent qos event: live: 1;<br clear="none">> running time: 30719164049; stream time: 26558070697; timestamp:<br clear="none">> 30719164049; duration: 33366666 jitter: 3029708354; proportion:<br clear="none">> 0.15581; quality: 1000000; format: ; processed: 609; dropped: 2;<br clear="none">> <br clear="none">> The rtpjitterbuffer skew is initially around 8 as expected but then<br clear="none">> starts to increase to reach values in the 200.<br clear="none"><br clear="none">This suggests that the server is sending data not in real-time but as<br clear="none">fast as it can. Something definitely seems to be odd with the stream<br clear="none">here, but we should also be able to handle that better.<br clear="none"><br clear="none">> I am attaching a dot file of the pipeline at the time a qos event was<br clear="none">> sent.<br clear="none">> <br clear="none">> Is it possible to disable the rtpjitterbuffer used in the rtspsrc<br clear="none">> bin. If if not, is it possible to create a rtspsrc from its<br clear="none">> individual elements with gst-launch ?<br clear="none"><br clear="none">No, rtspsrc is more than the combination of the elements it is<br clear="none">containing. Disabling the rtpjitterbuffer is not possible, but you can<br clear="none">specify a different buffer-mode on it. The non-slave ones probably work<br clear="none">better in your case, but come with other problems.<br clear="none"><br clear="none">> Would a wireshark log help ?<br clear="none"><br clear="none">If someone has time to look into it and come up with a way to handle<br clear="none">the stream, sure.<div class="yiv6040168843yqt0855866407" id="yiv6040168843yqtfd41791"><br clear="none"><br clear="none">-- <br clear="none">Sebastian Dröge, Centricular Ltd · <a rel="nofollow" shape="rect" target="_blank" href="http://www.centricular.com/">http://www.centricular.com</a></div><br clear="none"><br clear="none"></div> </blockquote> </div> </div>  </div></div></div></div></div><br><br></div> </blockquote> </div> </div>  </div></div></body></html>