summaryrefslogtreecommitdiffstats
path: root/player/playloop.c
diff options
context:
space:
mode:
Diffstat (limited to 'player/playloop.c')
-rw-r--r--player/playloop.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/player/playloop.c b/player/playloop.c
index 9ad9debfe1..31e8570589 100644
--- a/player/playloop.c
+++ b/player/playloop.c
@@ -825,6 +825,15 @@ static void handle_sstep(struct MPContext *mpctx)
}
}
+static void handle_loop_file(struct MPContext *mpctx)
+{
+ struct MPOpts *opts = mpctx->opts;
+ if (opts->loop_file && mpctx->stop_play == AT_END_OF_FILE) {
+ set_osd_function(mpctx, OSD_FFW);
+ queue_seek(mpctx, MPSEEK_ABSOLUTE, get_start_time(mpctx), 0, true);
+ }
+}
+
static void handle_keep_open(struct MPContext *mpctx)
{
struct MPOpts *opts = mpctx->opts;
@@ -1282,6 +1291,8 @@ void run_playloop(struct MPContext *mpctx)
handle_sstep(mpctx);
+ handle_loop_file(mpctx);
+
handle_keep_open(mpctx);
handle_force_window(mpctx, false);