What is gstreamer doing when it says "Redistribute latency..."

Graham Leggett minfrin at sharp.fm
Sat Oct 10 03:27:33 PDT 2015

On 10 Oct 2015, at 11:50 AM, Nicolas Dufresne <nicolas.dufresne at collabora.com> wrote:

> It means that the application have received he LATENCY message. This
> message is sent to signal to the application when the latency of an
> element have changed. In gst-launch-1.0, the application will simply
> distribute this new latency into the pipeline with
> gst_bin_recalculate_latency(). If you are setting a higher latency,
> you will instead want to check that the new combined latency is not
> higher then you chosen latency.

My next question is - how does gst_bin_recalculate_latency() impact queues?

What I’m seeing is the pipeline recalculating the latency on startup and that works fine, however if the latency is recalculated again the entire pipeline hangs directly afterwards.

If a queue is not leaky, how will this affect a latency recalculation? Will a non leaky queue cause the pipeline to hang?

A further question - both the videorate and audiorate elements are being used. What happens when latency is recalculated, will videorate and/or audiorate create a sudden burst of frames and freeze up the pipeline?

(The reason for the questions is that I have a pipeline that sometimes freezes after 30 seconds, sometimes freezes after 8 hours, and as a result it is very difficult and time consuming to try things through trial and error. Instead I am trying to understand how each element reacts during latency recalculation so I can figure out the problem that way).


More information about the gstreamer-devel mailing list