diff options
Diffstat (limited to 'chromium/third_party/webrtc/modules/audio_coding/neteq4/audio_decoder.cc')
-rw-r--r-- | chromium/third_party/webrtc/modules/audio_coding/neteq4/audio_decoder.cc | 254 |
1 files changed, 0 insertions, 254 deletions
diff --git a/chromium/third_party/webrtc/modules/audio_coding/neteq4/audio_decoder.cc b/chromium/third_party/webrtc/modules/audio_coding/neteq4/audio_decoder.cc deleted file mode 100644 index 35422e3f9f5..00000000000 --- a/chromium/third_party/webrtc/modules/audio_coding/neteq4/audio_decoder.cc +++ /dev/null @@ -1,254 +0,0 @@ -/* - * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#include "webrtc/modules/audio_coding/neteq4/interface/audio_decoder.h" - -#include <assert.h> - -#include "webrtc/modules/audio_coding/neteq4/audio_decoder_impl.h" - -namespace webrtc { - -int AudioDecoder::DecodeRedundant(const uint8_t* encoded, - size_t encoded_len, - int16_t* decoded, - SpeechType* speech_type) { - return Decode(encoded, encoded_len, decoded, speech_type); -} - -bool AudioDecoder::HasDecodePlc() const { return false; } - -int AudioDecoder::DecodePlc(int num_frames, int16_t* decoded) { return -1; } - -int AudioDecoder::IncomingPacket(const uint8_t* payload, - size_t payload_len, - uint16_t rtp_sequence_number, - uint32_t rtp_timestamp, - uint32_t arrival_timestamp) { - return 0; -} - -int AudioDecoder::ErrorCode() { return 0; } - -int AudioDecoder::PacketDuration(const uint8_t* encoded, size_t encoded_len) { - return kNotImplemented; -} - -NetEqDecoder AudioDecoder::codec_type() const { return codec_type_; } - -bool AudioDecoder::CodecSupported(NetEqDecoder codec_type) { - switch (codec_type) { - case kDecoderPCMu: - case kDecoderPCMa: - case kDecoderPCMu_2ch: - case kDecoderPCMa_2ch: -#ifdef WEBRTC_CODEC_ILBC - case kDecoderILBC: -#endif -#if defined(WEBRTC_CODEC_ISACFX) || defined(WEBRTC_CODEC_ISAC) - case kDecoderISAC: -#endif -#ifdef WEBRTC_CODEC_ISAC - case kDecoderISACswb: - case kDecoderISACfb: -#endif -#ifdef WEBRTC_CODEC_PCM16 - case kDecoderPCM16B: - case kDecoderPCM16Bwb: - case kDecoderPCM16Bswb32kHz: - case kDecoderPCM16Bswb48kHz: - case kDecoderPCM16B_2ch: - case kDecoderPCM16Bwb_2ch: - case kDecoderPCM16Bswb32kHz_2ch: - case kDecoderPCM16Bswb48kHz_2ch: - case kDecoderPCM16B_5ch: -#endif -#ifdef WEBRTC_CODEC_G722 - case kDecoderG722: - case kDecoderG722_2ch: -#endif -#ifdef WEBRTC_CODEC_CELT - case kDecoderCELT_32: - case kDecoderCELT_32_2ch: -#endif -#ifdef WEBRTC_CODEC_OPUS - case kDecoderOpus: - case kDecoderOpus_2ch: -#endif - case kDecoderRED: - case kDecoderAVT: - case kDecoderCNGnb: - case kDecoderCNGwb: - case kDecoderCNGswb32kHz: - case kDecoderCNGswb48kHz: - case kDecoderArbitrary: { - return true; - } - default: { - return false; - } - } -} - -int AudioDecoder::CodecSampleRateHz(NetEqDecoder codec_type) { - switch (codec_type) { - case kDecoderPCMu: - case kDecoderPCMa: - case kDecoderPCMu_2ch: - case kDecoderPCMa_2ch: -#ifdef WEBRTC_CODEC_ILBC - case kDecoderILBC: -#endif -#ifdef WEBRTC_CODEC_PCM16 - case kDecoderPCM16B: - case kDecoderPCM16B_2ch: - case kDecoderPCM16B_5ch: -#endif - case kDecoderCNGnb: { - return 8000; - } -#if defined(WEBRTC_CODEC_ISACFX) || defined(WEBRTC_CODEC_ISAC) - case kDecoderISAC: -#endif -#ifdef WEBRTC_CODEC_PCM16 - case kDecoderPCM16Bwb: - case kDecoderPCM16Bwb_2ch: -#endif -#ifdef WEBRTC_CODEC_G722 - case kDecoderG722: - case kDecoderG722_2ch: -#endif - case kDecoderCNGwb: { - return 16000; - } -#ifdef WEBRTC_CODEC_ISAC - case kDecoderISACswb: - case kDecoderISACfb: -#endif -#ifdef WEBRTC_CODEC_PCM16 - case kDecoderPCM16Bswb32kHz: - case kDecoderPCM16Bswb32kHz_2ch: -#endif -#ifdef WEBRTC_CODEC_CELT - case kDecoderCELT_32: - case kDecoderCELT_32_2ch: -#endif - case kDecoderCNGswb32kHz: { - return 32000; - } -#ifdef WEBRTC_CODEC_PCM16 - case kDecoderPCM16Bswb48kHz: - case kDecoderPCM16Bswb48kHz_2ch: { - return 48000; - } -#endif -#ifdef WEBRTC_CODEC_OPUS - case kDecoderOpus: - case kDecoderOpus_2ch: { - return 32000; - } -#endif - case kDecoderCNGswb48kHz: { - // TODO(tlegrand): Remove limitation once ACM has full 48 kHz support. - return 32000; - } - default: { - return -1; // Undefined sample rate. - } - } -} - -AudioDecoder* AudioDecoder::CreateAudioDecoder(NetEqDecoder codec_type) { - if (!CodecSupported(codec_type)) { - return NULL; - } - switch (codec_type) { - case kDecoderPCMu: - return new AudioDecoderPcmU; - case kDecoderPCMa: - return new AudioDecoderPcmA; - case kDecoderPCMu_2ch: - return new AudioDecoderPcmUMultiCh(2); - case kDecoderPCMa_2ch: - return new AudioDecoderPcmAMultiCh(2); -#ifdef WEBRTC_CODEC_ILBC - case kDecoderILBC: - return new AudioDecoderIlbc; -#endif -#if defined(WEBRTC_CODEC_ISACFX) - case kDecoderISAC: - return new AudioDecoderIsacFix; -#elif defined(WEBRTC_CODEC_ISAC) - case kDecoderISAC: - return new AudioDecoderIsac; -#endif -#ifdef WEBRTC_CODEC_ISAC - case kDecoderISACswb: - return new AudioDecoderIsacSwb; - case kDecoderISACfb: - return new AudioDecoderIsacFb; -#endif -#ifdef WEBRTC_CODEC_PCM16 - case kDecoderPCM16B: - case kDecoderPCM16Bwb: - case kDecoderPCM16Bswb32kHz: - case kDecoderPCM16Bswb48kHz: - return new AudioDecoderPcm16B(codec_type); - case kDecoderPCM16B_2ch: - case kDecoderPCM16Bwb_2ch: - case kDecoderPCM16Bswb32kHz_2ch: - case kDecoderPCM16Bswb48kHz_2ch: - case kDecoderPCM16B_5ch: - return new AudioDecoderPcm16BMultiCh(codec_type); -#endif -#ifdef WEBRTC_CODEC_G722 - case kDecoderG722: - return new AudioDecoderG722; - case kDecoderG722_2ch: - return new AudioDecoderG722Stereo; -#endif -#ifdef WEBRTC_CODEC_CELT - case kDecoderCELT_32: - case kDecoderCELT_32_2ch: - return new AudioDecoderCelt(codec_type); -#endif -#ifdef WEBRTC_CODEC_OPUS - case kDecoderOpus: - case kDecoderOpus_2ch: - return new AudioDecoderOpus(codec_type); -#endif - case kDecoderCNGnb: - case kDecoderCNGwb: - case kDecoderCNGswb32kHz: - case kDecoderCNGswb48kHz: - return new AudioDecoderCng(codec_type); - case kDecoderRED: - case kDecoderAVT: - case kDecoderArbitrary: - default: { - return NULL; - } - } -} - -AudioDecoder::SpeechType AudioDecoder::ConvertSpeechType(int16_t type) { - switch (type) { - case 0: // TODO(hlundin): Both iSAC and Opus return 0 for speech. - case 1: - return kSpeech; - case 2: - return kComfortNoise; - default: - assert(false); - return kSpeech; - } -} - -} // namespace webrtc |