aggregator: Allow passing unparented pads to gst_aggregator_pad_is_inactive()
authorSebastian Dröge <sebastian@centricular.com>
Thu, 19 Oct 2023 16:44:21 +0000 (19:44 +0300)
committerTim-Philipp Müller <tim@centricular.com>
Wed, 25 Oct 2023 13:58:06 +0000 (14:58 +0100)
It's very difficult to ensure that a pad is still child of the
aggregator during aggregation, so simply consider unparented pads as
inactive instead of asserting.

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

subprojects/gstreamer/libs/gst/base/gstaggregator.c

index 5c71132..31cdf67 100644 (file)
@@ -3701,8 +3701,8 @@ gst_aggregator_pad_is_inactive (GstAggregatorPad * pad)
   gboolean inactive;
 
   self = GST_AGGREGATOR (gst_pad_get_parent_element (GST_PAD (pad)));
-
-  g_assert_nonnull (self);
+  if (!self)
+    return FALSE;
 
   PAD_LOCK (pad);
   inactive = self->priv->ignore_inactive_pads && is_live_unlocked (self)