Hi,<br><br>After investigating the sending side again based on a tip from one of the Ultragrid developers, it looks like the problem might actually be on the sending side - when I added some queueing in my gstreamer pipeline for sending, the choppiness was drastically reduced. I&#39;m guessing my reception timing measurement method was being affected by some playout buffering or similar happening inside gstreamer.<br>

<br>Does anyone know any good methods/applications for sending smooth RTP (video) traffic so I can confirm this?<br><br>Thanks,<br>--Andrew<br><br><div class="gmail_quote">2010/7/30 Andrew Ford <span dir="ltr">&lt;<a href="mailto:andrew.ford@rit.edu">andrew.ford@rit.edu</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hi Piers,<br><br>Unfortunately it looks like RTCP doesn&#39;t have anything to do with it - the problem doesn&#39;t coincide with process_rtcp calls at all, plus it&#39;s a lot more irregular and happens more often than the RTCP events.<br>


<br>--Andrew<br><br><div class="gmail_quote">2010/7/30 Andrew Ford <span dir="ltr">&lt;<a href="mailto:andrew.ford@rit.edu" target="_blank">andrew.ford@rit.edu</a>&gt;</span><div><div></div><div class="h5"><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">


Hi Piers,<br><br><div class="gmail_quote">2010/7/30 P O&#39;Hanlon <span dir="ltr">&lt;<a href="mailto:p.ohanlon@gmail.com" target="_blank">p.ohanlon@gmail.com</a>&gt;</span><div><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">



Andrew,<br>
<br>
When you mentioned that you&#39;d played with the buffer sizes - I assume<br>
you meant the default send/recv socket buffer size (udpbufsize) in<br>
common/src/net_udp.c:291?<br></blockquote></div><div><br>At first I was just changing the system buffer sizes, which did affect it in general but didn&#39;t help the frame delay (ie, if I set it really low I got tons of packet loss). I also noticed there was a bug in the ANU/VP version of the common library (not in the UCL one) where the buffer size code never got called - I fixed that, tried directly setting the same buffer sizes directly in the code, no difference.<br>



 </div><div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Also what sort of bit-rate is &#39;low bit rate&#39; H.264@30fps?<br></blockquote></div><div><br>25 kbps - it&#39;s just a block moving across the screen so the compression ratio is very good.<br> </div><div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">




One thought is whether you&#39;re sending RTCP packets as well and whether<br>
the hiccups correspond to RTCP packet arrival and associated<br>
processing..?<br>
common/src/rtp.c:1894<br>
(not sure why this should be hitting you so hard unless you&#39;ve got<br>
some weird RTCP packets..?)<br></blockquote></div><div><br>Thanks, I&#39;ll check that out - though I&#39;m not sure if there would be weird RTCP packets since I tried both VLC and gstreamer (same performance) and I doubt they would have the same exact problem.<br>


<font color="#888888">
<br>--Andrew<br> </font></div><div><div></div><div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
Piers<br>
<div><div></div><div><br>
<br>
<br>
On 28 July 2010 17:41:41 UTC+2, Andrew Ford &lt;<a href="mailto:andrew.ford@rit.edu" target="_blank">andrew.ford@rit.edu</a>&gt; wrote:<br>
&gt; Hi Rhys,<br>
&gt;<br>
&gt; I&#39;ve tried calling rtp_recv once with both 10ms and 1ms timeout times (as well as no timeout at all) and it looks like it doesn&#39;t make a difference. I also tried changing the system UDP buffer sizes to see if that had any effect, but it doesn&#39;t seem to.<br>




&gt;<br>
&gt; --Andrew<br>
&gt;<br>
&gt; 2010/7/27 Rhys Hawkins &lt;<a href="mailto:rhys.hawkins@anu.edu.au" target="_blank">rhys.hawkins@anu.edu.au</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Tue, 27 Jul 2010 14:12:37 -0400<br>
&gt;&gt; Andrew Ford &lt;<a href="mailto:andrew.ford@rit.edu" target="_blank">andrew.ford@rit.edu</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;   timeout.tv_sec = 0;<br>
&gt;&gt; &gt;   timeout.tv_usec = 10000;<br>
&gt;&gt; &gt;   for (int i = 0; i &lt; 1000 &amp;&amp; rtp_recv(session, &amp;timeout, _timestamp); i ++) {<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;     timeout.tv_sec = 0;<br>
&gt;&gt; &gt;     timeout.tv_usec = 10;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;   }<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt; Hi Andrew,<br>
&gt;&gt;<br>
&gt;&gt; All that code is doing is a crude version of:<br>
&gt;&gt;<br>
&gt;&gt;  while (elapsed_time &lt; 10ms) {<br>
&gt;&gt;    process incoming packets<br>
&gt;&gt;  }<br>
&gt;&gt;<br>
&gt;&gt; You could try and replace the for loop with just one call to the rtp_recv<br>
&gt;&gt; function, ie:<br>
&gt;&gt;<br>
&gt;&gt;  timeout.tv_sec = 0;<br>
&gt;&gt;  timeout.tv_usec = 10000;<br>
&gt;&gt;  rtp_recv(session, &amp;timeout, _timestamp);<br>
&gt;&gt;<br>
&gt;&gt; and see if that fixes your problem.<br>
&gt;&gt;<br>
&gt;&gt; The code above was to handle an issue with DV decoding in that decoding an<br>
&gt;&gt; entire frame of DV took a certain length of time and during that time the<br>
&gt;&gt; UDP buffer (kernel side) could overflow causing loss of data. I don&#39;t think<br>
&gt;&gt; it should be the cause of your problems, but things are pretty foggy that<br>
&gt;&gt; far back in time so it may have other ramifications I&#39;ve forgotten about.<br>
&gt;&gt;<br>
&gt;&gt; Cheers,<br>
&gt;&gt;    Rhys<br>
&gt;<br>
&gt;<br>
</div></div><div><div></div><div>&gt; _______________________________________________<br>
&gt; Sumover-dev mailing list<br>
&gt; <a href="mailto:Sumover-dev@cs.ucl.ac.uk" target="_blank">Sumover-dev@cs.ucl.ac.uk</a><br>
&gt; <a href="http://oakham.cs.ucl.ac.uk/mailman/listinfo/sumover-dev" target="_blank">http://oakham.cs.ucl.ac.uk/mailman/listinfo/sumover-dev</a><br>
&gt;<br>
&gt;<br>
</div></div></blockquote></div></div></div><br>
</blockquote></div></div></div><br>
</blockquote></div><br>