<div dir="ltr"><div>This was a huge help - thank for the answers, especially on the weekend - much appreciated.</div><div><br></div><div> After a bit of digging, I was able to correctly get the source-setup signal and set the latency to a lower value. </div>
<div><br></div><div>For the benefit of others,  to Tutorial-4.c (in app_function), I added the line: </div><div><br></div><div> <em>g_signal_connect(G_OBJECT (data->pipeline), "source-setup", (GCallback)source_setup_cb,data);</em></div>
<div><br></div><div>then I added the following callback function:</div><div><br></div><div><em>static void source_setup_cb (GstElement *pipeline, GstElement *source, CustomData *data) {<br> // .. stuff removed<br> g_object_set (source, "latency", 100, NULL);</em></div>
<div><em> // .. stuff removed<br>}</em></div><div><br></div><div>The source_setup_cb required different args.</div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Sun, Jan 26, 2014 at 12:29 AM, Sebastian Dröge <span dir="ltr"><<a href="mailto:sebastian@centricular.com" target="_blank">sebastian@centricular.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5">On Sa, 2014-01-25 at 14:41 -0500, Ricky Houghton wrote:<br>
> On Sat, Jan 25, 2014 at 11:56 AM, Sebastian Dröge <<a href="mailto:sebastian@centricular.com">sebastian@centricular.com</a><br>
> > wrote:<br>
><br>
> > On Fr, 2014-01-24 at 11:36 -0500, Ricky Houghton wrote:<br>
> > > As a follow up, I have determined that the program, Tutorial #4,l thinks<br>
> > > that the stream is "NOT LIVE", however it never hits the buffering_cb<br>
> > > function in tutorial-4.c, so this function is not responsible for the<br>
> > delay.<br>
> ><br>
> > Buffering only happens if the stream is not considered live, and for<br>
> > RTSP streams only if the complete duration is known. What's the case<br>
> > here?<br>
> ><br>
><br>
> The duration is unknown so I would assume there is no buffering - but there<br>
> is some somewhere.<br>
> (N.B. the function Tutorial 4 function buffering_cb is never called, so<br>
> there is no buffering happening here.)<br>
><br>
> The RTSP stream is coming from a hardware encoder running the TI DaVinci<br>
> 8168. The particular<br>
> encoder is here: <a href="http://www.neyasystems.com/products/uxstreamer" target="_blank">http://www.neyasystems.com/products/uxstreamer</a> - they have<br>
> demonstrated 100ms<br>
> video to network in the past. (These guys are my friends.) Network latency<br>
> is single digit millisecond as the units are sitting<br>
> on an isolated AP, encoder hardwired, Nexus 7 is only wireless device.<br>
><br>
> I have continued playing/exploring and I stumbled upon<br>
><br>
> g_object_get (data->pipeline, "buffer-duration", &bufdur,NULL);<br>
> g_object_get(data->pipeline, "buffer-size", &bufsize,NULL);<br>
><br>
> Are these two values relevant, even if local buffering (in Tutorial 4) is<br>
> not being used?<br>
<br>
</div></div>They are not used in this case, no.<br>
<div class="im"><br>
> Can you point me to how I can control the rtspsrc buffer? I am using<br>
> Tutorial 4 and have access to the<br>
> pipeline etc, but not exactly clear how to access the rtspsrc filter and<br>
> how I might set the parameters for the buffering?<br>
<br>
</div>playbin has the source-setup signal, which will be emitted when the<br>
source element is created (rtspsrc in your case). You could connect to<br>
that and then set the "latency" property of rtspsrc to a lower value.<br>
You can also set different protocol value there, by default it will use<br>
TCP if possible and falls back to UDP.<br>
<div class="HOEnZb"><div class="h5"><br>
--<br>
Sebastian Dröge, Centricular Ltd - <a href="http://www.centricular.com" target="_blank">http://www.centricular.com</a><br>
Expertise, Straight from the Source<br>
</div></div><br>_______________________________________________<br>
gstreamer-android mailing list<br>
<a href="mailto:gstreamer-android@lists.freedesktop.org">gstreamer-android@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-android" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-android</a><br>
<br></blockquote></div><br></div>