player/playloop.c: Revert --loop-file and --start interaction

This reverts commit 9513165c99
and commit 4efe330efb.

I had changed --loop-file to interact with --start to work
the same way that --loop-playlist does. (That is, --loop-file
seeks to the --start time upon looping, not the beginning of
the file.) However, the consensus is that the old behavior is
preferred and the interaction with --loop-playlist is the one
that is incorrect.

In addition, this change introduced a bug in the interaction
between Quit-Watch-Later and --loop-file, where upon reaching
playback end it would seek to the resume timestamp, not the
start of the file.

As a result, this commit reverts that change.
This commit is contained in:
Leo Izen
2017-12-28 10:23:12 -05:00
committed by Kevin Mitchell
parent ff506c1e49
commit 4a6bb49215

View File

@@ -781,19 +781,11 @@ 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) {
double play_start_pts = get_play_start_pts(mpctx);
if (play_start_pts == MP_NOPTS_VALUE)
play_start_pts = 0;
double play_end_pts = get_play_end_pts(mpctx);
if (play_end_pts == MP_NOPTS_VALUE || 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--;
}
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--;
}
}