diff options
author | wm4 <wm4@nowhere> | 2017-10-17 09:07:35 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2017-10-17 09:07:35 +0200 |
commit | c90f76d3224f41dda2ac462e3aedcd0dd10ce3cf (patch) | |
tree | 9592eb12cb72e376bc328533ae15e53beff58b10 /video/out/vo_gpu.c | |
parent | b299a3f54656095bd0f038360721d29356c7049d (diff) | |
download | mpv-c90f76d3224f41dda2ac462e3aedcd0dd10ce3cf.tar.bz2 mpv-c90f76d3224f41dda2ac462e3aedcd0dd10ce3cf.tar.xz |
vo_gpu: fix video sometimes not being rerendered on equalizer change
With video paused, changing the brightness controls (or similar) would
sometimes not rerender the video frame. So the OSD would redraw, but the
video wouldn't change. This is caused by output caching, and a redraw
request is free to return the cached frame. Change it such to invalidate
the cached frame if any of the options or the equalizer change.
In theory, gl_video_reset_surfaces() could be called if the equalizer
changes - this would apparently force interpolatzion to redraw all
frames. But this looks kind of crappy when changing the equalizer during
playback. It'll "eventually" use the correct settings anyway, and when
paused interpolation is off.
Diffstat (limited to 'video/out/vo_gpu.c')
-rw-r--r-- | video/out/vo_gpu.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/video/out/vo_gpu.c b/video/out/vo_gpu.c index 0a0541aabb..00be7b6a00 100644 --- a/video/out/vo_gpu.c +++ b/video/out/vo_gpu.c @@ -199,7 +199,6 @@ static int control(struct vo *vo, uint32_t request, void *data) request_hwdec_api(vo, data); return true; case VOCTRL_UPDATE_RENDER_OPTS: { - gl_video_update_options(p->renderer); get_and_update_icc_profile(p); gl_video_configure_queue(p->renderer, p->vo); p->vo->want_redraw = true; |