diff options
author | wm4 <wm4@nowhere> | 2016-04-27 17:01:17 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2016-04-27 17:02:00 +0200 |
commit | 5df4ee55f14b59920e790ef462c84b66f520c531 (patch) | |
tree | aa25b7b86978cd632b14e2373ccb79c53935d450 /player | |
parent | 9cb036f297d7a3f40aad5ccade182f5449ae7bf8 (diff) | |
download | mpv-5df4ee55f14b59920e790ef462c84b66f520c531.tar.bz2 mpv-5df4ee55f14b59920e790ef462c84b66f520c531.tar.xz |
player: strictly wait until done when backstepping
This fixes backstepping getting "stuck" when e.g. holding down a key
bound to the backstep command. The reason is that even if the backstep
itself is finished, the next backstep might not take the new video PTS
as reference if the hr-seek itself isn't finished yet.
The intention of not waiting for the hr-seek to finish was faster
backstepping by possibly skipping audio decoding. But it probably
doesn't matter enough to make the rest of the code more complex.
Diffstat (limited to 'player')
-rw-r--r-- | player/playloop.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/player/playloop.c b/player/playloop.c index 6eadcbc313..cf26fbd029 100644 --- a/player/playloop.c +++ b/player/playloop.c @@ -141,7 +141,7 @@ void add_step_frame(struct MPContext *mpctx, int dir) mpctx->step_frames += 1; unpause_player(mpctx); } else if (dir < 0) { - if (!mpctx->hrseek_backstep || !mpctx->hrseek_active) { + if (!mpctx->hrseek_active) { queue_seek(mpctx, MPSEEK_BACKSTEP, 0, MPSEEK_VERY_EXACT, true); pause_player(mpctx); } |