looking for clarity on pipeline latency

jim nualart jim at austinmodern.com
Tue Sep 15 20:21:00 UTC 2020


Hi All,

I'm hoping someone can chime in here with a little bit of explanation, as I
think I have gotten myself somewhat confused on this topic.

I've read the following:
(from here,
https://gstreamer.freedesktop.org/documentation/application-development/advanced/clocks.html#latency-compensation
)
Before the pipeline goes to the PLAYING state, it will, in addition to
selecting a clock and calculating a base-time, calculate the latency in the
pipeline. It does this by doing a LATENCY query on all the sinks in the
pipeline. The pipeline then selects the maximum latency in the pipeline and
configures this with a LATENCY event.

So this is "automatic" and the application itself does not need to be
involved at this point ... correct so far?

Now, what if I want to know what the latency value is (of what was
configured automatically by the pipeline)?
Can I use gst_pipeline_get_latency()?
Am I correct that this function would return the currently *configured*
pipeline latency?
Or should I use a query with gst_query_new_latency()?
Though, I think this function would get me the current *actual* latency (vs
what is configured), right?

Finally, if I want to change the latency value, is that done
via gst_pipeline_set_latency() or gst_query_set_latency() ?

Much thanks in advance,
-jim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200915/7ec20eaa/attachment.htm>


More information about the gstreamer-devel mailing list