<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>Hello,</p>
<p><br>
</p>
<p>  Thanks for your Reply.</p>
<p>   We have tried using following  pipeline :</p>
<p></p>
<blockquote type="cite" style="font-family: Calibri, Arial, Helvetica, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', NotoColorEmoji, 'Segoe UI Symbol', 'Android Emoji', EmojiSymbols; font-size: 16px;">
<div id="divtagdefaultwrapper" style="font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif;">
<font face="Times New Roman"><font face="Tahoma"><font face="Calibri,sans-serif">
<p>1. data->pipeline =gst_parse_launch("udpsrc port=5000 caps =\"application/x-rtp, media=video,clock-rate=(int)90000,encoding-name=(string)H264\" ! rtpjitterbuffer ! rtph264depay ! avdec_h264 ! autovideosink enable-last-buffer=true",&error);</p>
</font></font></font></div>
</blockquote>
<blockquote type="cite" style="font-family: Calibri, Arial, Helvetica, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', NotoColorEmoji, 'Segoe UI Symbol', 'Android Emoji', EmojiSymbols; font-size: 16px;">
<div id="divtagdefaultwrapper" style="font-size: 12pt; font-family: Calibri, Arial, Helvetica, sans-serif;">
<font face="Times New Roman"><font face="Tahoma"><font face="Calibri,sans-serif">
<p>2. data->pipeline =gst_parse_launch("udpsrc port=5000 caps =\"application/x-rtp, media=video,clock-rate=(int)90000,encoding-name=(string)H264\" !  rtph264depay ! avdec_h264 ! autovideosink enable-last-buffer=true",&error);</p>
</font></font></font></div>
</blockquote>
 
<p></p>
<p> <span style="font-family: Calibri, Arial, Helvetica, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', NotoColorEmoji, 'Segoe UI Symbol', 'Android Emoji', EmojiSymbols; font-size: 16px;"> in 1st case video is smooth but the latency is around </span> 5
 to 10s but In 2nd case we are having distorted video and latency is around 1s .</p>
<p>  Can you please let us know which pipeline we should use so that we can get latency around 150ms and video playing should be smooth.</p>
<p><br>
</p>
<div id="Signature">
<div id="divtagdefaultwrapper" style="font-size:12pt; color:#000000; background-color:#FFFFFF; font-family:Calibri,Arial,Helvetica,sans-serif">
Thanks,<br>
<div>Raushan<br>
</div>
</div>
</div>
<br>
<br>
<div style="color: rgb(0, 0, 0);">
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> gstreamer-devel <gstreamer-devel-bounces@lists.freedesktop.org> on behalf of Nicolas Dufresne <nicolas.dufresne@collabora.com><br>
<b>Sent:</b> Monday, November 16, 2015 11:15 PM<br>
<b>To:</b> Discussion of the development of and with GStreamer<br>
<b>Subject:</b> Re: Android Video Streaming Latency Issue...</font>
<div> </div>
</div>
<div>
<div>Le lundi 16 novembre 2015 à 06:25 +0000, Atul Ankush Bhandare a écrit :</div>
<blockquote type="cite">
<div id="divtagdefaultwrapper" style="font-size:12pt; color:#000000; background-color:#FFFFFF; font-family:Calibri,Arial,Helvetica,sans-serif">
<p><span dir="ltr" style="font-size:12pt"><font face="Times New Roman" style=""><font face="Tahoma" style=""><span lang="en-US" style="font-size:12pt"><font face="Calibri,sans-serif" style="">Hello,<br>
</font></span></font></font></span></p>
<font face="Times New Roman" style=""><font face="Tahoma" style=""><font face="Calibri,sans-serif" style="">
<p><br>
</p>
<p>We use GStreamer 1.0 for Android,in that use Gstreamer tutorial 3, and Change the pipeline,</p>
<p><br>
</p>
<p>pipeline is,<br>
</p>
<p><br>
</p>
<p>data->pipeline =gst_parse_launch("udpsrc port=5000 caps =\"application/x-rtp, media=video,clock-rate=(int)90000,encoding-name=(string)H264\" ! rtpjitterbuffer ! rtph264depay ! avdec_h264 ! autovideosink sync=false async=false enable-last-buffer=true",&error);<br>
</p>
</font></font></font></div>
</blockquote>
<div><br>
</div>
<div>rtpjitterbuffer have a property called "latency" in millisecond. By default this is configured at 0.2s (200). So it effectively contribute 200ms of latency. Though, this element is meant to work on a synchronized pipeline, and you set sync=false, and async=false.
 Both of these settings are very bad decisions. This will disable synchronization and during burst, frames will accumulate in the jitterbuffer and never be dropped to compensate the drift. As software decoder is also often slow and rendering on Android is often
 limited to 30fps (or less sometimes), it will keep accumulating. I strongly recommend leaving these two properties alone.</div>
<div><br>
</div>
<div>Nicolas</div>
<blockquote type="cite">
<pre></pre>
</blockquote>
</div>
</div>
</div>
</body>
</html>