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-07-03 16:14:47 +0200
commitcfe31c7f487b595fdf94e9bff16d6ef5fb7a5d7a (patch)
tree7d6460de69cdb01db3e147f83618384aee73d72e
parentca58c8005811b751cc09ee0ff6c98acf98cc3a1b (diff)
downloadffmpeg-cfe31c7f487b595fdf94e9bff16d6ef5fb7a5d7a.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) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
-rw-r--r--libavformat/matroskadec.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index f47ac31459..4427d3936c 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -3785,9 +3785,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;
}