From a001f6d58710db2848c415402424f1b34ee9f5d6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Olivier=20Cr=C3=AAte?= Date: Fri, 18 Nov 2016 14:44:16 -0500 Subject: [PATCH] aggregator: Request pad templates which are not request pad https://bugzilla.gnome.org/show_bug.cgi?id=782920 --- libs/gst/base/gstaggregator.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/libs/gst/base/gstaggregator.c b/libs/gst/base/gstaggregator.c index 28bdde0..ec4be92 100644 --- a/libs/gst/base/gstaggregator.c +++ b/libs/gst/base/gstaggregator.c @@ -1606,6 +1606,9 @@ gst_aggregator_default_create_new_pad (GstAggregator * self, if (templ->direction != GST_PAD_SINK) goto not_sink; + if (templ->presence != GST_PAD_REQUEST) + goto not_request; + GST_OBJECT_LOCK (self); if (req_name == NULL || strlen (req_name) < 6 || !g_str_has_prefix (req_name, "sink_")) { @@ -1630,7 +1633,12 @@ gst_aggregator_default_create_new_pad (GstAggregator * self, /* errors */ not_sink: { - GST_WARNING_OBJECT (self, "request new pad that is not a SINK pad\n"); + GST_WARNING_OBJECT (self, "request new pad that is not a SINK pad"); + return NULL; + } +not_request: + { + GST_WARNING_OBJECT (self, "request new pad that is not a REQUEST pad"); return NULL; } } -- 2.7.4