Browse Source

Merge remote-tracking branch 'qatar/master'

* qatar/master:
  flv: Workaround for buggy Omnia A/XE encoder

Conflicts:
	libavformat/flvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.2-rc1
Michael Niedermayer 11 years ago
parent
commit
419787a2ff
1 changed files with 9 additions and 0 deletions
  1. +9
    -0
      libavformat/flvdec.c

+ 9
- 0
libavformat/flvdec.c View File

@@ -943,6 +943,8 @@ retry_duration:
dts = AV_NOPTS_VALUE;
}
if (type == 0 && (!st->codec->extradata || st->codec->codec_id == AV_CODEC_ID_AAC)) {
AVDictionaryEntry *t;

if (st->codec->extradata) {
if ((ret = flv_queue_extradata(flv, s->pb, stream_type, size)) < 0)
return ret;
@@ -951,8 +953,15 @@ retry_duration:
}
if ((ret = flv_get_extradata(s, st, size)) < 0)
return ret;

/* Workaround for buggy Omnia A/XE encoder */
t = av_dict_get(s->metadata, "Encoder", NULL, 0);
if (st->codec->codec_id == AV_CODEC_ID_AAC && t && !strcmp(t->value, "Omnia A/XE"))
st->codec->extradata_size = 2;

if (st->codec->codec_id == AV_CODEC_ID_AAC && 0) {
MPEG4AudioConfig cfg;

if (avpriv_mpeg4audio_get_config(&cfg, st->codec->extradata,
st->codec->extradata_size * 8, 1) >= 0) {
st->codec->channels = cfg.channels;


Loading…
Cancel
Save