diff --git a/modules/audio_coding/acm2/audio_coding_module.cc b/modules/audio_coding/acm2/audio_coding_module.cc index 60e4fe1a91..6c0e31edc2 100644 --- a/modules/audio_coding/acm2/audio_coding_module.cc +++ b/modules/audio_coding/acm2/audio_coding_module.cc @@ -118,14 +118,6 @@ class AudioCodingModuleImpl final : public AudioCodingModule { int GetNetworkStatistics(NetworkStatistics* statistics) override; - // If current send codec is Opus, informs it about the maximum playback rate - // the receiver will render. - int SetOpusMaxPlaybackRate(int frequency_hz) override; - - int EnableOpusDtx() override; - - int DisableOpusDtx() override; - int EnableNack(size_t max_nack_list_size) override; void DisableNack() override; @@ -710,32 +702,6 @@ int AudioCodingModuleImpl::RegisterVADCallback(ACMVADCallback* vad_callback) { return 0; } -// Informs Opus encoder of the maximum playback rate the receiver will render. -int AudioCodingModuleImpl::SetOpusMaxPlaybackRate(int frequency_hz) { - rtc::CritScope lock(&acm_crit_sect_); - if (!HaveValidEncoder("SetOpusMaxPlaybackRate")) { - return -1; - } - encoder_stack_->SetMaxPlaybackRate(frequency_hz); - return 0; -} - -int AudioCodingModuleImpl::EnableOpusDtx() { - rtc::CritScope lock(&acm_crit_sect_); - if (!HaveValidEncoder("EnableOpusDtx")) { - return -1; - } - return encoder_stack_->SetDtx(true) ? 0 : -1; -} - -int AudioCodingModuleImpl::DisableOpusDtx() { - rtc::CritScope lock(&acm_crit_sect_); - if (!HaveValidEncoder("DisableOpusDtx")) { - return -1; - } - return encoder_stack_->SetDtx(false) ? 0 : -1; -} - absl::optional AudioCodingModuleImpl::PlayoutTimestamp() { return receiver_.GetPlayoutTimestamp(); } diff --git a/modules/audio_coding/include/audio_coding_module.h b/modules/audio_coding/include/audio_coding_module.h index 0279ffcbcd..8d0e9eee38 100644 --- a/modules/audio_coding/include/audio_coding_module.h +++ b/modules/audio_coding/include/audio_coding_module.h @@ -322,47 +322,6 @@ class AudioCodingModule { AudioFrame* audio_frame, bool* muted) = 0; - /////////////////////////////////////////////////////////////////////////// - // Codec specific - // - - /////////////////////////////////////////////////////////////////////////// - // int SetOpusMaxPlaybackRate() - // If current send codec is Opus, informs it about maximum playback rate the - // receiver will render. Opus can use this information to optimize the bit - // rate and increase the computation efficiency. - // - // Input: - // -frequency_hz : maximum playback rate in Hz. - // - // Return value: - // -1 if current send codec is not Opus or - // error occurred in setting the maximum playback rate, - // 0 if maximum bandwidth is set successfully. - // - virtual int SetOpusMaxPlaybackRate(int frequency_hz) = 0; - - /////////////////////////////////////////////////////////////////////////// - // EnableOpusDtx() - // Enable the DTX, if current send codec is Opus. - // - // Return value: - // -1 if current send codec is not Opus or error occurred in enabling the - // Opus DTX. - // 0 if Opus DTX is enabled successfully. - // - virtual int EnableOpusDtx() = 0; - - /////////////////////////////////////////////////////////////////////////// - // int DisableOpusDtx() - // If current send codec is Opus, disables its internal DTX. - // - // Return value: - // -1 if current send codec is not Opus or error occurred in disabling DTX. - // 0 if Opus DTX is disabled successfully. - // - virtual int DisableOpusDtx() = 0; - /////////////////////////////////////////////////////////////////////////// // statistics // diff --git a/modules/audio_coding/test/TestVADDTX.cc b/modules/audio_coding/test/TestVADDTX.cc index 254c7d4204..52b7fc394f 100644 --- a/modules/audio_coding/test/TestVADDTX.cc +++ b/modules/audio_coding/test/TestVADDTX.cc @@ -209,23 +209,22 @@ void TestWebRtcVadDtx::Test(bool new_outfile, bool expect_dtx_enabled) { // Following is the implementation of TestOpusDtx. void TestOpusDtx::Perform() { - // If we set other codec than Opus, DTX cannot be switched on. - RegisterCodec({"ISAC", 16000, 1}, absl::nullopt); - EXPECT_EQ(-1, acm_send_->EnableOpusDtx()); - EXPECT_EQ(0, acm_send_->DisableOpusDtx()); - int expects[] = {0, 1, 0, 0, 0}; // Register Opus as send codec std::string out_filename = webrtc::test::OutputPath() + "testOpusDtx_outFile_mono.pcm"; RegisterCodec({"opus", 48000, 2}, absl::nullopt); - EXPECT_EQ(0, acm_send_->DisableOpusDtx()); + acm_send_->ModifyEncoder([](std::unique_ptr* encoder_ptr) { + (*encoder_ptr)->SetDtx(false); + }); Run(webrtc::test::ResourcePath("audio_coding/testfile32kHz", "pcm"), 32000, 1, out_filename, false, expects); - EXPECT_EQ(0, acm_send_->EnableOpusDtx()); + acm_send_->ModifyEncoder([](std::unique_ptr* encoder_ptr) { + (*encoder_ptr)->SetDtx(true); + }); expects[static_cast(AudioFrameType::kEmptyFrame)] = 1; expects[static_cast(AudioFrameType::kAudioFrameCN)] = 1; Run(webrtc::test::ResourcePath("audio_coding/testfile32kHz", "pcm"), 32000, 1, @@ -234,13 +233,17 @@ void TestOpusDtx::Perform() { // Register stereo Opus as send codec out_filename = webrtc::test::OutputPath() + "testOpusDtx_outFile_stereo.pcm"; RegisterCodec({"opus", 48000, 2, {{"stereo", "1"}}}, absl::nullopt); - EXPECT_EQ(0, acm_send_->DisableOpusDtx()); + acm_send_->ModifyEncoder([](std::unique_ptr* encoder_ptr) { + (*encoder_ptr)->SetDtx(false); + }); expects[static_cast(AudioFrameType::kEmptyFrame)] = 0; expects[static_cast(AudioFrameType::kAudioFrameCN)] = 0; Run(webrtc::test::ResourcePath("audio_coding/teststereo32kHz", "pcm"), 32000, 2, out_filename, false, expects); - EXPECT_EQ(0, acm_send_->EnableOpusDtx()); + acm_send_->ModifyEncoder([](std::unique_ptr* encoder_ptr) { + (*encoder_ptr)->SetDtx(true); + }); expects[static_cast(AudioFrameType::kEmptyFrame)] = 1; expects[static_cast(AudioFrameType::kAudioFrameCN)] = 1;