mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 19:51:11 +00:00
videoconvertscale: ensure writable caps when fixating format
gst_video_convert_scale_get_fixed_format() receives 'othercaps' from basetransforms' fixate_caps() vmethod which explicitly mentions that '`othercaps` may not be writable'. The gst_caps_intersect() call just before may or may not produce new caps. Particularly in cases like EMPTY or ANY caps on either of the inputs, only a ref is taken and returned to the caller. As a result, gst_video_convert_scale_fixate_format() may have attempted to modify a non-writable caps structure. Fix by adding a gst_caps_make_writable(). Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2709>
This commit is contained in:
parent
339f950e79
commit
dd4bbb6379
1 changed files with 1 additions and 0 deletions
|
@ -1249,6 +1249,7 @@ gst_video_convert_scale_get_fixed_format (GstBaseTransform * trans,
|
|||
result = gst_caps_copy (othercaps);
|
||||
}
|
||||
|
||||
result = gst_caps_make_writable (result);
|
||||
gst_video_convert_scale_fixate_format (trans, caps, result);
|
||||
|
||||
/* fixate remaining fields */
|
||||
|
|
Loading…
Reference in a new issue