summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2019-12-03 18:09:04 +0100
committerJames Almer <jamrial@gmail.com>2019-12-04 23:11:37 -0300
commiteec26b5911626edef1d736f2d06e8d0ddd8ade2a (patch)
tree88974d1f1c6a58bc932dc327d57a81f45ec45ef6
parentf7bf59b431e0921d5f318154f64c78bb226e33b9 (diff)
avformat/matroskadec: avcodec/tta: Set extradata_size to 22
Up until c4e0e314, the seek table has been included in the tta extradata, so that the size of said extradata was 22 (the size of a TTA1 header) + 4 * number of frames. The decoder rejected anything below a size of 30 and so the Matroska demuxer exported 30 byte long extradata, of which only 18 were set (it ignores a CRC-32 and simply leaves it at 0). But this is unnecessary since said commit, so reduce the size to 22. Furthermore, replace 30 by 22 in a comment about the extradata size in libavcodec/tta.c. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
-rw-r--r--libavcodec/tta.c2
-rw-r--r--libavformat/matroskadec.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/tta.c b/libavcodec/tta.c
index 304f3a81df..3fbee06987 100644
--- a/libavcodec/tta.c
+++ b/libavcodec/tta.c
@@ -129,7 +129,7 @@ static av_cold int tta_decode_init(AVCodecContext * avctx)
s->avctx = avctx;
- // 30bytes includes TTA1 header
+ // 22 bytes for a TTA1 header
if (avctx->extradata_size < 22)
return AVERROR_INVALIDDATA;
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 3ce1d399e9..d50211bf4f 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -2558,7 +2558,7 @@ static int matroska_parse_tracks(AVFormatContext *s)
}
if (track->audio.out_samplerate < 0 || track->audio.out_samplerate > INT_MAX)
return AVERROR_INVALIDDATA;
- extradata_size = 30;
+ extradata_size = 22;
extradata = av_mallocz(extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
if (!extradata)
return AVERROR(ENOMEM);