From 13f804123800839b4d8114deacb8a36224c62cde Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim-Philipp=20M=C3=BCller?= Date: Mon, 23 Mar 2009 12:34:34 +0000 Subject: [PATCH] basesink: fix once-per-second 'emergency rendering' for case where all buffers but the very first are late Due to a typo basesink didn't do any emergency rendering of late buffers if the only buffer ever rendered was the first one with timestamp 0. This means that in cases where the decoder is very very slow, we'd never see any buffers but the very first one rendered. Fixes #576381. --- libs/gst/base/gstbasesink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c index 35f0c75..67f90df 100644 --- a/libs/gst/base/gstbasesink.c +++ b/libs/gst/base/gstbasesink.c @@ -2232,7 +2232,7 @@ gst_base_sink_is_too_late (GstBaseSink * basesink, GstMiniObject * obj, GST_TIME_ARGS (max_lateness)); /* !!emergency!!, if we did not receive anything valid for more than a * second, render it anyway so the user sees something */ - if (priv->last_in_time && start - priv->last_in_time > GST_SECOND) { + if (priv->last_in_time != -1 && start - priv->last_in_time > GST_SECOND) { late = FALSE; GST_DEBUG_OBJECT (basesink, "**emergency** last buffer at %" GST_TIME_FORMAT " > GST_SECOND", -- 2.7.4