summaryrefslogtreecommitdiffstats
path: root/player/command.c
diff options
context:
space:
mode:
Diffstat (limited to 'player/command.c')
-rw-r--r--player/command.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/player/command.c b/player/command.c
index e3a3313f79..cdadafa892 100644
--- a/player/command.c
+++ b/player/command.c
@@ -5245,12 +5245,13 @@ 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 &&
- opts->ab_loop[1] != MP_NOPTS_VALUE)
- {
+ if (now != MP_NOPTS_VALUE && opts->ab_loop[0] != MP_NOPTS_VALUE) {
+ double end = opts->ab_loop[1];
+ if (end == MP_NOPTS_VALUE)
+ end = INFINITY;
if (ctx->prev_pts >= opts->ab_loop[0] &&
- ctx->prev_pts < opts->ab_loop[1] &&
- (now >= opts->ab_loop[1] || mpctx->stop_play == AT_END_OF_FILE))
+ 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],