diff options
author | wm4 <wm4@nowhere> | 2016-01-07 09:11:15 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2016-01-07 09:11:15 +0100 |
commit | ce60c1adf716b71525ec7efceec6e2b521b14323 (patch) | |
tree | c3052c20d8b59bc9f7d7e812543d6e25c3fde845 /player | |
parent | 35f43dfacbe3abc000c1f35e36355613cb7da896 (diff) | |
download | mpv-ce60c1adf716b71525ec7efceec6e2b521b14323.tar.bz2 mpv-ce60c1adf716b71525ec7efceec6e2b521b14323.tar.xz |
player: reset playback abort when reloading a file
PT_RELOAD_FILE is a somewhat obscure case when using DVB or when
switching Matroska editions. Both cases were broken, because the
asynchronous playback abort mechanism was still triggered. This
mechanism is used to force the demuxer and stream layers to exit
immediately (instead of blocking on I/O possibly forever), and
is normally disabled on playback start. The reopen path is a bit
strange, and needs to reset it manually.
Pointed out in #2568.
Diffstat (limited to 'player')
-rw-r--r-- | player/loadfile.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/player/loadfile.c b/player/loadfile.c index ec4d19d3c5..e177df67d3 100644 --- a/player/loadfile.c +++ b/player/loadfile.c @@ -1265,6 +1265,7 @@ terminate_playback: if (mpctx->stop_play == PT_RELOAD_FILE) { mpctx->stop_play = KEEP_PLAYING; + mp_cancel_reset(mpctx->playback_abort); goto reopen_file; } |