summaryrefslogtreecommitdiffstats
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
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.
-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;
}