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-02 23:58:21 +0200
commit9a72122a98046708724564a5e3ef2a2e7ac6d1e8 (patch)
tree4a276674245865c334efc17f755739a22888db20
parent86a30618c9863df8470a9a955d19a37189ed9e65 (diff)
downloadffmpeg-9a72122a98046708724564a5e3ef2a2e7ac6d1e8.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 183b643a01..b5dfe5bfbc 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -3932,9 +3932,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;
}