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

Side by Side Diff: webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc

Issue 2390883004: Hooking up audio network adaptor to VoE. (Closed)
Patch Set: on Karl's comments Created 4 years, 2 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 return num_channels == 1 ? 32000 : 64000; // Default value. 108 return num_channels == 1 ? 32000 : 64000; // Default value.
109 } 109 }
110 110
111 AudioEncoderOpus::AudioEncoderOpus( 111 AudioEncoderOpus::AudioEncoderOpus(
112 const Config& config, 112 const Config& config,
113 AudioNetworkAdaptorCreator&& audio_network_adaptor_creator) 113 AudioNetworkAdaptorCreator&& audio_network_adaptor_creator)
114 : packet_loss_rate_(0.0), 114 : packet_loss_rate_(0.0),
115 inst_(nullptr), 115 inst_(nullptr),
116 audio_network_adaptor_creator_( 116 audio_network_adaptor_creator_(
117 audio_network_adaptor_creator 117 audio_network_adaptor_creator
118 ? audio_network_adaptor_creator 118 ? audio_network_adaptor_creator
kwiberg-webrtc 2016/10/11 10:18:42 You should probably std::move here. Why else requi
minyue-webrtc 2016/10/11 10:38:35 Done.
119 : [this](const std::string& config_string, const Clock* clock) { 119 : [this](const std::string& config_string, const Clock* clock) {
120 return DefaultAudioNetworkAdaptorCreator(config_string, 120 return DefaultAudioNetworkAdaptorCreator(config_string,
121 clock); 121 clock);
122 }) { 122 }) {
123 RTC_CHECK(RecreateEncoderInstance(config)); 123 RTC_CHECK(RecreateEncoderInstance(config));
124 } 124 }
125 125
126 AudioEncoderOpus::AudioEncoderOpus(const CodecInst& codec_inst) 126 AudioEncoderOpus::AudioEncoderOpus(const CodecInst& codec_inst)
127 : AudioEncoderOpus(CreateConfig(codec_inst), nullptr) {} 127 : AudioEncoderOpus(CreateConfig(codec_inst), nullptr) {}
128 128
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 void AudioEncoderOpus::OnReceivedUplinkBandwidth(int uplink_bandwidth_bps) { 228 void AudioEncoderOpus::OnReceivedUplinkBandwidth(int uplink_bandwidth_bps) {
229 if (!audio_network_adaptor_) 229 if (!audio_network_adaptor_)
230 return; 230 return;
231 audio_network_adaptor_->SetUplinkBandwidth(uplink_bandwidth_bps); 231 audio_network_adaptor_->SetUplinkBandwidth(uplink_bandwidth_bps);
232 ApplyAudioNetworkAdaptor(); 232 ApplyAudioNetworkAdaptor();
233 } 233 }
234 234
235 void AudioEncoderOpus::OnReceivedUplinkPacketLossFraction( 235 void AudioEncoderOpus::OnReceivedUplinkPacketLossFraction(
236 float uplink_packet_loss_fraction) { 236 float uplink_packet_loss_fraction) {
237 if (!audio_network_adaptor_) 237 if (!audio_network_adaptor_)
238 return; 238 return SetProjectedPacketLossRate(uplink_packet_loss_fraction);
239 audio_network_adaptor_->SetUplinkPacketLossFraction( 239 audio_network_adaptor_->SetUplinkPacketLossFraction(
240 uplink_packet_loss_fraction); 240 uplink_packet_loss_fraction);
241 ApplyAudioNetworkAdaptor(); 241 ApplyAudioNetworkAdaptor();
242 } 242 }
243 243
244 void AudioEncoderOpus::OnReceivedTargetAudioBitrate( 244 void AudioEncoderOpus::OnReceivedTargetAudioBitrate(
245 int target_audio_bitrate_bps) { 245 int target_audio_bitrate_bps) {
246 if (!audio_network_adaptor_) 246 if (!audio_network_adaptor_)
247 return; 247 return SetTargetBitrate(target_audio_bitrate_bps);
248 audio_network_adaptor_->SetTargetAudioBitrate(target_audio_bitrate_bps); 248 audio_network_adaptor_->SetTargetAudioBitrate(target_audio_bitrate_bps);
249 ApplyAudioNetworkAdaptor(); 249 ApplyAudioNetworkAdaptor();
250 } 250 }
251 251
252 void AudioEncoderOpus::OnReceivedRtt(int rtt_ms) { 252 void AudioEncoderOpus::OnReceivedRtt(int rtt_ms) {
253 if (!audio_network_adaptor_) 253 if (!audio_network_adaptor_)
254 return; 254 return;
255 audio_network_adaptor_->SetRtt(rtt_ms); 255 audio_network_adaptor_->SetRtt(rtt_ms);
256 ApplyAudioNetworkAdaptor(); 256 ApplyAudioNetworkAdaptor();
257 } 257 }
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 AudioNetworkAdaptorImpl::Config config; 407 AudioNetworkAdaptorImpl::Config config;
408 config.clock = clock; 408 config.clock = clock;
409 return std::unique_ptr<AudioNetworkAdaptor>(new AudioNetworkAdaptorImpl( 409 return std::unique_ptr<AudioNetworkAdaptor>(new AudioNetworkAdaptorImpl(
410 config, ControllerManagerImpl::Create( 410 config, ControllerManagerImpl::Create(
411 config_string, NumChannels(), kSupportedFrameLengths, 411 config_string, NumChannels(), kSupportedFrameLengths,
412 num_channels_to_encode_, next_frame_length_ms_, 412 num_channels_to_encode_, next_frame_length_ms_,
413 GetTargetBitrate(), config_.fec_enabled, GetDtx(), clock))); 413 GetTargetBitrate(), config_.fec_enabled, GetDtx(), clock)));
414 } 414 }
415 415
416 } // namespace webrtc 416 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698