Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/LAVFilters.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHendrik Leppkes <h.leppkes@gmail.com>2012-10-27 13:00:28 +0400
committerHendrik Leppkes <h.leppkes@gmail.com>2012-10-27 13:00:28 +0400
commit4b73fc57c8203f470cf2abf4db186d00b595887d (patch)
tree5ddb27cc82ad31ee958be6e12c1158e38942a60b
parent45ca50f52259e4e5cf47bbfb655a1da9dd0f7fb4 (diff)
Map DirectShow types for AMR-NB and Nellymoser
-rw-r--r--decoder/LAVAudio/LAVAudioSettings.h2
-rw-r--r--decoder/LAVAudio/Media.cpp6
-rw-r--r--demuxer/Demuxers/LAVFAudioHelper.cpp1
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)