bayer2rgb: take into account filter in transform_caps function
Fixes criticals when filter caps are passed. Also fix wrong GST_DEBUG_OBJECT use. https://bugzilla.gnome.org/show_bug.cgi?id=741863
This commit is contained in:
parent
5dd1dfdadc
commit
68d4616ac8
@ -286,7 +286,7 @@ gst_bayer2rgb_transform_caps (GstBaseTransform * base,
|
|||||||
GstCaps *newcaps;
|
GstCaps *newcaps;
|
||||||
GstStructure *newstruct;
|
GstStructure *newstruct;
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (caps, "transforming caps (from)");
|
GST_DEBUG_OBJECT (base, "transforming caps from %" GST_PTR_FORMAT, caps);
|
||||||
|
|
||||||
structure = gst_caps_get_structure (caps, 0);
|
structure = gst_caps_get_structure (caps, 0);
|
||||||
|
|
||||||
@ -305,7 +305,17 @@ gst_bayer2rgb_transform_caps (GstBaseTransform * base,
|
|||||||
gst_structure_set_value (newstruct, "framerate",
|
gst_structure_set_value (newstruct, "framerate",
|
||||||
gst_structure_get_value (structure, "framerate"));
|
gst_structure_get_value (structure, "framerate"));
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (newcaps, "transforming caps (into)");
|
if (filter != NULL) {
|
||||||
|
GstCaps *icaps;
|
||||||
|
|
||||||
|
GST_DEBUG_OBJECT (base, " filter %" GST_PTR_FORMAT, filter);
|
||||||
|
|
||||||
|
icaps = gst_caps_intersect_full (filter, newcaps, GST_CAPS_INTERSECT_FIRST);
|
||||||
|
gst_caps_unref (newcaps);
|
||||||
|
newcaps = icaps;
|
||||||
|
}
|
||||||
|
|
||||||
|
GST_DEBUG_OBJECT (base, " into %" GST_PTR_FORMAT, newcaps);
|
||||||
|
|
||||||
return newcaps;
|
return newcaps;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user