summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: aad7225)
raw | patch | inline | side by side (parent: aad7225)
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | |
Thu, 8 Dec 2011 16:21:30 +0000 (17:21 +0100) | ||
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | |
Thu, 8 Dec 2011 17:11:43 +0000 (18:11 +0100) |
libs/gst/base/gstbasetransform.c | patch | blob | history |
index 9acb942d3d425fdd396b0ce7f0f5edd0cbec4441..d762f7b35639db069445f0e117e7c1ccbb7985fc 100644 (file)
templ = gst_pad_get_pad_template_caps (pad);
- if (!gst_caps_can_intersect (sink_suggest, templ)) {
+ /* Fall back to the upstream caps if the suggested caps
+ * are not actually supported. Shouldn't really happen
+ */
+ if (suggest && !gst_caps_can_intersect (sink_suggest, templ)) {
+ GST_DEBUG_OBJECT (trans,
+ "Suggested caps not supported by sinkpad, using upstream caps");
+ gst_caps_replace (&sink_suggest, caps);
+ size_suggest = size;
+ suggest = FALSE;
+ new_caps = sink_suggest
+ && !gst_caps_is_equal (sink_suggest, priv->sink_alloc);
+ }
+
+ if (new_caps && (suggest || !gst_caps_can_intersect (sink_suggest, templ))) {
GstCaps *allowed;
GstCaps *peercaps;