summaryrefslogtreecommitdiffstats
path: root/player/playloop.c
diff options
context:
space:
mode:
Diffstat (limited to 'player/playloop.c')
-rw-r--r--player/playloop.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/player/playloop.c b/player/playloop.c
index 65bdf54252..9cf19630b2 100644
--- a/player/playloop.c
+++ b/player/playloop.c
@@ -798,7 +798,7 @@ static void handle_sstep(struct MPContext *mpctx)
}
if (mpctx->video_status >= STATUS_EOF) {
- if (mpctx->max_frames >= 0)
+ if (mpctx->max_frames >= 0 && !mpctx->stop_play)
mpctx->stop_play = AT_END_OF_FILE; // force EOF even if audio left
if (mpctx->step_frames > 0 && !mpctx->paused)
pause_player(mpctx);
@@ -991,7 +991,8 @@ static void handle_segment_switch(struct MPContext *mpctx, bool end_is_new_segme
.amount = mpctx->timeline[new_part].start
}, true);
} else {
- mpctx->stop_play = AT_END_OF_FILE;
+ if (!mpctx->stop_play)
+ mpctx->stop_play = AT_END_OF_FILE;
}
}
}