| Index: webrtc/voice_engine/channel.cc
|
| diff --git a/webrtc/voice_engine/channel.cc b/webrtc/voice_engine/channel.cc
|
| index 6d053323da591c62e404d2f155466f7124c88ed0..deea05772716abfaabadcf0725ece599ace6cb36 100644
|
| --- a/webrtc/voice_engine/channel.cc
|
| +++ b/webrtc/voice_engine/channel.cc
|
| @@ -22,6 +22,7 @@
|
| #include "webrtc/base/timeutils.h"
|
| #include "webrtc/config.h"
|
| #include "webrtc/logging/rtc_event_log/rtc_event_log.h"
|
| +#include "webrtc/modules/audio_coding/codecs/audio_format_conversion.h"
|
| #include "webrtc/modules/audio_device/include/audio_device.h"
|
| #include "webrtc/modules/audio_processing/include/audio_processing.h"
|
| #include "webrtc/modules/include/module_common_types.h"
|
| @@ -48,14 +49,6 @@ namespace {
|
| constexpr int64_t kMaxRetransmissionWindowMs = 1000;
|
| constexpr int64_t kMinRetransmissionWindowMs = 30;
|
|
|
| -bool RegisterReceiveCodec(std::unique_ptr<AudioCodingModule>* acm,
|
| - acm2::RentACodec* rac,
|
| - const CodecInst& ci) {
|
| - const int result = (*acm)->RegisterReceiveCodec(
|
| - ci, [&] { return rac->RentIsacDecoder(ci.plfreq); });
|
| - return result == 0;
|
| -}
|
| -
|
| } // namespace
|
|
|
| const int kTelephoneEventAttenuationdB = 10;
|
| @@ -498,7 +491,8 @@ int32_t Channel::OnInitializeDecoder(
|
| receiveCodec.pacsize = dummyCodec.pacsize;
|
|
|
| // Register the new codec to the ACM
|
| - if (!RegisterReceiveCodec(&audio_coding_, &rent_a_codec_, receiveCodec)) {
|
| + if (!audio_coding_->RegisterReceiveCodec(receiveCodec.pltype,
|
| + CodecInstToSdp(receiveCodec))) {
|
| WEBRTC_TRACE(kTraceWarning, kTraceVoice, VoEId(_instanceId, _channelId),
|
| "Channel::OnInitializeDecoder() invalid codec ("
|
| "pt=%d, name=%s) received - 1",
|
| @@ -1066,7 +1060,8 @@ int32_t Channel::Init() {
|
| // Register default PT for outband 'telephone-event'
|
| if (!STR_CASE_CMP(codec.plname, "telephone-event")) {
|
| if (_rtpRtcpModule->RegisterSendPayload(codec) == -1 ||
|
| - !RegisterReceiveCodec(&audio_coding_, &rent_a_codec_, codec)) {
|
| + !audio_coding_->RegisterReceiveCodec(codec.pltype,
|
| + CodecInstToSdp(codec))) {
|
| WEBRTC_TRACE(kTraceWarning, kTraceVoice, VoEId(_instanceId, _channelId),
|
| "Channel::Init() failed to register outband "
|
| "'telephone-event' (%d/%d) correctly",
|
| @@ -1077,7 +1072,8 @@ int32_t Channel::Init() {
|
| if (!STR_CASE_CMP(codec.plname, "CN")) {
|
| if (!codec_manager_.RegisterEncoder(codec) ||
|
| !codec_manager_.MakeEncoder(&rent_a_codec_, audio_coding_.get()) ||
|
| - !RegisterReceiveCodec(&audio_coding_, &rent_a_codec_, codec) ||
|
| + !audio_coding_->RegisterReceiveCodec(codec.pltype,
|
| + CodecInstToSdp(codec)) ||
|
| _rtpRtcpModule->RegisterSendPayload(codec) == -1) {
|
| WEBRTC_TRACE(kTraceWarning, kTraceVoice, VoEId(_instanceId, _channelId),
|
| "Channel::Init() failed to register CN (%d/%d) "
|
| @@ -1425,9 +1421,11 @@ int32_t Channel::SetRecPayloadType(const CodecInst& codec) {
|
| return -1;
|
| }
|
| }
|
| - if (!RegisterReceiveCodec(&audio_coding_, &rent_a_codec_, codec)) {
|
| + if (!audio_coding_->RegisterReceiveCodec(codec.pltype,
|
| + CodecInstToSdp(codec))) {
|
| audio_coding_->UnregisterReceiveCodec(codec.pltype);
|
| - if (!RegisterReceiveCodec(&audio_coding_, &rent_a_codec_, codec)) {
|
| + if (!audio_coding_->RegisterReceiveCodec(codec.pltype,
|
| + CodecInstToSdp(codec))) {
|
| _engineStatisticsPtr->SetLastError(
|
| VE_AUDIO_CODING_MODULE_ERROR, kTraceError,
|
| "SetRecPayloadType() ACM registration failed - 1");
|
|
|