1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-15 03:15:52 +00:00

player: --save-position-on-quit should always work

Now any action that stops playback of a file (even playlist navigation)
will save the position. Normal EOF is of course excluded from this, as
well as commands that just reload the current file.

The option name is now slightly off, although you could argue what the
word "quit" means.

Fixes #1148 (or at least this is how I understood it).
This commit is contained in:
wm4 2014-10-06 22:07:35 +02:00
parent 332808bc0d
commit 45c8b97efb
3 changed files with 8 additions and 5 deletions

View File

@ -290,10 +290,9 @@ Program Behavior
``--save-position-on-quit``
Always save the current playback position on quit. When this file is
played again later, the player will seek to the old playback position on
start. This does not happen if playback of a file is stopped in any other
way than quitting. For example, going to the next file in the playlist
will not save the position, and start playback at beginning the next time
the file is played.
start. This happens when playback is stopped in any way by the user.
For example, going to the next file in the playlist will save the position,
and resume playback at thr same position the next time the file is played.
This behavior is disabled by default, but is always available when quitting
the player with Shift+Q.

View File

@ -41,6 +41,10 @@ enum stop_play_reason {
PT_QUIT, // stop playback, quit player
};
// stop_play_reason that is an explicit user abort.
#define PT_IS_QUIT(x) ((x) == PT_NEXT_ENTRY || (x) == PT_CURRENT_ENTRY || \
(x) == PT_STOP || (x) == PT_QUIT)
enum exit_reason {
EXIT_NONE,
EXIT_QUIT,

View File

@ -1196,7 +1196,7 @@ terminate_playback:
if (mpctx->stop_play != AT_END_OF_FILE)
clear_audio_output_buffers(mpctx);
if (opts->position_save_on_quit && mpctx->stop_play == PT_QUIT)
if (opts->position_save_on_quit && PT_IS_QUIT(mpctx->stop_play))
mp_write_watch_later_conf(mpctx);
if (mpctx->step_frames)