sink: Only add processing latency if upstream is live

Only add it if upstream is live, otherwise leave the latency at 0.

https://bugzilla.gnome.org/show_bug.cgi?id=640610
This commit is contained in:
Olivier Crête 2018-07-16 11:51:05 -04:00
parent f79b871a6a
commit 4f3aea316a

View file

@ -1201,13 +1201,8 @@ gst_base_sink_query_latency (GstBaseSink * sink, gboolean * live,
* values to create the complete latency. */
min = us_min;
max = us_max;
}
if (l) {
/* we need to add the render delay if we are live */
min += render_delay;
if (max != -1)
max += render_delay;
if (l) {
if (max == -1 || min + processing_deadline <= max)
min += processing_deadline;
else {
@ -1225,6 +1220,13 @@ gst_base_sink_query_latency (GstBaseSink * sink, gboolean * live,
}
}
}
if (l) {
/* we need to add the render delay if we are live */
min += render_delay;
if (max != -1)
max += render_delay;
}
}
gst_query_unref (query);
} else {
GST_DEBUG_OBJECT (sink, "we are not yet ready for LATENCY query");