summaryrefslogtreecommitdiffstats
path: root/player/core.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-07-02 13:17:20 +0200
committerwm4 <wm4@nowhere>2015-07-02 13:18:06 +0200
commitff25c0ad7d7c3d1ca6f147a689884afc24e4b250 (patch)
treea6ad552d878420e5d79f7a1ad9dfaac10651dac2 /player/core.h
parent53845d81f5f8933b92a1d03bae91e94c5106334b (diff)
downloadmpv-ff25c0ad7d7c3d1ca6f147a689884afc24e4b250.tar.bz2
mpv-ff25c0ad7d7c3d1ca6f147a689884afc24e4b250.tar.xz
vo_opengl: fix "freezes" after seeking with interpolation on
When seeking to a different position, and seeking takes long, the OSD might get redrawn. This means that the VO will receive a request to redraw an old frame using whatever the previous PTS was. This breaks the interpolation logic: the old frame will be added to the queue, and then the next frames (with lower PTS if you seeked backwards) are not drawn as the logic assumes they're past frames. Fix this by using the non-interpolation code path when redrawing after a seek reset, and no "real" frame has been drawn yet. It's a recent regression caused by the redrawing code simplification. The old code simply sent a VOCTRL for redrawing the frame, and the VO had to deal with retaining the old frame on its own. This is a hack as in there's probably a better solution. Fixes #2097.
Diffstat (limited to 'player/core.h')
0 files changed, 0 insertions, 0 deletions