summaryrefslogtreecommitdiffstats
path: root/player/command.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-04-21 22:15:17 +0200
committerwm4 <wm4@nowhere>2016-04-21 22:15:36 +0200
commit1944a34c230b6afb7707fe4fb5eb0c613b96db9b (patch)
tree4450c51dc39341055ffbd50a084ec26e26d6a804 /player/command.c
parent78346e9c9a8a70fa581989b2cc8b4e0933765330 (diff)
downloadmpv-1944a34c230b6afb7707fe4fb5eb0c613b96db9b.tar.bz2
mpv-1944a34c230b6afb7707fe4fb5eb0c613b96db9b.tar.xz
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".
Diffstat (limited to 'player/command.c')
-rw-r--r--player/command.c12
1 files changed, 8 insertions, 4 deletions
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);
}
}