mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-28 20:05:38 +00:00
basetransform: Fix handling of reverse caps negotiation if this element alone is not enough to do the transform
For example if downstream wants a new width/height and color format and there's first a videoscale and then a ffmpegcolorspace. ffmpegcolorspace could do the color format conversion, but not the width/height and the other way around.
This commit is contained in:
parent
65c69c60ed
commit
fa4da8fe6b
1 changed files with 2 additions and 1 deletions
|
@ -1974,7 +1974,7 @@ gst_base_transform_buffer_alloc (GstPad * pad, guint64 offset, guint size,
|
|||
&& !gst_caps_is_equal (sink_suggest, priv->sink_alloc);
|
||||
}
|
||||
|
||||
if (new_caps && (suggest || !gst_caps_can_intersect (sink_suggest, templ))) {
|
||||
if (new_caps && !gst_caps_can_intersect (sink_suggest, templ)) {
|
||||
GstCaps *allowed, *peercaps;
|
||||
|
||||
GST_DEBUG_OBJECT (trans,
|
||||
|
@ -2023,6 +2023,7 @@ gst_base_transform_buffer_alloc (GstPad * pad, guint64 offset, guint size,
|
|||
}
|
||||
|
||||
gst_caps_replace (&sink_suggest, allowed);
|
||||
size_suggest = 0;
|
||||
gst_caps_unref (allowed);
|
||||
|
||||
suggest = TRUE;
|
||||
|
|
Loading…
Reference in a new issue