summaryrefslogtreecommitdiff
path: root/gst-libs/gst/video
diff options
context:
space:
mode:
authorOlivier CrĂȘte <olivier.crete@collabora.com>2015-03-06 21:12:52 -0500
committerOlivier CrĂȘte <olivier.crete@collabora.com>2015-04-01 22:39:26 -0400
commit5a6024850c2b6bb4e235ce2c71a127b2ea9871a5 (patch)
treec03c2e7a8427b6107530786295f1df5b335ea14f /gst-libs/gst/video
parent34a921c31b4be5290b8841fba6bb24ee1b309952 (diff)
downloadgstreamer-plugins-bad-5a6024850c2b6bb4e235ce2c71a127b2ea9871a5.tar.gz
aggregator: Query latency on first incoming buffer.
And keep on querying upstream until we get a reply. Also, the _get_latency_unlocked() method required being calld with a private lock, so removed the _unlocked() variant from the API. And it now returns GST_CLOCK_TIME_NONE when the element is not live as we think that 0 upstream latency is possible. https://bugzilla.gnome.org/show_bug.cgi?id=745768
Diffstat (limited to 'gst-libs/gst/video')
-rw-r--r--gst-libs/gst/video/gstvideoaggregator.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gst-libs/gst/video/gstvideoaggregator.c b/gst-libs/gst/video/gstvideoaggregator.c
index 272a35bba..b1cfc835a 100644
--- a/gst-libs/gst/video/gstvideoaggregator.c
+++ b/gst-libs/gst/video/gstvideoaggregator.c
@@ -880,9 +880,11 @@ gst_videoaggregator_update_qos (GstVideoAggregator * vagg, gdouble proportion,
GST_TIME_FORMAT, proportion, (diff < 0) ? "-" : "",
GST_TIME_ARGS (ABS (diff)), GST_TIME_ARGS (timestamp));
+ live =
+ GST_CLOCK_TIME_IS_VALID (gst_aggregator_get_latency (GST_AGGREGATOR
+ (vagg)));
+
GST_OBJECT_LOCK (vagg);
- gst_aggregator_get_latency_unlocked (GST_AGGREGATOR (vagg), &live, NULL,
- NULL);
vagg->priv->proportion = proportion;
if (G_LIKELY (timestamp != GST_CLOCK_TIME_NONE)) {