summaryrefslogtreecommitdiff
path: root/libavcodec/audiotoolboxdec.c
diff options
context:
space:
mode:
authorRodger Combs <rodger.combs@gmail.com>2016-03-30 20:55:32 -0500
committerRodger Combs <rodger.combs@gmail.com>2016-04-02 03:03:13 -0500
commitb4daa2c40fb77974af6814cc0baaeec6a7481101 (patch)
treef3befd21db0f57552b793d0eb8c36156173c2544 /libavcodec/audiotoolboxdec.c
parent1b9e90ee80be92c8e14349a8fc74b4560a46e648 (diff)
lavc/audiotoolboxdec: add eac3 decoder
This is added in 10.11, so we add a #define when building against older SDKs. The decoder actually supports 7.1-channel eac3, but since the parser only reports 6 channels, we end up decoding the 5.1 downmix (same as the internal decoder) for now.
Diffstat (limited to 'libavcodec/audiotoolboxdec.c')
-rw-r--r--libavcodec/audiotoolboxdec.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libavcodec/audiotoolboxdec.c b/libavcodec/audiotoolboxdec.c
index 4ff46eae3e..f840a6ba42 100644
--- a/libavcodec/audiotoolboxdec.c
+++ b/libavcodec/audiotoolboxdec.c
@@ -30,6 +30,10 @@
#include "libavutil/opt.h"
#include "libavutil/log.h"
+#ifndef __MAC_10_11
+#define kAudioFormatEnhancedAC3 'ec-3'
+#endif
+
typedef struct ATDecodeContext {
AVClass *av_class;
@@ -58,6 +62,8 @@ static UInt32 ffat_get_format_id(enum AVCodecID codec, int profile)
return kAudioFormatAppleLossless;
case AV_CODEC_ID_AMR_NB:
return kAudioFormatAMR;
+ case AV_CODEC_ID_EAC3:
+ return kAudioFormatEnhancedAC3;
case AV_CODEC_ID_GSM_MS:
return kAudioFormatMicrosoftGSM;
case AV_CODEC_ID_ILBC:
@@ -512,6 +518,7 @@ FFAT_DEC(ac3, AV_CODEC_ID_AC3)
FFAT_DEC(adpcm_ima_qt, AV_CODEC_ID_ADPCM_IMA_QT)
FFAT_DEC(alac, AV_CODEC_ID_ALAC)
FFAT_DEC(amr_nb, AV_CODEC_ID_AMR_NB)
+FFAT_DEC(eac3, AV_CODEC_ID_EAC3)
FFAT_DEC(gsm_ms, AV_CODEC_ID_GSM_MS)
FFAT_DEC(ilbc, AV_CODEC_ID_ILBC)
FFAT_DEC(mp1, AV_CODEC_ID_MP1)