summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2011-05-05 17:54:56 +0200
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2011-05-14 11:39:34 +0200
commite8688b62b2d0536509c3b35bb962fa4dfe0de7d4 (patch)
treeec1daa6177d37bbe90090f2163bcc5a2a0ddc78a
parent6e57ce32e5b2a27bae464c85f7414efbe44632a4 (diff)
basetransform: When trying to fixate the sink suggestion prefer its structure order
-rw-r--r--libs/gst/base/gstbasetransform.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/libs/gst/base/gstbasetransform.c b/libs/gst/base/gstbasetransform.c
index 34bd6563f..a46642ea2 100644
--- a/libs/gst/base/gstbasetransform.c
+++ b/libs/gst/base/gstbasetransform.c
@@ -1799,7 +1799,9 @@ gst_base_transform_buffer_alloc (GstPad * pad, guint64 offset, guint size,
if (peercaps) {
GstCaps *intersect;
- intersect = gst_caps_intersect (peercaps, sink_suggest);
+ intersect =
+ gst_caps_intersect_full (sink_suggest, peercaps,
+ GST_CAPS_INTERSECT_FIRST);
gst_caps_unref (peercaps);
gst_caps_unref (sink_suggest);
sink_suggest = intersect;
@@ -1814,7 +1816,9 @@ gst_base_transform_buffer_alloc (GstPad * pad, guint64 offset, guint size,
GST_DEBUG_OBJECT (trans, "Checking if the input caps is compatible "
"with the non-fixed caps suggestion");
- intersect = gst_caps_intersect (sink_suggest, caps);
+ intersect =
+ gst_caps_intersect_full (sink_suggest, caps,
+ GST_CAPS_INTERSECT_FIRST);
if (!gst_caps_is_empty (intersect)) {
GST_DEBUG_OBJECT (trans, "It is, using it");
gst_caps_replace (&sink_suggest, caps);