diff options
author | Hendrik Leppkes <h.leppkes@gmail.com> | 2012-10-27 13:00:28 +0400 |
---|---|---|
committer | Hendrik Leppkes <h.leppkes@gmail.com> | 2012-10-27 13:00:28 +0400 |
commit | 4b73fc57c8203f470cf2abf4db186d00b595887d (patch) | |
tree | 5ddb27cc82ad31ee958be6e12c1158e38942a60b | |
parent | 45ca50f52259e4e5cf47bbfb655a1da9dd0f7fb4 (diff) |
Map DirectShow types for AMR-NB and Nellymoser
-rw-r--r-- | decoder/LAVAudio/LAVAudioSettings.h | 2 | ||||
-rw-r--r-- | decoder/LAVAudio/Media.cpp | 6 | ||||
-rw-r--r-- | demuxer/Demuxers/LAVFAudioHelper.cpp | 1 |
3 files changed, 9 insertions, 0 deletions
diff --git a/decoder/LAVAudio/LAVAudioSettings.h b/decoder/LAVAudio/LAVAudioSettings.h index 66ff22cb..6448b938 100644 --- a/decoder/LAVAudio/LAVAudioSettings.h +++ b/decoder/LAVAudio/LAVAudioSettings.h @@ -50,6 +50,8 @@ typedef enum LAVAudioCodec { Codec_WMALL, Codec_ALAC, Codec_Opus, + Codec_AMR, + Codec_Nellymoser, Codec_NB // Number of entrys (do not use when dynamically linking) }; diff --git a/decoder/LAVAudio/Media.cpp b/decoder/LAVAudio/Media.cpp index dc7a0adc..5405ff0f 100644 --- a/decoder/LAVAudio/Media.cpp +++ b/decoder/LAVAudio/Media.cpp @@ -118,6 +118,8 @@ static const FFMPEG_SUBTYPE_MAP lavc_audio_codecs[] = { // Misc { &MEDIASUBTYPE_SPEEX, AV_CODEC_ID_SPEEX }, { &MEDIASUBTYPE_OPUS, AV_CODEC_ID_OPUS }, + { &MEDIASUBTYPE_SAMR, AV_CODEC_ID_AMR_NB }, + { &MEDIASUBTYPE_NELLYMOSER, AV_CODEC_ID_NELLYMOSER }, // Special LAVFSplitter interface { &MEDIASUBTYPE_FFMPEG_AUDIO, AV_CODEC_ID_NONE }, @@ -222,6 +224,8 @@ const AMOVIESETUP_MEDIATYPE CLAVAudio::sudPinTypesIn[] = { // Misc { &MEDIATYPE_Audio, &MEDIASUBTYPE_SPEEX }, { &MEDIATYPE_Audio, &MEDIASUBTYPE_OPUS }, + { &MEDIATYPE_Audio, &MEDIASUBTYPE_SAMR }, + { &MEDIATYPE_Audio, &MEDIASUBTYPE_NELLYMOSER }, // Special LAVFSplitter interface { &MEDIATYPE_Audio, &MEDIASUBTYPE_FFMPEG_AUDIO }, @@ -624,6 +628,8 @@ static codec_config_t m_codec_config[] = { { 1, { AV_CODEC_ID_WMALOSSLESS }}, // CC_WMALL { 1, { AV_CODEC_ID_ALAC }}, // CC_ALAC { 1, { AV_CODEC_ID_OPUS }, "opus", "Opus Audio Codec"}, // CC_OPUS + { 2, { AV_CODEC_ID_AMR_NB, AV_CODEC_ID_AMR_WB }, "amr", "AMR-NB/WB (Adaptive Multi-Rate NarrowBand/WideBand)" }, // CC_AMR + { 1, { AV_CODEC_ID_NELLYMOSER }}, // CC_Nellymoser }; const codec_config_t *get_codec_config(LAVAudioCodec codec) diff --git a/demuxer/Demuxers/LAVFAudioHelper.cpp b/demuxer/Demuxers/LAVFAudioHelper.cpp index e56c2bce..c73a0043 100644 --- a/demuxer/Demuxers/LAVFAudioHelper.cpp +++ b/demuxer/Demuxers/LAVFAudioHelper.cpp @@ -63,6 +63,7 @@ static FormatMapping audio_map[] = { { AV_CODEC_ID_ALAC, &MEDIASUBTYPE_ALAC, NULL, NULL }, { AV_CODEC_ID_MP4ALS, &MEDIASUBTYPE_ALS, NULL, NULL }, { AV_CODEC_ID_OPUS, &MEDIASUBTYPE_OPUS, NULL, NULL }, + { AV_CODEC_ID_NELLYMOSER, &MEDIASUBTYPE_NELLYMOSER, NULL, NULL }, }; CMediaType CLAVFAudioHelper::initAudioType(AVCodecID codecId, unsigned int &codecTag, std::string container) |