1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-29 10:32:15 +00:00
mpv/player
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
..
javascript build: remove outdated generated directory 2023-07-31 19:00:06 +00:00
lua osc: move the idle logo behind other overlays 2023-09-27 23:05:53 +00:00
audio.c audio: drain ao before setting pause 2023-08-11 22:28:50 +00:00
client.c timer: rename mp_add_timeout to reflect what it actually does 2023-09-29 20:48:58 +00:00
client.h scripting: remove race condition when toggling internal scripts 2020-03-26 23:59:44 +01:00
command.c vo_gpu_next: improve updating overlays 2023-10-05 22:32:06 +00:00
command.h various: add missing include in header flles 2023-09-21 14:40:11 +00:00
configfiles.c player: always write redirect entries for resuming playback 2023-08-28 18:31:17 +00:00
core.h player: remove unused mutate argument in mp_next_file 2023-10-05 17:09:43 +02:00
external_files.c external_files: remove duplicate from cover art whitelist 2023-10-04 15:31:38 +00:00
external_files.h player: make all autoload extensions configurable 2023-08-26 00:33:00 +00:00
javascript.c build: remove outdated generated directory 2023-07-31 19:00:06 +00:00
loadfile.c player: remove unused mutate argument in mp_next_file 2023-10-05 17:09:43 +02:00
lua.c build: remove outdated generated directory 2023-07-31 19:00:06 +00:00
main.c player/main: do not print build time, if it is unknown 2023-08-02 18:51:13 +00:00
meson.build build: remove outdated generated directory 2023-07-31 19:00:06 +00:00
misc.c vo_wayland: fix warning -Wvoid-pointer-to-enum-cast 2023-02-26 16:45:07 +01:00
osd.c player: add --term-remaining-playtime option 2023-08-13 19:58:20 +00:00
playloop.c Revert "demux: improve stream selection state" 2023-09-30 09:02:57 -05:00
screenshot.c win32/pthread: define _POSIX_TIMERS to notify they are not supported 2023-09-29 20:48:58 +00:00
screenshot.h player: make screenshot each-frame mode more accurate 2020-02-07 13:32:21 +01:00
scripting.c cplugin: allow loading mpv_* symbols dynamically 2023-09-20 02:16:45 +00:00
sub.c Revert "demux: improve stream selection state" 2023-09-30 09:02:57 -05:00
video.c vo: change vsync base to nanoseconds 2023-09-29 20:48:58 +00:00