From d9a267f03054f3c6b128cca79acfa7f7005eb5e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 11 Feb 2015 14:16:21 +0100 Subject: [PATCH] Improve and fix LATENCY query handling This now follows the design docs everywhere, especially the maximum latency handling. https://bugzilla.gnome.org/show_bug.cgi?id=744106 --- gst-libs/gst/video/gstvideoaggregator.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gst-libs/gst/video/gstvideoaggregator.c b/gst-libs/gst/video/gstvideoaggregator.c index 7f1381610a..d9235c3e4a 100644 --- a/gst-libs/gst/video/gstvideoaggregator.c +++ b/gst-libs/gst/video/gstvideoaggregator.c @@ -598,13 +598,15 @@ gst_videoaggregator_src_setcaps (GstVideoAggregator * vagg, GstCaps * caps) if (vagg->priv->current_caps == NULL || gst_caps_is_equal (caps, vagg->priv->current_caps) == FALSE) { + GstClockTime latency; + gst_caps_replace (&vagg->priv->current_caps, caps); GST_VIDEO_AGGREGATOR_UNLOCK (vagg); gst_aggregator_set_src_caps (agg, caps); - gst_aggregator_set_latency (agg, gst_util_uint64_scale (GST_SECOND, - GST_VIDEO_INFO_FPS_D (&info), GST_VIDEO_INFO_FPS_N (&info)), - GST_CLOCK_TIME_NONE); + latency = gst_util_uint64_scale (GST_SECOND, + GST_VIDEO_INFO_FPS_D (&info), GST_VIDEO_INFO_FPS_N (&info)); + gst_aggregator_set_latency (agg, latency, latency); GST_VIDEO_AGGREGATOR_LOCK (vagg); }