This fixes https://bugzilla.libav.org/show_bug.cgi?id=599.
MvH Benjamin Larsson
>From d4bbe456698502fa56269ba425f154cf05518faf Mon Sep 17 00:00:00 2001 From: Benjamin Larsson <[email protected]> Date: Sun, 5 Jan 2014 14:42:14 +0100 Subject: [PATCH] flv: Workaround for buggy Omnia A/XE encoder The Omnia A/XE encoder writes the explicit extra data incorrectly and wrongly disables parametric stereo. Truncating the extra data by setting the size to 2 works around this. The AAC extra data parser will then only parse the correct parts. Bug-id: 599 --- libavformat/flvdec.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c index c65c90c..72d3ca4 100644 --- a/libavformat/flvdec.c +++ b/libavformat/flvdec.c @@ -915,6 +915,12 @@ skip: return ret; if (st->codec->codec_id == AV_CODEC_ID_AAC) { MPEG4AudioConfig cfg; + + /* Workaround for buggy Omnia A/XE encoder */ + AVDictionaryEntry *t = av_dict_get(s->metadata, "Encoder", NULL, 0); + if (t && !strcmp(t->value,"Omnia A/XE")) + st->codec->extradata_size = 2; + avpriv_mpeg4audio_get_config(&cfg, st->codec->extradata, st->codec->extradata_size * 8, 1); st->codec->channels = cfg.channels; -- 1.8.3.2
_______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
