mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-30 04:00:37 +00:00
dd4bbb6379
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> |
||
---|---|---|
.. | ||
gstvideoconvert.c | ||
gstvideoconvert.h | ||
gstvideoconvertscale.c | ||
gstvideoconvertscale.h | ||
gstvideoconvertscaleplugin.c | ||
gstvideoscale.c | ||
gstvideoscale.h | ||
meson.build | ||
README |
- test different strides using gst-launch -v videotestsrc ! video/x-raw,width=320,height=240,format=UYVY ! videoconvertscale ! video/x-raw,width=328,height=240 ! xvimagesink gst-launch -v videotestsrc ! video/x-raw,width=320,height=240,format=UYVY ! videoconvertscale ! video/x-raw,width=324,height=240 ! xvimagesink gst-launch -v videotestsrc ! video/x-raw,width=320,height=240,format=UYVY ! videoconvertscale ! video/x-raw,width=322,height=240 ! xvimagesink gst-launch -v videotestsrc ! video/x-raw,width=320,height=240,format=UYVY ! videoconvertscale ! video/x-raw,width=321,height=240 ! xvimagesink