summaryrefslogtreecommitdiffstats
path: root/video/out/vo_gpu.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2017-10-17 09:07:35 +0200
committerwm4 <wm4@nowhere>2017-10-17 09:07:35 +0200
commitc90f76d3224f41dda2ac462e3aedcd0dd10ce3cf (patch)
tree9592eb12cb72e376bc328533ae15e53beff58b10 /video/out/vo_gpu.c
parentb299a3f54656095bd0f038360721d29356c7049d (diff)
downloadmpv-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.c1
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;