aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2019-08-30 15:18:29 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-06-15 17:25:46 +0200
commit0260352d92228e56a999ea00a365ffef6cee20cc (patch)
treebacfe2cc9b1da5f846420170dd078468a4758709
parenta2ab8babef6d6eabbd7ae5f5f36df9c069f7d94b (diff)
downloadffmpeg-0260352d92228e56a999ea00a365ffef6cee20cc.tar.gz
avformat/matroskadec: Use right number of tracks
When demuxing a Matroska/WebM file, streams are added for tracks and for attachments, so that the array containing the former can be NULL even when the corresponding AVFormatContext has streams. So check for there to be tracks in the MatroskaDemuxContext instead of just streams in the AVFormatContext before dereferencing the pointer to the tracks. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> (cherry picked from commit 1ef30571a0a7150cb20c580bfc52af2a7101c20d)
-rw-r--r--libavformat/matroskadec.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 1846b1f93c..2f71ae2a65 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -4180,9 +4180,9 @@ static int webm_dash_manifest_read_header(AVFormatContext *s)
av_log(s, AV_LOG_ERROR, "Failed to read file headers\n");
return -1;
}
- if (!s->nb_streams) {
+ if (!matroska->tracks.nb_elem || !s->nb_streams) {
matroska_read_close(s);
- av_log(s, AV_LOG_ERROR, "No streams found\n");
+ av_log(s, AV_LOG_ERROR, "No track found\n");
return AVERROR_INVALIDDATA;
}