From 5df4ee55f14b59920e790ef462c84b66f520c531 Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 27 Apr 2016 17:01:17 +0200 Subject: 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. --- player/playloop.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'player') 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); } -- cgit v1.2.3