mirror of
https://github.com/mpv-player/mpv
synced 2025-01-02 04:42:10 +00:00
player/playloop.c: respect playback start time when using --loop-file
Using --loop-file should now seek to the position denoted by --start or equivalent option, rather than always seeking to the beginning as it had done before. --loop-playlist already behaves this way, so this brings --loop-file in line for added consistency.
This commit is contained in:
parent
ff7e294610
commit
4efe330efb
@ -778,11 +778,17 @@ static void handle_loop_file(struct MPContext *mpctx)
|
||||
|
||||
// Do not attempt to loop-file if --ab-loop is active.
|
||||
else if (opts->loop_file && mpctx->stop_play == AT_END_OF_FILE) {
|
||||
mpctx->stop_play = KEEP_PLAYING;
|
||||
set_osd_function(mpctx, OSD_FFW);
|
||||
queue_seek(mpctx, MPSEEK_ABSOLUTE, 0, MPSEEK_DEFAULT, MPSEEK_FLAG_NOFLUSH);
|
||||
if (opts->loop_file > 0)
|
||||
opts->loop_file--;
|
||||
double play_start_pts = get_play_start_pts(mpctx);
|
||||
double play_end_pts = get_play_end_pts(mpctx);
|
||||
if (play_start_pts < play_end_pts){
|
||||
mpctx->stop_play = KEEP_PLAYING;
|
||||
set_osd_function(mpctx, OSD_FFW);
|
||||
queue_seek(mpctx, MPSEEK_ABSOLUTE, play_start_pts, MPSEEK_EXACT,
|
||||
MPSEEK_FLAG_NOFLUSH);
|
||||
if (opts->loop_file > 0)
|
||||
opts->loop_file--;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user