From 7476186217f654bd03c279add1b635e7d9a26775 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 8 Sep 2011 14:31:52 +0200 Subject: [PATCH] Revert "Revert "pad: Check for subsets, not non-empty intersections to check if caps are compatible"" This reverts commit 2bfada5581e35a2d37188f48a2c7442644f10bb3. Conflicts: gst/gstpad.c For 0.11 we want to enforce that only subsets of the pad caps are allowed. This breaks backward compatibility for some elements, which is why we only print a warning in 0.10. --- gst/gstpad.c | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/gst/gstpad.c b/gst/gstpad.c index b01c483..7b283f3 100644 --- a/gst/gstpad.c +++ b/gst/gstpad.c @@ -2542,7 +2542,7 @@ gst_pad_acceptcaps_default (GstPad * pad, GstCaps * caps) GST_DEBUG_OBJECT (pad, "allowed caps %" GST_PTR_FORMAT, allowed); - result = gst_caps_can_intersect (allowed, caps); + result = gst_caps_is_subset (caps, allowed); gst_caps_unref (allowed); @@ -2601,26 +2601,6 @@ gst_pad_accept_caps (GstPad * pad, GstCaps * caps) result = acceptfunc (pad, caps); GST_DEBUG_OBJECT (pad, "acceptfunc returned %d", result); -#ifndef G_DISABLE_ASSERT - { - GstCaps *padcaps; - - padcaps = gst_pad_get_caps_reffed (pad); - if (!gst_caps_is_subset (caps, padcaps)) { - gchar *padcaps_str, *caps_str; - - padcaps_str = gst_caps_to_string (padcaps); - caps_str = gst_caps_to_string (caps); - g_warning ("pad %s:%s accepted caps %s although " - "they are not a subset of its caps %s", - GST_DEBUG_PAD_NAME (pad), caps_str, padcaps_str); - g_free (padcaps_str); - g_free (caps_str); - } - gst_caps_unref (padcaps); - } -#endif - return result; #if 0 @@ -2731,7 +2711,7 @@ do_event_function (GstPad * pad, GstEvent * event, /* See if pad accepts the caps */ templ = gst_pad_get_pad_template_caps (pad); - if (!gst_caps_can_intersect (caps, templ)) + if (!gst_caps_is_subset (caps, templ)) goto not_accepted; /* check if it changed */ -- 2.7.4