aggregator: don't fail all sink pads when a caps event fails negotiation
authorMatthew Waters <matthew@centricular.com>
Fri, 31 Jul 2020 06:02:03 +0000 (16:02 +1000)
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Fri, 18 Sep 2020 09:04:21 +0000 (09:04 +0000)
If one pad returns not-negotiated from a caps event, then all other sink
pads were returning not-negotiated.

In our case, we can't reliably easily fail at all so just remove that
code.

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

libs/gst/base/gstaggregator.c

index 3f6775bb333f43c0aebf5aa97023b212325e1fd8..5dab9fa7b72cb0beaf1928afe352dbc334e400df 100644 (file)
@@ -920,8 +920,6 @@ gst_aggregator_do_events_and_queries (GstElement * self, GstPad * epad,
         PAD_LOCK (pad);
         if (GST_EVENT_TYPE (event) == GST_EVENT_CAPS) {
           pad->priv->negotiated = ret;
-          if (!ret)
-            pad->priv->flow_return = data->flow_ret = GST_FLOW_NOT_NEGOTIATED;
         }
         if (g_queue_peek_tail (&pad->priv->data) == event)
           gst_event_unref (g_queue_pop_tail (&pad->priv->data));