diff options
author | Kieran Kunhya <kierank@obe.tv> | 2014-10-18 00:25:16 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-10-26 22:29:07 +0100 |
commit | 74141f693ded2fbf75af56fff309d2db35183635 (patch) | |
tree | 8f531d7dba7aa00e505990eab6e980b67ed75c17 /libavcodec/opus.c | |
parent | 05da586fef865274d44da57f841068b5f17c812c (diff) | |
download | ffmpeg-74141f693ded2fbf75af56fff309d2db35183635.tar.gz |
avcodec: Add support for Opus in MPEG-TS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/opus.c')
-rw-r--r-- | libavcodec/opus.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/libavcodec/opus.c b/libavcodec/opus.c index e76c510a77..6b3d3c310e 100644 --- a/libavcodec/opus.c +++ b/libavcodec/opus.c @@ -290,10 +290,6 @@ av_cold int ff_opus_parse_extradata(AVCodecContext *avctx, OpusContext *s) { static const uint8_t default_channel_map[2] = { 0, 1 }; - uint8_t default_extradata[19] = { - 'O', 'p', 'u', 's', 'H', 'e', 'a', 'd', - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }; int (*channel_reorder)(int, int) = channel_reorder_unknown; @@ -308,9 +304,8 @@ av_cold int ff_opus_parse_extradata(AVCodecContext *avctx, "Multichannel configuration without extradata.\n"); return AVERROR(EINVAL); } - default_extradata[9] = (avctx->channels == 1) ? 1 : 2; - extradata = default_extradata; - extradata_size = sizeof(default_extradata); + extradata = opus_default_extradata; + extradata_size = sizeof(opus_default_extradata); } else { extradata = avctx->extradata; extradata_size = avctx->extradata_size; @@ -330,7 +325,7 @@ av_cold int ff_opus_parse_extradata(AVCodecContext *avctx, avctx->delay = AV_RL16(extradata + 10); - channels = extradata[9]; + channels = avctx->extradata ? extradata[9] : (avctx->channels == 1) ? 1 : 2; if (!channels) { av_log(avctx, AV_LOG_ERROR, "Zero channel count specified in the extadata\n"); return AVERROR_INVALIDDATA; |