1
0
mirror of https://github.com/mpv-player/mpv synced 2025-02-20 06:46:55 +00:00
mpv/video
Kacper Michajłow 5098a27e66 vo: ensure that frames are not eaten on reconfig
This avoids clearing the queued frame and the currently displayed one on
VO reconfiguration requests that happen when new frames arrive. Instead,
let those frames be fully displayed.

Fixes mf:// playback issues introduced after commit ef11d31.

Instead of removing the frame timing check embrace and fix it to wake up
the playloop as needed. The frame display duration is problematic to
handle as both VO and playloop thread would already be sleeping, but in
certain use cases it is needed to display frames in full, so in this
case, let the VO sleep to the end of frame, wake up the core as
requested and go back sleeping.

Note that this patch series reintroduces 0c9ac5835, which is esenitally
fixed in this commit. It is still not perfect, but it is better than
just busy waiting on playloop, even if those events when this would be
needed are quite rare.
2024-02-15 16:39:58 +00:00
..
decode ALL: use new mp_thread abstraction 2023-11-05 17:36:17 +00:00
filter all: add missing repr assignments 2024-01-26 18:17:02 +02:00
out vo: ensure that frames are not eaten on reconfig 2024-02-15 16:39:58 +00:00
csputils.c player: ensure runtime updates of certain rendering options 2024-02-05 17:23:47 +00:00
csputils.h csputils: replace more primitives with pl_ 2024-01-22 14:54:55 +00:00
cuda.c cuda: move --cuda-device to cuda_opts group 2023-09-22 14:20:38 +00:00
d3d.c vo: add missing return variable assignment 2023-11-18 23:55:28 +00:00
d3d.h video: move d3d.c out of decode sub directory 2017-12-01 17:58:56 +01:00
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 ALL: use new mp_thread abstraction 2023-11-05 17:36:17 +00:00
hwdec.h hwtransfer: use the right hardware config to find conversion targets 2023-08-26 10:07:55 -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 csputils: replace mp_chroma_location with pl_chroma_location 2024-01-22 14:54:55 +00:00
image_writer.h video/image_writer: add avif screenshot support 2023-07-01 02:05:23 +00:00
img_format.c csputils: replace mp_colorspace with pl_color_space 2024-01-22 14:54:55 +00:00
img_format.h csputils: replace mp_colorspace with pl_color_space 2024-01-22 14:54:55 +00:00
mp_image_pool.c chmap: mp_image_pool: drop stale mentions of Libav in comments 2024-01-20 16:10:20 +00: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 all: add missing repr assignments 2024-01-26 18:17:02 +02:00
mp_image.h csputils: replace mp_chroma_location with pl_chroma_location 2024-01-22 14:54:55 +00:00
repack.c csputils: replace mp_colorspace with pl_color_space 2024-01-22 14:54:55 +00:00
repack.h repack: add support for converting from/to float formats 2020-05-09 18:02:57 +02:00
sws_utils.c csputils: replace mp_chroma_location with pl_chroma_location 2024-01-22 14:54:55 +00:00
sws_utils.h sws_utils: work around libswscale corrupting memory yet again 2020-09-17 15:24:27 +02:00
vaapi.c csputils: replace mp_colorspace with pl_color_space 2024-01-22 14:54:55 +00:00
vaapi.h csputils: replace mp_colorspace with pl_color_space 2024-01-22 14:54:55 +00:00
vdpau_functions.inc
vdpau_mixer.c csputils: replace more primitives with pl_ 2024-01-22 14:54:55 +00:00
vdpau_mixer.h options: transition options from OPT_FLAG to OPT_BOOL 2023-02-21 17:15:17 +00:00
vdpau.c ALL: use new mp_thread abstraction 2023-11-05 17:36:17 +00:00
vdpau.h ALL: use new mp_thread abstraction 2023-11-05 17:36:17 +00:00
zimg.c csputils: replace more primitives with pl_ 2024-01-22 14:54:55 +00:00
zimg.h options: transition options from OPT_FLAG to OPT_BOOL 2023-02-21 17:15:17 +00:00