From: Matthieu Patou <mpa...@fb.com> Suggested-by: ffm...@fb.com Signed-off-by: James Almer <jamr...@gmail.com> --- libavformat/flv.h | 6 ++++-- libavformat/flvdec.c | 11 +++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/libavformat/flv.h b/libavformat/flv.h index 29bb36f7f6..6f3cad04e1 100644 --- a/libavformat/flv.h +++ b/libavformat/flv.h @@ -97,8 +97,10 @@ enum { FLV_CODECID_NELLYMOSER = 6 << FLV_AUDIO_CODECID_OFFSET, FLV_CODECID_PCM_ALAW = 7 << FLV_AUDIO_CODECID_OFFSET, FLV_CODECID_PCM_MULAW = 8 << FLV_AUDIO_CODECID_OFFSET, - FLV_CODECID_AAC = 10<< FLV_AUDIO_CODECID_OFFSET, - FLV_CODECID_SPEEX = 11<< FLV_AUDIO_CODECID_OFFSET, + FLV_CODECID_OPUS = 9 << FLV_AUDIO_CODECID_OFFSET, + FLV_CODECID_AAC = 10 << FLV_AUDIO_CODECID_OFFSET, + FLV_CODECID_SPEEX = 11 << FLV_AUDIO_CODECID_OFFSET, + }; enum { diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c index dafedb4770..48ef220a22 100644 --- a/libavformat/flvdec.c +++ b/libavformat/flvdec.c @@ -236,6 +236,8 @@ static int flv_same_audio_codec(AVCodecParameters *apar, int flags) case FLV_CODECID_PCM_ALAW: return apar->sample_rate == 8000 && apar->codec_id == AV_CODEC_ID_PCM_ALAW; + case FLV_CODECID_OPUS: + return apar->codec_id == AV_CODEC_ID_OPUS; default: return apar->codec_tag == (flv_codecid >> FLV_AUDIO_CODECID_OFFSET); } @@ -294,6 +296,9 @@ static void flv_set_audio_codec(AVFormatContext *s, AVStream *astream, apar->sample_rate = 8000; apar->codec_id = AV_CODEC_ID_PCM_ALAW; break; + case FLV_CODECID_OPUS: + apar->codec_id = AV_CODEC_ID_OPUS; + break; default: avpriv_request_sample(s, "Audio codec (%x)", flv_codecid >> FLV_AUDIO_CODECID_OFFSET); @@ -1261,7 +1266,8 @@ retry_duration: st->codecpar->codec_id == AV_CODEC_ID_H265 || st->codecpar->codec_id == AV_CODEC_ID_MPEG4 || st->codecpar->codec_id == AV_CODEC_ID_VP8 || - st->codecpar->codec_id == AV_CODEC_ID_VP9) { + st->codecpar->codec_id == AV_CODEC_ID_VP9 || + st->codecpar->codec_id == AV_CODEC_ID_OPUS) { int type = avio_r8(s->pb); size--; @@ -1289,7 +1295,8 @@ retry_duration: } if (type == 0 && (!st->codecpar->extradata || st->codecpar->codec_id == AV_CODEC_ID_AAC || st->codecpar->codec_id == AV_CODEC_ID_H264 || st->codecpar->codec_id == AV_CODEC_ID_H265 || - st->codecpar->codec_id == AV_CODEC_ID_VP8 || st->codecpar->codec_id == AV_CODEC_ID_VP9)) { + st->codecpar->codec_id == AV_CODEC_ID_VP8 || st->codecpar->codec_id == AV_CODEC_ID_VP9 || + st->codecpar->codec_id == AV_CODEC_ID_OPUS)) { AVDictionaryEntry *t; if (st->codecpar->extradata) { -- 2.32.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".