summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
authorRodger Combs <rodger.combs@gmail.com>2015-08-16 03:06:04 -0500
committerMichael Niedermayer <michael@niedermayer.cc>2015-08-16 11:46:33 +0200
commitb4b2717ffe89940999eeca7317190f729b27f472 (patch)
treedd0e5a5299366478d4c7f1796d21d11e98b08e02 /libavformat
parent31d6f8de53bfda9e6e4b80fefffd899372a2d401 (diff)
lavf/matroskadec: Fully parse and repack MP3 packets
Fixes https://trac.ffmpeg.org/ticket/4776 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/matroskadec.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 1807caef9c..43ad9af0db 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -2065,7 +2065,9 @@ static int matroska_parse_tracks(AVFormatContext *s)
st->codec->channels = track->audio.channels;
if (!st->codec->bits_per_coded_sample)
st->codec->bits_per_coded_sample = track->audio.bitdepth;
- if (st->codec->codec_id != AV_CODEC_ID_AAC)
+ if (st->codec->codec_id == AV_CODEC_ID_MP3)
+ st->need_parsing = AVSTREAM_PARSE_FULL;
+ else if (st->codec->codec_id != AV_CODEC_ID_AAC)
st->need_parsing = AVSTREAM_PARSE_HEADERS;
if (track->codec_delay > 0) {
st->codec->delay = av_rescale_q(track->codec_delay,