1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-21 15:12:48 +00:00
mpv/video/out
Dudemanguy 07995f5d5f vo_gpu_next: improve updating overlays
fbe154831a added a new VOCTRL to signal
when the OSD changed for gpu-next's handling of subtitles, but this is
both not necessary and actually incomplete. The VOCTRL would signal OSD
changes, but not all subtitle changes (like selecting another
non-external sub track for example). VOCTRL_OSD_CHANGED was used to
increment p->osd_sync which would then redraw the blended subtitles if
the player was paused.

But there's already a VOCTRL_PAUSE and VOCTRL_RESUME. Plus, the
sub_bitmap_list object will have items in it if it changed in any way,
so we don't need the VOCTRL_OSD_CHANGED method at all. That can be
removed.

The check that fp->osd_sync < p->osd_sync stays in place since that's an
optimization while the video is playing, but we also check the pause
state as well since the VO can know this. If we're paused, then always
do update_overlays since core must be signalling a redraw to us if we
get a draw_frame call here. Additionally in update_overlays itself, the
p->osd_sync counter is incremented if we have any items since the frame
signature will need that. As for the actual bug that is fixed, changing
subtitle tracks while paused with blended subtitles now correctly works.
Previously, it was never updated so the old subtitle stayed there
forever until you deselected it (since VOCTRL_OSD_CHANGED triggered
there).

Also include some cosmetic code fixes that were noticed.
2023-10-05 22:32:06 +00:00
..
cocoa
d3d11 vo: change vsync base to nanoseconds 2023-09-29 20:48:58 +00:00
gpu vo_gpu: remove --scaler-lut-size 2023-09-25 12:45:17 +02:00
gpu_next
hwdec hwdec_drmprime: add nv16 support 2023-09-29 12:10:59 +02:00
mac
opengl opengl/context_win: move opengl-dwmflush to wingl_opts group 2023-09-22 14:20:38 +00:00
placebo
vulkan vo: vulkan: allow picking devices by UUID 2023-09-04 15:22:20 -07:00
win32 win32: don't load dynamically always available functions 2023-09-01 16:58:56 +02:00
wldmabuf
android_common.c
android_common.h
aspect.c Revert "aspect: change --video-pan-x/y to be relative to the destination rect" 2023-09-02 16:18:31 +00:00
aspect.h
bitmap_packer.c
bitmap_packer.h
cocoa_cb_common.swift
cocoa_common.h
cocoa_common.m timer: rename mp_add_timeout to reflect what it actually does 2023-09-29 20:48:58 +00:00
dither.c
dither.h
dr_helper.c
dr_helper.h
drm_atomic.c
drm_atomic.h
drm_common.c vo: change vsync base to nanoseconds 2023-09-29 20:48:58 +00:00
drm_common.h
drm_prime.c
drm_prime.h
filter_kernels.c vo_gpu: remove --scale-cutoff etc 2023-09-25 12:45:17 +02:00
filter_kernels.h vo_gpu: remove --scale-cutoff etc 2023-09-25 12:45:17 +02:00
libmpv_sw.c
libmpv.h
meson.build meson: rename all features with underscores 2023-08-20 21:13:37 +00:00
present_sync.c vo: change vsync base to nanoseconds 2023-09-29 20:48:58 +00:00
present_sync.h
vo_caca.c vo: fully replace draw_image with draw_frame 2023-10-01 14:48:38 +00:00
vo_direct3d.c vo: fully replace draw_image with draw_frame 2023-10-01 14:48:38 +00:00
vo_dmabuf_wayland.c vo_dmabuf_wayland: correct full window size calculation 2023-10-05 22:28:37 +00:00
vo_drm.c
vo_gpu_next.c vo_gpu_next: improve updating overlays 2023-10-05 22:32:06 +00:00
vo_gpu.c
vo_image.c vo: fully replace draw_image with draw_frame 2023-10-01 14:48:38 +00:00
vo_kitty.c
vo_lavc.c options: remove a few options marked with .deprecation_message 2023-09-21 16:06:29 +00:00
vo_libmpv.c
vo_mediacodec_embed.c
vo_null.c vo: fully replace draw_image with draw_frame 2023-10-01 14:48:38 +00:00
vo_rpi.c
vo_sdl.c vo: fully replace draw_image with draw_frame 2023-10-01 14:48:38 +00:00
vo_sixel.c vo_sixel: change exit-clear handling to OPT_REPLACED 2023-09-21 16:06:29 +00:00
vo_tct.c vo: fully replace draw_image with draw_frame 2023-10-01 14:48:38 +00:00
vo_vaapi.c vo: fully replace draw_image with draw_frame 2023-10-01 14:48:38 +00:00
vo_vdpau.c vo: change vsync base to nanoseconds 2023-09-29 20:48:58 +00:00
vo_wlshm.c
vo_x11.c vo: fully replace draw_image with draw_frame 2023-10-01 14:48:38 +00:00
vo_xv.c vo: fully replace draw_image with draw_frame 2023-10-01 14:48:38 +00:00
vo.c vo_gpu_next: improve updating overlays 2023-10-05 22:32:06 +00:00
vo.h vo_gpu_next: improve updating overlays 2023-10-05 22:32:06 +00:00
w32_common.c win32: clear client area to black early 2023-10-05 17:10:23 +02:00
w32_common.h
wayland_common.c vo_dmabuf_wayland: attach solid buffer when using force window 2023-10-02 15:58:03 -05:00
wayland_common.h
win_state.c
win_state.h
x11_common.c vo: change vsync base to nanoseconds 2023-09-29 20:48:58 +00:00
x11_common.h x11: remove xinerama and refactor window geometry 2023-08-20 02:01:39 +00:00