Index: webrtc/voice_engine/channel.cc |
diff --git a/webrtc/voice_engine/channel.cc b/webrtc/voice_engine/channel.cc |
index 1d73db6d396a29ab1bc3ca12beee0c8ce1106ae0..ab1526dd1e104556130ea2f38b070d0429555444 100644 |
--- a/webrtc/voice_engine/channel.cc |
+++ b/webrtc/voice_engine/channel.cc |
@@ -1484,6 +1484,32 @@ int Channel::GetOpusDtx(bool* enabled) { |
return success; |
} |
+int Channel::SetOpusCbr(bool enable_cbr) { |
+ WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId, _channelId), |
+ "Channel::SetOpusCbr(%d)", enable_cbr); |
+ |
+ int ret = enable_cbr ? audio_coding_->EnableOpusCbr() |
+ : audio_coding_->DisableOpusCbr(); |
+ |
+ if (ret != 0) { |
+ _engineStatisticsPtr->SetLastError(VE_AUDIO_CODING_MODULE_ERROR, |
+ kTraceError, "SetOpusCbr() failed"); |
+ return -1; |
+ } |
+ return 0; |
+} |
+ |
+int Channel::GetOpusCbr(bool* enabled) { |
+ int success = -1; |
+ audio_coding_->QueryEncoder([&](AudioEncoder const* encoder) { |
+ if (encoder) { |
+ *enabled = encoder->GetCbr(); |
+ success = 0; |
+ } |
+ }); |
+ return success; |
+} |
+ |
bool Channel::EnableAudioNetworkAdaptor(const std::string& config_string) { |
bool success = false; |
audio_coding_->ModifyEncoder([&](std::unique_ptr<AudioEncoder>* encoder) { |