aggregator: Reset latency values in start()
authorSebastian Dröge <sebastian@centricular.com>
Wed, 19 Aug 2020 18:17:31 +0000 (21:17 +0300)
committerSebastian Dröge <sebastian@centricular.com>
Thu, 10 Sep 2020 11:18:34 +0000 (14:18 +0300)
Some base classes like videoaggregator try retrieving the latency during
construction, which causes the latency values to be set already until
reconfiguration happens.

By resetting them the same way as in stop() we ensure that we always
start cleanly.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/599>

libs/gst/base/gstaggregator.c

index 5eb028f..c2d451c 100644 (file)
@@ -1422,6 +1422,10 @@ gst_aggregator_start (GstAggregator * self)
   self->priv->send_eos = TRUE;
   self->priv->srccaps = NULL;
 
+  self->priv->has_peer_latency = FALSE;
+  self->priv->peer_latency_live = FALSE;
+  self->priv->peer_latency_min = self->priv->peer_latency_max = 0;
+
   gst_aggregator_set_allocation (self, NULL, NULL, NULL, NULL);
 
   klass = GST_AGGREGATOR_GET_CLASS (self);