From 44ffb87f8aa6e57d2153047b28d448cfd9651b35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 19 Feb 2015 01:28:06 +0200 Subject: [PATCH] aggregator: Fail the latency query if one of the upstream queries fails --- gst-libs/gst/base/gstaggregator.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gst-libs/gst/base/gstaggregator.c b/gst-libs/gst/base/gstaggregator.c index 0034b774b6..3ae43dc779 100644 --- a/gst-libs/gst/base/gstaggregator.c +++ b/gst-libs/gst/base/gstaggregator.c @@ -1117,6 +1117,7 @@ typedef struct { GstClockTime min, max; gboolean live; + gboolean res; } LatencyData; static gboolean @@ -1148,6 +1149,9 @@ gst_aggregator_query_sink_latency_foreach (GstAggregator * self, data->live = TRUE; } + } else { + GST_LOG_OBJECT (pad, "latency query failed"); + data->res = FALSE; } gst_query_unref (query); @@ -1207,6 +1211,7 @@ gst_aggregator_query_latency (GstAggregator * self, GstQuery * query) data.min = 0; data.max = GST_CLOCK_TIME_NONE; data.live = FALSE; + data.res = TRUE; /* query upstream's latency */ SRC_LOCK (self); @@ -1262,7 +1267,7 @@ gst_aggregator_query_latency (GstAggregator * self, GstQuery * query) gst_query_set_latency (query, data.live, data.min, data.max); - return TRUE; + return data.res; } static gboolean