From 91496281eb1090e31040565471dfe080964bbd41 Mon Sep 17 00:00:00 2001 From: Carlos Rafael Giani Date: Mon, 11 Jan 2016 21:17:25 +0100 Subject: [PATCH] basesrc: Only set duration/position query values in case of query success Currently, the query values are being set even if the query itself was determined to have failed. Fix this to ensure the values are only set in case of a query success. https://bugzilla.gnome.org/show_bug.cgi?id=760479 --- libs/gst/base/gstbasesrc.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libs/gst/base/gstbasesrc.c b/libs/gst/base/gstbasesrc.c index 6ab4816..ed10d82 100644 --- a/libs/gst/base/gstbasesrc.c +++ b/libs/gst/base/gstbasesrc.c @@ -1038,7 +1038,9 @@ gst_base_src_default_query (GstBaseSrc * src, GstQuery * query) } else res = TRUE; - gst_query_set_position (query, format, position); + if (res) + gst_query_set_position (query, format, position); + break; } } @@ -1091,7 +1093,10 @@ gst_base_src_default_query (GstBaseSrc * src, GstQuery * query) * means that we cannot report the duration at all. */ res = TRUE; } - gst_query_set_duration (query, format, duration); + + if (res) + gst_query_set_duration (query, format, duration); + break; } } -- 2.7.4