diff options
author | Niklas Haas <git@haasn.dev> | 2022-02-15 12:47:53 +0100 |
---|---|---|
committer | Niklas Haas <github-daiK1o@haasn.dev> | 2022-02-21 12:01:44 +0100 |
commit | fbe154831a8addfc18a4f81e1c4b9284c31acace (patch) | |
tree | 1aca46bd7926589269894ec0216b53f4807a4936 /video/out/vo.c | |
parent | 27c38eac1040cd781f39d977ce53adcd65ddcfb6 (diff) | |
download | mpv-fbe154831a8addfc18a4f81e1c4b9284c31acace.tar.bz2 mpv-fbe154831a8addfc18a4f81e1c4b9284c31acace.tar.xz |
vo_gpu_next: refactor subtitle rendering
Render subs at the output resolution, rather than the video resolution.
Uses the new APIs found in libplacebo 197+, to allow controlling the OSD
resolution even for image-attached overlays.
Also fixes an issue where the overlay state did not get correctly
updated while paused. To avoid regenerating the OSD / flushing the cache
constantly, we keep track of OSD changes and only regenerate the OSD
when the OSD state is expected to change in some way (e.g. resolution
change). This requires introducing a new VOCTRL to inform the VO when
the UPDATE_OSD-tagged options have changed.
Fixes #9744, #9524, #9399 and #9398.
Diffstat (limited to 'video/out/vo.c')
-rw-r--r-- | video/out/vo.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/video/out/vo.c b/video/out/vo.c index 253cb6274a..11ef596227 100644 --- a/video/out/vo.c +++ b/video/out/vo.c @@ -678,6 +678,7 @@ void vo_control_async(struct vo *vo, int request, void *data) break; case VOCTRL_KILL_SCREENSAVER: case VOCTRL_RESTORE_SCREENSAVER: + case VOCTRL_OSD_CHANGED: break; default: abort(); // requires explicit support |