diff --git a/webrtc/modules/audio_coding/audio_network_adaptor/controller_manager.cc b/webrtc/modules/audio_coding/audio_network_adaptor/controller_manager.cc index bfbb7ea571..425c213c39 100644 --- a/webrtc/modules/audio_coding/audio_network_adaptor/controller_manager.cc +++ b/webrtc/modules/audio_coding/audio_network_adaptor/controller_manager.cc @@ -302,7 +302,7 @@ ControllerManagerImpl::ControllerManagerImpl(const Config& config) ControllerManagerImpl::ControllerManagerImpl( const Config& config, - std::vector>&& controllers, + std::vector> controllers, const std::map>& scoring_points) : config_(config), controllers_(std::move(controllers)), diff --git a/webrtc/modules/audio_coding/audio_network_adaptor/controller_manager.h b/webrtc/modules/audio_coding/audio_network_adaptor/controller_manager.h index 78e962c3db..600fe65c10 100644 --- a/webrtc/modules/audio_coding/audio_network_adaptor/controller_manager.h +++ b/webrtc/modules/audio_coding/audio_network_adaptor/controller_manager.h @@ -74,7 +74,7 @@ class ControllerManagerImpl final : public ControllerManager { // Dependency injection for testing. ControllerManagerImpl( const Config& config, - std::vector>&& controllers, + std::vector> controllers, const std::map>& chracteristic_points); diff --git a/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc b/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc index e94ea6572e..5756e2af68 100644 --- a/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc +++ b/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc @@ -368,31 +368,31 @@ class AudioEncoderOpus::PacketLossFractionSmoother { AudioEncoderOpus::AudioEncoderOpus(const AudioEncoderOpusConfig& config) : AudioEncoderOpus(config, config.payload_type) {} +AudioEncoderOpus::AudioEncoderOpus(const AudioEncoderOpusConfig& config, + int payload_type) + : AudioEncoderOpus( + config, + payload_type, + [this](const ProtoString& config_string, RtcEventLog* event_log) { + return DefaultAudioNetworkAdaptorCreator(config_string, event_log); + }, + // We choose 5sec as initial time constant due to empirical data. + rtc::MakeUnique(5000)) {} + AudioEncoderOpus::AudioEncoderOpus( const AudioEncoderOpusConfig& config, int payload_type, - AudioNetworkAdaptorCreator&& audio_network_adaptor_creator, + const AudioNetworkAdaptorCreator& audio_network_adaptor_creator, std::unique_ptr bitrate_smoother) : payload_type_(payload_type), - send_side_bwe_with_overhead_(webrtc::field_trial::IsEnabled( - "WebRTC-SendSideBwe-WithOverhead")), + send_side_bwe_with_overhead_( + webrtc::field_trial::IsEnabled("WebRTC-SendSideBwe-WithOverhead")), packet_loss_rate_(0.0), inst_(nullptr), packet_loss_fraction_smoother_(new PacketLossFractionSmoother()), - audio_network_adaptor_creator_( - audio_network_adaptor_creator - ? std::move(audio_network_adaptor_creator) - : [this](const ProtoString& config_string, - RtcEventLog* event_log) { - return DefaultAudioNetworkAdaptorCreator(config_string, - event_log); - }), - bitrate_smoother_(bitrate_smoother - ? std::move(bitrate_smoother) : std::unique_ptr( - // We choose 5sec as initial time constant due to empirical data. - new SmoothingFilterImpl(5000))) { - RTC_DCHECK_GE(payload_type, 0); - RTC_DCHECK_LE(payload_type, 127); + audio_network_adaptor_creator_(audio_network_adaptor_creator), + bitrate_smoother_(std::move(bitrate_smoother)) { + RTC_DCHECK(0 <= payload_type && payload_type <= 127); // Sanity check of the redundant payload type field that we want to get rid // of. See https://bugs.chromium.org/p/webrtc/issues/detail?id=7847 diff --git a/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.h b/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.h index 473a65d29d..2382700fab 100644 --- a/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.h +++ b/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.h @@ -67,11 +67,14 @@ class AudioEncoderOpus final : public AudioEncoder { // https://bugs.chromium.org/p/webrtc/issues/detail?id=7847 AudioEncoderOpus(const AudioEncoderOpusConfig& config); + AudioEncoderOpus(const AudioEncoderOpusConfig& config, int payload_type); + + // Dependency injection for testing. AudioEncoderOpus( const AudioEncoderOpusConfig& config, int payload_type, - AudioNetworkAdaptorCreator&& audio_network_adaptor_creator = nullptr, - std::unique_ptr bitrate_smoother = nullptr); + const AudioNetworkAdaptorCreator& audio_network_adaptor_creator, + std::unique_ptr bitrate_smoother); explicit AudioEncoderOpus(const CodecInst& codec_inst); AudioEncoderOpus(int payload_type, const SdpAudioFormat& format); @@ -164,7 +167,7 @@ class AudioEncoderOpus final : public AudioEncoder { int next_frame_length_ms_; int complexity_; std::unique_ptr packet_loss_fraction_smoother_; - AudioNetworkAdaptorCreator audio_network_adaptor_creator_; + const AudioNetworkAdaptorCreator audio_network_adaptor_creator_; std::unique_ptr audio_network_adaptor_; rtc::Optional overhead_bytes_per_packet_; const std::unique_ptr bitrate_smoother_;