summaryrefslogtreecommitdiffstats
path: root/player
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-01-07 09:11:15 +0100
committerwm4 <wm4@nowhere>2016-01-07 09:11:15 +0100
commitce60c1adf716b71525ec7efceec6e2b521b14323 (patch)
treec3052c20d8b59bc9f7d7e812543d6e25c3fde845 /player
parent35f43dfacbe3abc000c1f35e36355613cb7da896 (diff)
downloadmpv-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.c1
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;
}