summaryrefslogtreecommitdiffstats
path: root/player/playloop.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2020-02-08 14:57:45 +0100
committerwm4 <wm4@nowhere>2020-02-08 15:01:33 +0100
commite9fc53a10b889c5add90364ded20d0448b88f93a (patch)
tree772500ffe7bf01a1d4382ae68b3e872379bc9f72 /player/playloop.c
parent3fb0cc203bf0e5595e209e6b3eb3da3bb5e54a3a (diff)
downloadmpv-e9fc53a10b889c5add90364ded20d0448b88f93a.tar.bz2
mpv-e9fc53a10b889c5add90364ded20d0448b88f93a.tar.xz
player: add ab-loop-count option/property
As requested I guess. It behaves quite similar to the --loop* options. Not quite happy with the idea that 1) the option is mutated on each operation (but at least it's consistent with --loop* and doesn't require more properties), and 2) the ab-loop command will do nothing once all loop iterations are done. As a concession, the OSD shows something about "disabled". Fixes: #7360
Diffstat (limited to 'player/playloop.c')
-rw-r--r--player/playloop.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/player/playloop.c b/player/playloop.c
index 86f19fd79f..4f0efad275 100644
--- a/player/playloop.c
+++ b/player/playloop.c
@@ -885,6 +885,10 @@ static void handle_loop_file(struct MPContext *mpctx)
double ab[2];
if (get_ab_loop_times(mpctx, ab) && mpctx->ab_loop_clip) {
+ if (opts->ab_loop_count > 0) {
+ opts->ab_loop_count--;
+ m_config_notify_change_opt_ptr(mpctx->mconfig, &opts->ab_loop_count);
+ }
target = ab[0];
prec = MPSEEK_EXACT;
} else if (opts->loop_file) {