libs/gst/base/gstbasetransform.c: If we have a fixate function, call it even if we already have fixed caps because th...

Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_find_transform), (gst_base_transform_getrange):
If we have a fixate function, call it even if we already have fixed caps
because the subclass might add some caps. Makes audioconvert add a
default channel layout.
This commit is contained in:
Wim Taymans 2008-10-27 15:02:48 +00:00
parent 8d871b9c1d
commit 8798ea2cca
2 changed files with 20 additions and 0 deletions

View file

@ -1,3 +1,11 @@
2008-10-27 Wim Taymans <wim.taymans@collabora.co.uk>
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_find_transform), (gst_base_transform_getrange):
If we have a fixate function, call it even if we already have fixed caps
because the subclass might add some caps. Makes audioconvert add a
default channel layout.
2008-10-24 Wim Taymans <wim.taymans@collabora.co.uk>
* libs/gst/base/gstbasetransform.c:

View file

@ -896,6 +896,18 @@ gst_base_transform_find_transform (GstBaseTransform * trans, GstPad * pad,
gst_pad_fixate_caps (otherpad, othercaps);
}
GST_DEBUG_OBJECT (trans, "after fixating %" GST_PTR_FORMAT, othercaps);
} else {
/* else caps are fixed but the subclass may want to add fields */
if (klass->fixate_caps) {
othercaps = gst_caps_make_writable (othercaps);
GST_DEBUG_OBJECT (trans, "doing fixate %" GST_PTR_FORMAT
" using caps %" GST_PTR_FORMAT
" on pad %s:%s using fixate_caps vmethod", othercaps, caps,
GST_DEBUG_PAD_NAME (otherpad));
klass->fixate_caps (trans, GST_PAD_DIRECTION (pad), caps, othercaps);
}
}
/* caps should be fixed now, if not we have to fail. */