mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-18 04:05:34 +00:00
aggregator: Query the peer latency again on the next opportunity after a pad was added or removed
Adding a pad will add a new upstream that might have a bigger minimum latency, so we might have to wait longer. Or it might be the first live upstream, in which case we will have to start deadline based aggregation. Removing a pad will remove a new upstream that might have had the biggest latency, so we can now stop waiting a bit earlier. Or it might be the last live upstream, in which case we can stop deadline based aggregation.
This commit is contained in:
parent
07247f01ca
commit
9ab98e9b22
1 changed files with 2 additions and 0 deletions
|
@ -1099,6 +1099,7 @@ gst_aggregator_release_pad (GstElement * element, GstPad * pad)
|
||||||
gst_aggregator_pad_set_flushing (aggpad, GST_FLOW_FLUSHING);
|
gst_aggregator_pad_set_flushing (aggpad, GST_FLOW_FLUSHING);
|
||||||
gst_element_remove_pad (element, pad);
|
gst_element_remove_pad (element, pad);
|
||||||
|
|
||||||
|
self->priv->has_peer_latency = FALSE;
|
||||||
SRC_BROADCAST (self);
|
SRC_BROADCAST (self);
|
||||||
SRC_UNLOCK (self);
|
SRC_UNLOCK (self);
|
||||||
}
|
}
|
||||||
|
@ -1143,6 +1144,7 @@ gst_aggregator_request_new_pad (GstElement * element,
|
||||||
}
|
}
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (element, "Adding pad %s", GST_PAD_NAME (agg_pad));
|
GST_DEBUG_OBJECT (element, "Adding pad %s", GST_PAD_NAME (agg_pad));
|
||||||
|
self->priv->has_peer_latency = FALSE;
|
||||||
|
|
||||||
if (priv->running)
|
if (priv->running)
|
||||||
gst_pad_set_active (GST_PAD (agg_pad), TRUE);
|
gst_pad_set_active (GST_PAD (agg_pad), TRUE);
|
||||||
|
|
Loading…
Reference in a new issue