[FFmpeg-cvslog] avformat/matroskadec: force full frame parsing of MLP/TrueHD streams

James Almer git at videolan.org
Tue Jan 30 04:12:45 EET 2018


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Mon Jan 29 22:59:52 2018 -0300| [63b5d04e331c2580726e8a6936fecc04b815c516] | committer: James Almer

avformat/matroskadec: force full frame parsing of MLP/TrueHD streams

There's at least one known file with a TrueHD stream that hasn't
been correctly muxed, and requires full frame parsing and repack.

Signed-off-by: James Almer <jamrial at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=63b5d04e331c2580726e8a6936fecc04b815c516
---

 libavformat/matroskadec.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index a45fe09743..cda8df2213 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -2521,7 +2521,9 @@ static int matroska_parse_tracks(AVFormatContext *s)
             st->codecpar->channels    = track->audio.channels;
             if (!st->codecpar->bits_per_coded_sample)
                 st->codecpar->bits_per_coded_sample = track->audio.bitdepth;
-            if (st->codecpar->codec_id == AV_CODEC_ID_MP3)
+            if (st->codecpar->codec_id == AV_CODEC_ID_MP3 ||
+                st->codecpar->codec_id == AV_CODEC_ID_MLP ||
+                st->codecpar->codec_id == AV_CODEC_ID_TRUEHD)
                 st->need_parsing = AVSTREAM_PARSE_FULL;
             else if (st->codecpar->codec_id != AV_CODEC_ID_AAC)
                 st->need_parsing = AVSTREAM_PARSE_HEADERS;



More information about the ffmpeg-cvslog mailing list