1
0
mirror of https://github.com/mpv-player/mpv synced 2025-02-23 08:26:56 +00:00
mpv/video
Dudemanguy f5e828ac25 vo_dmabuf_wayland: update the image of pending buffers
When using a display-* video-sync mode, it is possible for buffers with
a matching id to already have an image associated with them (i.e. the
compositor hasn't released it yet). Previously, it was thought that we
could just unref, return null, and make a new buffer but this eventually
leads to a fatal error that originates from libwayland itself which
stops playback. Admittedly, the reason for the error is a bit nebulous
but likely it seems to be some kind of mismatch between dmabuf params
and the associated image with the buffer.

However, we can simplify this process greatly. Instead when the
previously mentioned edge case happens, the old image can simply be
freed and we give the buffer the new image. This saves creating a new
buffer and also avoids that nasty libwayland error. A nice win-win all
around. Fixes #11773.
2023-06-14 12:21:10 -05:00
..
decode vd_lavc: sort hwdecs without hwdevices last for autoprobing 2023-02-26 16:40:59 +01:00
filter f_hwtransfer: disable vulkan multiplane images when uploading from cuda 2023-05-28 15:46:05 -07:00
out vo_dmabuf_wayland: update the image of pending buffers 2023-06-14 12:21:10 -05:00
csputils.c video: add missing libplacebo colorspace enums 2023-03-05 22:37:05 -05:00
csputils.h video: add missing libplacebo colorspace enums 2023-03-05 22:37:05 -05:00
cuda.c various: drop unused #include "config.h" 2023-02-20 14:21:18 +00:00
d3d.c video: remove mp_image_params.hw_flags field 2019-10-17 22:43:14 +02:00
d3d.h
drmprime.c various: drop unused #include "config.h" 2023-02-20 14:21:18 +00:00
fmt-conversion.c hwdec_vulkan: add Vulkan HW Interop 2023-05-28 15:46:05 -07:00
fmt-conversion.h
hwdec.c filters: support loading new hwdec_interops from filters 2022-09-21 09:39:34 -07:00
hwdec.h vo: hwdec: do hwdec interop lookup by image format 2022-09-21 09:39:34 -07:00
image_loader.c screenshot, vo_image: use global swscale/zimg parameters 2019-10-31 15:44:09 +01:00
image_loader.h
image_writer.c options: transition options from OPT_FLAG to OPT_BOOL 2023-02-21 17:15:17 +00:00
image_writer.h options: transition options from OPT_FLAG to OPT_BOOL 2023-02-21 17:15:17 +00:00
img_format.c various: drop unused #include "config.h" 2023-02-20 14:21:18 +00:00
img_format.h hwdec_vulkan: add Vulkan HW Interop 2023-05-28 15:46:05 -07:00
mp_image_pool.c f_hwtransfer: disable vulkan multiplane images when uploading from cuda 2023-05-28 15:46:05 -07:00
mp_image_pool.h f_hwtransfer: disable vulkan multiplane images when uploading from cuda 2023-05-28 15:46:05 -07:00
mp_image.c mp_image: use the ffmpeg interlaced frame flags where available 2023-05-11 14:31:17 -07:00
mp_image.h mp_image: forward AV_FRAME_DATA_DOVI_RPU_BUFFER side data 2023-02-19 20:50:37 +01:00
repack.c repack: add repacker for ccc16x16 formats 2022-09-10 12:31:44 -07:00
repack.h repack: add support for converting from/to float formats 2020-05-09 18:02:57 +02:00
sws_utils.c test: integrate unittests with meson 2023-03-02 15:45:27 +00:00
sws_utils.h sws_utils: work around libswscale corrupting memory yet again 2020-09-17 15:24:27 +02:00
vaapi.c vaapi: correct broken NULL check 2020-06-03 15:12:08 +02:00
vaapi.h vo_gpu: hwdec_vaapi: Suppress format errors when probing 2019-07-08 01:57:02 +02:00
vdpau_functions.inc
vdpau_mixer.c
vdpau_mixer.h options: transition options from OPT_FLAG to OPT_BOOL 2023-02-21 17:15:17 +00:00
vdpau.c video: remove RGB32/BGR32 aliases 2020-05-11 19:57:34 +02:00
vdpau.h
zimg.c video: add missing libplacebo colorspace enums 2023-03-05 22:37:05 -05:00
zimg.h options: transition options from OPT_FLAG to OPT_BOOL 2023-02-21 17:15:17 +00:00