summaryrefslogtreecommitdiffstats
path: root/demux/demux_mkv.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-03-09 22:32:04 +0100
committerwm4 <wm4@nowhere>2015-03-09 22:32:04 +0100
commit39fa05d3742aea94c7638c5b9223d680459b7799 (patch)
treea3614047cd81153012aba53a98e9b816a733655a /demux/demux_mkv.c
parent5f0eda7b94e5af25970bfd5bef0cf401fe3a10e7 (diff)
downloadmpv-39fa05d3742aea94c7638c5b9223d680459b7799.tar.bz2
mpv-39fa05d3742aea94c7638c5b9223d680459b7799.tar.xz
demux_mkv: check for playback aborts
Check async abort notification. libavformat already do something equivalent. Before this commit, the demuxer could enter resync mode (and print silly warning messages) when the stream stopped returning data because of an abort.
Diffstat (limited to 'demux/demux_mkv.c')
-rw-r--r--demux/demux_mkv.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/demux/demux_mkv.c b/demux/demux_mkv.c
index c9537995d8..ead19ac37f 100644
--- a/demux/demux_mkv.c
+++ b/demux/demux_mkv.c
@@ -2524,6 +2524,8 @@ static int read_next_block(demuxer_t *demuxer, struct block_info *block)
break;
if (s->eof)
return -1;
+ if (demux_cancel_test(demuxer))
+ return -1;
if (id == EBML_ID_EBML && stream_tell(s) >= mkv_d->segment_end) {
// Appended segment - don't use its clusters, consider this EOF.
stream_seek(s, stream_tell(s) - 4);