summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2020-08-20 09:06:04 +0300
committerTim-Philipp Müller <tim@centricular.com>2020-10-03 15:41:11 +0100
commitba39a544ff2b521208347a9ddd1dcf727f489dc7 (patch)
treec2792120e27917d99365a5fe0ddce4660787c410
parent83047de9a3df9052059d09534bbc580ad7ee9063 (diff)
downloadgstreamer-plugins-base-ba39a544ff2b521208347a9ddd1dcf727f489dc7.tar.gz
videoaggregator: Don't require any pads to be configured for negotiating source pad caps
This is not actually required (anymore?). Source pad caps can be negotiated at any time regardless of any configured (or existing) sink pads and videoaggregator comes up with some fixated caps based on the downstream caps. Subclasses can override this behaviour as needed by overriding update_src_caps(). Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/848>
-rw-r--r--gst-libs/gst/video/gstvideoaggregator.c23
1 files changed, 0 insertions, 23 deletions
diff --git a/gst-libs/gst/video/gstvideoaggregator.c b/gst-libs/gst/video/gstvideoaggregator.c
index 61cf22ec6..e0ccb3f1f 100644
--- a/gst-libs/gst/video/gstvideoaggregator.c
+++ b/gst-libs/gst/video/gstvideoaggregator.c
@@ -981,29 +981,6 @@ gst_video_aggregator_default_update_src_caps (GstAggregator * agg,
{
GstVideoAggregatorClass *vagg_klass = GST_VIDEO_AGGREGATOR_GET_CLASS (agg);
GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (agg);
- gboolean at_least_one_pad_configured = FALSE;
- GList *l;
-
- GST_OBJECT_LOCK (vagg);
- for (l = GST_ELEMENT (vagg)->sinkpads; l; l = l->next) {
- GstVideoAggregatorPad *mpad = l->data;
-
- if (GST_VIDEO_INFO_WIDTH (&mpad->info) == 0
- || GST_VIDEO_INFO_HEIGHT (&mpad->info) == 0)
- continue;
-
- at_least_one_pad_configured = TRUE;
- }
- GST_OBJECT_UNLOCK (vagg);
-
- if (!at_least_one_pad_configured) {
- /* We couldn't decide the output video info because the sinkpads don't have
- * all the caps yet, so we mark the pad as needing a reconfigure. This
- * allows aggregate() to skip ahead a bit and try again later. */
- GST_DEBUG_OBJECT (vagg, "Couldn't decide output video info");
- gst_pad_mark_reconfigure (agg->srcpad);
- return GST_AGGREGATOR_FLOW_NEED_DATA;
- }
g_assert (vagg_klass->update_caps);