summaryrefslogtreecommitdiffstats
path: root/player/playloop.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-04-17 23:55:04 +0200
committerwm4 <wm4@nowhere>2014-04-17 23:55:42 +0200
commit1b398e99f735e141d88186d4e1a722b9a00f4b9a (patch)
treed7a4fdcba5071b020ac7038ba40bc67af1973a2f /player/playloop.c
parent5059039c95f51cfe33f828a66d55b1255ab1626d (diff)
downloadmpv-1b398e99f735e141d88186d4e1a722b9a00f4b9a.tar.bz2
mpv-1b398e99f735e141d88186d4e1a722b9a00f4b9a.tar.xz
player: add a --loop-file option
Unlike --loop, loops a file instead of the playlist.
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);