From 48b67470e3ddad5c590e120cea5db7616bf97833 Mon Sep 17 00:00:00 2001 From: Gwenole Beauchesne Date: Fri, 18 Jan 2013 10:35:44 +0100 Subject: [PATCH] tests: simple-decoder: flush decoded frames at EOS. Flush the remaining decoded frames when an end-of-stream is reached. --- tests/simple-decoder.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/simple-decoder.c b/tests/simple-decoder.c index 373fd8e3c3..e6c47387ad 100644 --- a/tests/simple-decoder.c +++ b/tests/simple-decoder.c @@ -233,7 +233,7 @@ decoder_thread(gpointer data) RenderFrame *rfp; GstBuffer *buffer; GstClockTime pts; - gboolean got_surface; + gboolean got_surface, got_eos = FALSE; gint64 end_time; guint ofs; @@ -282,7 +282,11 @@ decoder_thread(gpointer data) /* nothing to do, just continue to the next iteration */ break; case GST_VAAPI_DECODER_STATUS_END_OF_STREAM: - goto send_eos; + gst_vaapi_decoder_flush(app->decoder); + if (got_eos) + goto send_eos; + got_eos = TRUE; + break; case GST_VAAPI_DECODER_STATUS_ERROR_NO_SURFACE: end_time = g_get_monotonic_time() + G_TIME_SPAN_SECOND; g_mutex_lock(&app->mutex); -- 2.34.1