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

Unified Diff: webrtc/audio/audio_send_stream.cc

Issue 2669153004: Remove remaining calls to VoE APIs from Audio[Send|Receive]Stream. (Closed)
Patch Set: fix Created 3 years, 10 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
Index: webrtc/audio/audio_send_stream.cc
diff --git a/webrtc/audio/audio_send_stream.cc b/webrtc/audio/audio_send_stream.cc
index d8bc84858a6a3e33936a89dd1dfa6c6c173d68b9..cad417c0c9bccea943818d42983a45a1fbea6f1d 100644
--- a/webrtc/audio/audio_send_stream.cc
+++ b/webrtc/audio/audio_send_stream.cc
@@ -23,9 +23,7 @@
#include "webrtc/modules/pacing/paced_sender.h"
#include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h"
#include "webrtc/voice_engine/channel_proxy.h"
-#include "webrtc/voice_engine/include/voe_audio_processing.h"
-#include "webrtc/voice_engine/include/voe_codec.h"
-#include "webrtc/voice_engine/include/voe_rtp_rtcp.h"
+#include "webrtc/voice_engine/include/voe_base.h"
#include "webrtc/voice_engine/include/voe_volume_control.h"
#include "webrtc/voice_engine/voice_engine_impl.h"
@@ -155,9 +153,6 @@ webrtc::AudioSendStream::Stats AudioSendStream::GetStats() const {
RTC_DCHECK(thread_checker_.CalledOnValidThread());
webrtc::AudioSendStream::Stats stats;
stats.local_ssrc = config_.rtp.ssrc;
- ScopedVoEInterface<VoEAudioProcessing> processing(voice_engine());
- ScopedVoEInterface<VoECodec> codec(voice_engine());
- ScopedVoEInterface<VoEVolumeControl> volume(voice_engine());
webrtc::CallStatistics call_stats = channel_proxy_->GetRTCPStatistics();
stats.bytes_sent = call_stats.bytesSent;
@@ -172,7 +167,7 @@ webrtc::AudioSendStream::Stats AudioSendStream::GetStats() const {
stats.aec_quality_min = -1;
webrtc::CodecInst codec_inst = {0};
- if (codec->GetSendCodec(config_.voe_channel_id, codec_inst) != -1) {
+ if (channel_proxy_->GetSendCodec(&codec_inst)) {
RTC_DCHECK_NE(codec_inst.pltype, -1);
stats.codec_name = codec_inst.plname;
stats.codec_payload_type = rtc::Optional<int>(codec_inst.pltype);
@@ -196,6 +191,7 @@ webrtc::AudioSendStream::Stats AudioSendStream::GetStats() const {
// Local speech level.
{
+ ScopedVoEInterface<VoEVolumeControl> volume(voice_engine());
unsigned int level = 0;
int error = volume->GetSpeechInputLevelFullRange(level);
RTC_DCHECK_EQ(0, error);
@@ -274,14 +270,9 @@ VoiceEngine* AudioSendStream::voice_engine() const {
// Apply current codec settings to a single voe::Channel used for sending.
bool AudioSendStream::SetupSendCodec() {
- ScopedVoEInterface<VoEBase> base(voice_engine());
- ScopedVoEInterface<VoECodec> codec(voice_engine());
-
- const int channel = config_.voe_channel_id;
-
// Disable VAD and FEC unless we know the other side wants them.
- codec->SetVADStatus(channel, false);
- codec->SetFECStatus(channel, false);
+ channel_proxy_->SetVADStatus(false);
+ channel_proxy_->SetCodecFECStatus(false);
// We disable audio network adaptor here. This will on one hand make sure that
// audio network adaptor is disabled by default, and on the other allow audio
@@ -298,36 +289,35 @@ bool AudioSendStream::SetupSendCodec() {
// TODO(minyue): check if this check is really needed, or can we move it into
// |codec->SetSendCodec|.
webrtc::CodecInst current_codec = {0};
- if (codec->GetSendCodec(channel, current_codec) != 0 ||
+ if (!channel_proxy_->GetSendCodec(&current_codec) ||
(send_codec_spec.codec_inst != current_codec)) {
- if (codec->SetSendCodec(channel, send_codec_spec.codec_inst) == -1) {
- LOG(LS_WARNING) << "SetSendCodec() failed: " << base->LastError();
+ if (!channel_proxy_->SetSendCodec(send_codec_spec.codec_inst)) {
+ LOG(LS_WARNING) << "SetSendCodec() failed";
return false;
}
}
// Codec internal FEC. Treat any failure as fatal internal error.
if (send_codec_spec.enable_codec_fec) {
- if (codec->SetFECStatus(channel, true) != 0) {
- LOG(LS_WARNING) << "SetFECStatus() failed: " << base->LastError();
+ if (!channel_proxy_->SetCodecFECStatus(true)) {
+ LOG(LS_WARNING) << "SetCodecFECStatus() failed";
return false;
}
}
// DTX and maxplaybackrate are only set if current codec is Opus.
if (IsCodec(send_codec_spec.codec_inst, kOpusCodecName)) {
- if (codec->SetOpusDtx(channel, send_codec_spec.enable_opus_dtx) != 0) {
- LOG(LS_WARNING) << "SetOpusDtx() failed: " << base->LastError();
+ if (!channel_proxy_->SetOpusDtx(send_codec_spec.enable_opus_dtx)) {
+ LOG(LS_WARNING) << "SetOpusDtx() failed";
return false;
}
// If opus_max_playback_rate <= 0, the default maximum playback rate
// (48 kHz) will be used.
if (send_codec_spec.opus_max_playback_rate > 0) {
- if (codec->SetOpusMaxPlaybackRate(
- channel, send_codec_spec.opus_max_playback_rate) != 0) {
- LOG(LS_WARNING) << "SetOpusMaxPlaybackRate() failed: "
- << base->LastError();
+ if (!channel_proxy_->SetOpusMaxPlaybackRate(
+ send_codec_spec.opus_max_playback_rate)) {
+ LOG(LS_WARNING) << "SetOpusMaxPlaybackRate() failed";
return false;
}
}
@@ -361,10 +351,9 @@ bool AudioSendStream::SetupSendCodec() {
RTC_NOTREACHED();
return false;
}
- if (codec->SetSendCNPayloadType(channel, send_codec_spec.cng_payload_type,
- cn_freq) != 0) {
- LOG(LS_WARNING) << "SetSendCNPayloadType() failed: "
- << base->LastError();
+ if (channel_proxy_->SetSendCNPayloadType(send_codec_spec.cng_payload_type,
+ cn_freq) != 0) {
+ LOG(LS_WARNING) << "SetSendCNPayloadType() failed";
// TODO(ajm): This failure condition will be removed from VoE.
// Restore the return here when we update to a new enough webrtc.
//
@@ -382,8 +371,8 @@ bool AudioSendStream::SetupSendCodec() {
send_codec_spec.codec_inst.channels == 1) {
// TODO(minyue): If CN frequency == 48000 Hz is allowed, consider the
// interaction between VAD and Opus FEC.
- if (codec->SetVADStatus(channel, true) != 0) {
- LOG(LS_WARNING) << "SetVADStatus() failed: " << base->LastError();
+ if (!channel_proxy_->SetVADStatus(true)) {
+ LOG(LS_WARNING) << "SetVADStatus() failed";
return false;
}
}

Powered by Google App Engine
This is Rietveld 408576698