Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(33)

Unified Diff: voice_engine/voe_codec_impl.cc

Issue 3019433002: Remove VoECodec (Closed)
Patch Set: rebase Created 3 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « voice_engine/voe_codec_impl.h ('k') | voice_engine/voe_codec_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: voice_engine/voe_codec_impl.cc
diff --git a/voice_engine/voe_codec_impl.cc b/voice_engine/voe_codec_impl.cc
deleted file mode 100644
index 7ba9ab3f050f519d188a38d60cfce4d924b33136..0000000000000000000000000000000000000000
--- a/voice_engine/voe_codec_impl.cc
+++ /dev/null
@@ -1,391 +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 "voice_engine/voe_codec_impl.h"
-
-#include "modules/audio_coding/include/audio_coding_module.h"
-#include "rtc_base/format_macros.h"
-#include "system_wrappers/include/trace.h"
-#include "voice_engine/channel.h"
-#include "voice_engine/include/voe_errors.h"
-#include "voice_engine/voice_engine_impl.h"
-
-namespace webrtc {
-
-VoECodec* VoECodec::GetInterface(VoiceEngine* voiceEngine) {
- if (NULL == voiceEngine) {
- return NULL;
- }
- VoiceEngineImpl* s = static_cast<VoiceEngineImpl*>(voiceEngine);
- s->AddRef();
- return s;
-}
-
-VoECodecImpl::VoECodecImpl(voe::SharedData* shared) : _shared(shared) {
- WEBRTC_TRACE(kTraceMemory, kTraceVoice, VoEId(_shared->instance_id(), -1),
- "VoECodecImpl() - ctor");
-}
-
-VoECodecImpl::~VoECodecImpl() {
- WEBRTC_TRACE(kTraceMemory, kTraceVoice, VoEId(_shared->instance_id(), -1),
- "~VoECodecImpl() - dtor");
-}
-
-int VoECodecImpl::NumOfCodecs() {
- // Number of supported codecs in the ACM
- uint8_t nSupportedCodecs = AudioCodingModule::NumberOfCodecs();
- return (nSupportedCodecs);
-}
-
-int VoECodecImpl::GetCodec(int index, CodecInst& codec) {
- if (AudioCodingModule::Codec(index, &codec) == -1) {
- _shared->SetLastError(VE_INVALID_LISTNR, kTraceError,
- "GetCodec() invalid index");
- return -1;
- }
- return 0;
-}
-
-int VoECodecImpl::SetSendCodec(int channel, const CodecInst& codec) {
- WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
- "SetSendCodec(channel=%d, codec)", channel);
- WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_shared->instance_id(), -1),
- "codec: plname=%s, pacsize=%d, plfreq=%d, pltype=%d, "
- "channels=%" PRIuS ", rate=%d",
- codec.plname, codec.pacsize, codec.plfreq, codec.pltype,
- codec.channels, codec.rate);
- if (!_shared->statistics().Initialized()) {
- _shared->SetLastError(VE_NOT_INITED, kTraceError);
- return -1;
- }
- // External sanity checks performed outside the ACM
- if ((STR_CASE_CMP(codec.plname, "L16") == 0) && (codec.pacsize >= 960)) {
- _shared->SetLastError(VE_INVALID_ARGUMENT, kTraceError,
- "SetSendCodec() invalid L16 packet size");
- return -1;
- }
- if (!STR_CASE_CMP(codec.plname, "CN") ||
- !STR_CASE_CMP(codec.plname, "TELEPHONE-EVENT") ||
- !STR_CASE_CMP(codec.plname, "RED")) {
- _shared->SetLastError(VE_INVALID_ARGUMENT, kTraceError,
- "SetSendCodec() invalid codec name");
- return -1;
- }
- if ((codec.channels != 1) && (codec.channels != 2)) {
- _shared->SetLastError(VE_INVALID_ARGUMENT, kTraceError,
- "SetSendCodec() invalid number of channels");
- return -1;
- }
- voe::ChannelOwner ch = _shared->channel_manager().GetChannel(channel);
- voe::Channel* channelPtr = ch.channel();
- if (channelPtr == NULL) {
- _shared->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError,
- "GetSendCodec() failed to locate channel");
- return -1;
- }
- if (!AudioCodingModule::IsCodecValid(codec)) {
- _shared->SetLastError(VE_INVALID_ARGUMENT, kTraceError,
- "SetSendCodec() invalid codec");
- return -1;
- }
- if (channelPtr->SetSendCodec(codec) != 0) {
- _shared->SetLastError(VE_CANNOT_SET_SEND_CODEC, kTraceError,
- "SetSendCodec() failed to set send codec");
- return -1;
- }
-
- return 0;
-}
-
-int VoECodecImpl::GetSendCodec(int channel, CodecInst& codec) {
- if (!_shared->statistics().Initialized()) {
- _shared->SetLastError(VE_NOT_INITED, kTraceError);
- return -1;
- }
- voe::ChannelOwner ch = _shared->channel_manager().GetChannel(channel);
- voe::Channel* channelPtr = ch.channel();
- if (channelPtr == NULL) {
- _shared->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError,
- "GetSendCodec() failed to locate channel");
- return -1;
- }
- if (channelPtr->GetSendCodec(codec) != 0) {
- _shared->SetLastError(VE_CANNOT_GET_SEND_CODEC, kTraceError,
- "GetSendCodec() failed to get send codec");
- return -1;
- }
- return 0;
-}
-
-int VoECodecImpl::SetBitRate(int channel, int bitrate_bps) {
- WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
- "SetBitRate(bitrate_bps=%d)", bitrate_bps);
- if (!_shared->statistics().Initialized()) {
- _shared->SetLastError(VE_NOT_INITED, kTraceError);
- return -1;
- }
- constexpr int64_t kDefaultProbingIntervalMs = 3000;
- _shared->channel_manager().GetChannel(channel).channel()->SetBitRate(
- bitrate_bps, kDefaultProbingIntervalMs);
- return 0;
-}
-
-int VoECodecImpl::GetRecCodec(int channel, CodecInst& codec) {
- if (!_shared->statistics().Initialized()) {
- _shared->SetLastError(VE_NOT_INITED, kTraceError);
- return -1;
- }
- voe::ChannelOwner ch = _shared->channel_manager().GetChannel(channel);
- voe::Channel* channelPtr = ch.channel();
- if (channelPtr == NULL) {
- _shared->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError,
- "GetRecCodec() failed to locate channel");
- return -1;
- }
- return channelPtr->GetRecCodec(codec);
-}
-
-int VoECodecImpl::SetRecPayloadType(int channel, const CodecInst& codec) {
- WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
- "SetRecPayloadType(channel=%d, codec)", channel);
- WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_shared->instance_id(), -1),
- "codec: plname=%s, plfreq=%d, pltype=%d, channels=%" PRIuS ", "
- "pacsize=%d, rate=%d",
- codec.plname, codec.plfreq, codec.pltype, codec.channels,
- codec.pacsize, codec.rate);
- if (!_shared->statistics().Initialized()) {
- _shared->SetLastError(VE_NOT_INITED, kTraceError);
- return -1;
- }
- voe::ChannelOwner ch = _shared->channel_manager().GetChannel(channel);
- voe::Channel* channelPtr = ch.channel();
- if (channelPtr == NULL) {
- _shared->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError,
- "GetRecPayloadType() failed to locate channel");
- return -1;
- }
- return channelPtr->SetRecPayloadType(codec);
-}
-
-int VoECodecImpl::GetRecPayloadType(int channel, CodecInst& codec) {
- if (!_shared->statistics().Initialized()) {
- _shared->SetLastError(VE_NOT_INITED, kTraceError);
- return -1;
- }
- voe::ChannelOwner ch = _shared->channel_manager().GetChannel(channel);
- voe::Channel* channelPtr = ch.channel();
- if (channelPtr == NULL) {
- _shared->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError,
- "GetRecPayloadType() failed to locate channel");
- return -1;
- }
- return channelPtr->GetRecPayloadType(codec);
-}
-
-int VoECodecImpl::SetSendCNPayloadType(int channel,
- int type,
- PayloadFrequencies frequency) {
- WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
- "SetSendCNPayloadType(channel=%d, type=%d, frequency=%d)",
- channel, type, frequency);
- if (!_shared->statistics().Initialized()) {
- _shared->SetLastError(VE_NOT_INITED, kTraceError);
- return -1;
- }
- if (type < 96 || type > 127) {
- // Only allow dynamic range: 96 to 127
- _shared->SetLastError(VE_INVALID_PLTYPE, kTraceError,
- "SetSendCNPayloadType() invalid payload type");
- return -1;
- }
- if ((frequency != kFreq16000Hz) && (frequency != kFreq32000Hz)) {
- // It is not possible to modify the payload type for CN/8000.
- // We only allow modification of the CN payload type for CN/16000
- // and CN/32000.
- _shared->SetLastError(VE_INVALID_PLFREQ, kTraceError,
- "SetSendCNPayloadType() invalid payload frequency");
- return -1;
- }
- voe::ChannelOwner ch = _shared->channel_manager().GetChannel(channel);
- voe::Channel* channelPtr = ch.channel();
- if (channelPtr == NULL) {
- _shared->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError,
- "SetSendCNPayloadType() failed to locate channel");
- return -1;
- }
- return channelPtr->SetSendCNPayloadType(type, frequency);
-}
-
-int VoECodecImpl::SetFECStatus(int channel, bool enable) {
- WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
- "SetCodecFECStatus(channel=%d, enable=%d)", channel, enable);
- if (!_shared->statistics().Initialized()) {
- _shared->SetLastError(VE_NOT_INITED, kTraceError);
- return -1;
- }
- voe::ChannelOwner ch = _shared->channel_manager().GetChannel(channel);
- voe::Channel* channelPtr = ch.channel();
- if (channelPtr == NULL) {
- _shared->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError,
- "SetCodecFECStatus() failed to locate channel");
- return -1;
- }
- return channelPtr->SetCodecFECStatus(enable);
-}
-
-int VoECodecImpl::GetFECStatus(int channel, bool& enabled) {
- if (!_shared->statistics().Initialized()) {
- _shared->SetLastError(VE_NOT_INITED, kTraceError);
- return -1;
- }
- voe::ChannelOwner ch = _shared->channel_manager().GetChannel(channel);
- voe::Channel* channelPtr = ch.channel();
- if (channelPtr == NULL) {
- _shared->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError,
- "GetFECStatus() failed to locate channel");
- return -1;
- }
- enabled = channelPtr->GetCodecFECStatus();
- return 0;
-}
-
-int VoECodecImpl::SetVADStatus(int channel,
- bool enable,
- VadModes mode,
- bool disableDTX) {
- WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
- "SetVADStatus(channel=%i, enable=%i, mode=%i, disableDTX=%i)",
- channel, enable, mode, disableDTX);
-
- if (!_shared->statistics().Initialized()) {
- _shared->SetLastError(VE_NOT_INITED, kTraceError);
- return -1;
- }
- voe::ChannelOwner ch = _shared->channel_manager().GetChannel(channel);
- voe::Channel* channelPtr = ch.channel();
- if (channelPtr == NULL) {
- _shared->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError,
- "SetVADStatus failed to locate channel");
- return -1;
- }
-
- ACMVADMode vadMode(VADNormal);
- switch (mode) {
- case kVadConventional:
- vadMode = VADNormal;
- break;
- case kVadAggressiveLow:
- vadMode = VADLowBitrate;
- break;
- case kVadAggressiveMid:
- vadMode = VADAggr;
- break;
- case kVadAggressiveHigh:
- vadMode = VADVeryAggr;
- break;
- }
- return channelPtr->SetVADStatus(enable, vadMode, disableDTX);
-}
-
-int VoECodecImpl::GetVADStatus(int channel,
- bool& enabled,
- VadModes& mode,
- bool& disabledDTX) {
- if (!_shared->statistics().Initialized()) {
- _shared->SetLastError(VE_NOT_INITED, kTraceError);
- return -1;
- }
- voe::ChannelOwner ch = _shared->channel_manager().GetChannel(channel);
- voe::Channel* channelPtr = ch.channel();
- if (channelPtr == NULL) {
- _shared->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError,
- "GetVADStatus failed to locate channel");
- return -1;
- }
-
- ACMVADMode vadMode;
- int ret = channelPtr->GetVADStatus(enabled, vadMode, disabledDTX);
-
- if (ret != 0) {
- _shared->SetLastError(VE_INVALID_OPERATION, kTraceError,
- "GetVADStatus failed to get VAD mode");
- return -1;
- }
- switch (vadMode) {
- case VADNormal:
- mode = kVadConventional;
- break;
- case VADLowBitrate:
- mode = kVadAggressiveLow;
- break;
- case VADAggr:
- mode = kVadAggressiveMid;
- break;
- case VADVeryAggr:
- mode = kVadAggressiveHigh;
- break;
- }
-
- return 0;
-}
-
-int VoECodecImpl::SetOpusMaxPlaybackRate(int channel, int frequency_hz) {
- WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
- "SetOpusMaxPlaybackRate(channel=%d, frequency_hz=%d)", channel,
- frequency_hz);
- if (!_shared->statistics().Initialized()) {
- _shared->SetLastError(VE_NOT_INITED, kTraceError);
- return -1;
- }
- voe::ChannelOwner ch = _shared->channel_manager().GetChannel(channel);
- voe::Channel* channelPtr = ch.channel();
- if (channelPtr == NULL) {
- _shared->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError,
- "SetOpusMaxPlaybackRate failed to locate channel");
- return -1;
- }
- return channelPtr->SetOpusMaxPlaybackRate(frequency_hz);
-}
-
-int VoECodecImpl::SetOpusDtx(int channel, bool enable_dtx) {
- WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
- "SetOpusDtx(channel=%d, enable_dtx=%d)", channel, enable_dtx);
- if (!_shared->statistics().Initialized()) {
- _shared->SetLastError(VE_NOT_INITED, kTraceError);
- return -1;
- }
- voe::ChannelOwner ch = _shared->channel_manager().GetChannel(channel);
- voe::Channel* channelPtr = ch.channel();
- if (channelPtr == NULL) {
- _shared->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError,
- "SetOpusDtx failed to locate channel");
- return -1;
- }
- return channelPtr->SetOpusDtx(enable_dtx);
-}
-
-int VoECodecImpl::GetOpusDtxStatus(int channel, bool* enabled) {
- WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
- "GetOpusDtx(channel=%d)", channel);
- if (!_shared->statistics().Initialized()) {
- _shared->SetLastError(VE_NOT_INITED, kTraceError);
- return -1;
- }
- voe::ChannelOwner ch = _shared->channel_manager().GetChannel(channel);
- voe::Channel* channelPtr = ch.channel();
- if (channelPtr == NULL) {
- _shared->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError,
- "GetOpusDtx failed to locate channel");
- return -1;
- }
- return channelPtr->GetOpusDtx(enabled);
-}
-
-} // namespace webrtc
« no previous file with comments | « voice_engine/voe_codec_impl.h ('k') | voice_engine/voe_codec_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698