From 1944a34c230b6afb7707fe4fb5eb0c613b96db9b Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 21 Apr 2016 22:15:17 +0200 Subject: command: if only ab-loop-b is set, loop from start of file Commit 382bafcb changed the behavior for ab-loop-a. This commit changes ab-loop-b so that the behavior is symmetric. Adjust the OSD rendering accordingly to the two changes. Also fix mentions of the "ab_loop" command to the now preferred "ab-loop". --- player/command.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'player/command.c') diff --git a/player/command.c b/player/command.c index bfdcb820d3..7f65534d84 100644 --- a/player/command.c +++ b/player/command.c @@ -5245,16 +5245,20 @@ void handle_ab_loop(struct MPContext *mpctx) struct MPOpts *opts = mpctx->opts; double now = mpctx->restart_complete ? mpctx->playback_pts : MP_NOPTS_VALUE; - if (now != MP_NOPTS_VALUE && opts->ab_loop[0] != MP_NOPTS_VALUE) { + if (now != MP_NOPTS_VALUE && (opts->ab_loop[0] != MP_NOPTS_VALUE || + opts->ab_loop[1] != MP_NOPTS_VALUE)) + { + double start = opts->ab_loop[0]; + if (start == MP_NOPTS_VALUE) + start = 0; double end = opts->ab_loop[1]; if (end == MP_NOPTS_VALUE) end = INFINITY; - if (ctx->prev_pts >= opts->ab_loop[0] && - ctx->prev_pts < end && + if (ctx->prev_pts >= start && ctx->prev_pts < end && (now >= end || mpctx->stop_play == AT_END_OF_FILE)) { mark_seek(mpctx); - queue_seek(mpctx, MPSEEK_ABSOLUTE, opts->ab_loop[0], + queue_seek(mpctx, MPSEEK_ABSOLUTE, start, MPSEEK_EXACT, false); } } -- cgit v1.2.3