summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2011-12-08 17:07:05 +0100
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2011-12-08 18:11:43 +0100
commitaad7225eb5201ac5df1ed1044a44df9e5284e224 (patch)
tree20391798818fbf51ba26931ce01b304d1ab5183f
parent26a1ac0ce700e7b62bbb12673afedee9c4f6b42b (diff)
basetransform: Fall back to upstream provided caps if fixation of suggested caps failed
-rw-r--r--libs/gst/base/gstbasetransform.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libs/gst/base/gstbasetransform.c b/libs/gst/base/gstbasetransform.c
index 409b99910..9acb942d3 100644
--- a/libs/gst/base/gstbasetransform.c
+++ b/libs/gst/base/gstbasetransform.c
@@ -1937,8 +1937,11 @@ gst_base_transform_buffer_alloc (GstPad * pad, guint64 offset, guint size,
gst_pad_fixate_caps (GST_BASE_TRANSFORM_SINK_PAD (trans), sink_suggest);
if (!gst_caps_is_fixed (sink_suggest)) {
- gst_caps_unref (sink_suggest);
- sink_suggest = NULL;
+ GST_DEBUG_OBJECT (trans,
+ "Impossible to fixate caps, using upstream caps");
+ gst_caps_replace (&sink_suggest, caps);
+ size_suggest = size;
+ suggest = FALSE;
}
GST_DEBUG_OBJECT (trans, "Caps fixed to: %" GST_PTR_FORMAT,