AudioCodingModuleImpl: Stop failing artificially for non-Opus encoders
All encoders already handle the "Opus-specific" requests sanely (by failing nicely), so we don't need extra checks to protect them. BUG=webrtc:5028 Review URL: https://codereview.webrtc.org/1527453005 Cr-Commit-Position: refs/heads/master@{#11051}
This commit is contained in:
@ -744,8 +744,6 @@ int AudioCodingModuleImpl::SetOpusApplication(OpusApplicationMode application) {
|
||||
if (!HaveValidEncoder("SetOpusApplication")) {
|
||||
return -1;
|
||||
}
|
||||
if (!codec_manager_.CurrentEncoderIsOpus())
|
||||
return -1;
|
||||
AudioEncoder::Application app;
|
||||
switch (application) {
|
||||
case kVoip:
|
||||
@ -767,8 +765,6 @@ int AudioCodingModuleImpl::SetOpusMaxPlaybackRate(int frequency_hz) {
|
||||
if (!HaveValidEncoder("SetOpusMaxPlaybackRate")) {
|
||||
return -1;
|
||||
}
|
||||
if (!codec_manager_.CurrentEncoderIsOpus())
|
||||
return -1;
|
||||
rent_a_codec_.GetEncoderStack()->SetMaxPlaybackRate(frequency_hz);
|
||||
return 0;
|
||||
}
|
||||
@ -778,8 +774,6 @@ int AudioCodingModuleImpl::EnableOpusDtx() {
|
||||
if (!HaveValidEncoder("EnableOpusDtx")) {
|
||||
return -1;
|
||||
}
|
||||
if (!codec_manager_.CurrentEncoderIsOpus())
|
||||
return -1;
|
||||
return rent_a_codec_.GetEncoderStack()->SetDtx(true) ? 0 : -1;
|
||||
}
|
||||
|
||||
@ -788,8 +782,6 @@ int AudioCodingModuleImpl::DisableOpusDtx() {
|
||||
if (!HaveValidEncoder("DisableOpusDtx")) {
|
||||
return -1;
|
||||
}
|
||||
if (!codec_manager_.CurrentEncoderIsOpus())
|
||||
return -1;
|
||||
return rent_a_codec_.GetEncoderStack()->SetDtx(false) ? 0 : -1;
|
||||
}
|
||||
|
||||
|
||||
@ -166,7 +166,9 @@ bool CodecManager::SetVAD(bool enable, ACMVADMode mode) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (CurrentEncoderIsOpus()) {
|
||||
// TODO(kwiberg): This doesn't protect Opus when injected as an external
|
||||
// encoder.
|
||||
if (send_codec_inst_ && IsOpus(*send_codec_inst_)) {
|
||||
// VAD/DTX not supported, but don't fail.
|
||||
enable = false;
|
||||
}
|
||||
@ -187,9 +189,5 @@ bool CodecManager::SetCodecFEC(bool enable_codec_fec) {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CodecManager::CurrentEncoderIsOpus() const {
|
||||
return send_codec_inst_ ? IsOpus(*send_codec_inst_) : false;
|
||||
}
|
||||
|
||||
} // namespace acm2
|
||||
} // namespace webrtc
|
||||
|
||||
@ -53,8 +53,6 @@ class CodecManager final {
|
||||
|
||||
bool SetCodecFEC(bool enable_codec_fec);
|
||||
|
||||
bool CurrentEncoderIsOpus() const;
|
||||
|
||||
private:
|
||||
rtc::ThreadChecker thread_checker_;
|
||||
rtc::Optional<CodecInst> send_codec_inst_;
|
||||
|
||||
@ -234,10 +234,10 @@ void TestWebRtcVadDtx::SetVAD(bool enable_dtx, bool enable_vad,
|
||||
// Following is the implementation of TestOpusDtx.
|
||||
void TestOpusDtx::Perform() {
|
||||
#ifdef WEBRTC_CODEC_ISAC
|
||||
// If we set other codec than Opus, DTX cannot be toggled.
|
||||
// If we set other codec than Opus, DTX cannot be switched on.
|
||||
RegisterCodec(kIsacWb);
|
||||
EXPECT_EQ(-1, acm_send_->EnableOpusDtx());
|
||||
EXPECT_EQ(-1, acm_send_->DisableOpusDtx());
|
||||
EXPECT_EQ(0, acm_send_->DisableOpusDtx());
|
||||
#endif
|
||||
|
||||
#ifdef WEBRTC_CODEC_OPUS
|
||||
|
||||
Reference in New Issue
Block a user