Delete AudioEncoderOpus constructor that doesn't provide Environment

Bug: webrtc:343086059
Change-Id: I55573eff8a13c504c7e14f370398bba1a6eae906
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/358060
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42692}
This commit is contained in:
Danil Chapovalov 2024-07-30 11:49:28 +02:00 committed by WebRTC LUCI CQ
parent c2160b14b1
commit 05309c5236
6 changed files with 9 additions and 55 deletions

View File

@ -46,12 +46,10 @@ rtc_library("audio_encoder_opus") {
deps = [ deps = [
":audio_encoder_opus_config", ":audio_encoder_opus_config",
"..:audio_codecs_api", "..:audio_codecs_api",
"../../../api:field_trials_view",
"../../../modules/audio_coding:webrtc_opus", "../../../modules/audio_coding:webrtc_opus",
"../../../rtc_base:checks", "../../../rtc_base:checks",
"../../../rtc_base/system:rtc_export", "../../../rtc_base/system:rtc_export",
"../../environment", "../../environment",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/types:optional", "//third_party/abseil-cpp/absl/types:optional",
] ]
} }

View File

@ -13,14 +13,12 @@
#include <memory> #include <memory>
#include <vector> #include <vector>
#include "absl/memory/memory.h"
#include "absl/types/optional.h" #include "absl/types/optional.h"
#include "api/audio_codecs/audio_codec_pair_id.h" #include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_encoder.h" #include "api/audio_codecs/audio_encoder.h"
#include "api/audio_codecs/audio_encoder_factory.h" #include "api/audio_codecs/audio_encoder_factory.h"
#include "api/audio_codecs/audio_format.h" #include "api/audio_codecs/audio_format.h"
#include "api/audio_codecs/opus/audio_encoder_opus_config.h" #include "api/audio_codecs/opus/audio_encoder_opus_config.h"
#include "api/field_trials_view.h"
#include "modules/audio_coding/codecs/opus/audio_encoder_opus.h" #include "modules/audio_coding/codecs/opus/audio_encoder_opus.h"
#include "rtc_base/checks.h" #include "rtc_base/checks.h"
@ -41,22 +39,6 @@ AudioCodecInfo AudioEncoderOpus::QueryAudioEncoder(
return AudioEncoderOpusImpl::QueryAudioEncoder(config); return AudioEncoderOpusImpl::QueryAudioEncoder(config);
} }
std::unique_ptr<AudioEncoder> AudioEncoderOpus::MakeAudioEncoder(
const AudioEncoderOpusConfig& config,
int payload_type,
absl::optional<AudioCodecPairId> /*codec_pair_id*/,
const FieldTrialsView* field_trials) {
if (!config.IsOk()) {
RTC_DCHECK_NOTREACHED();
return nullptr;
}
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
// Use WrapUnique to call deprecated constructor.
return absl::WrapUnique(new AudioEncoderOpusImpl(config, payload_type));
#pragma clang diagnostic pop
}
std::unique_ptr<AudioEncoder> AudioEncoderOpus::MakeAudioEncoder( std::unique_ptr<AudioEncoder> AudioEncoderOpus::MakeAudioEncoder(
const Environment& env, const Environment& env,
const AudioEncoderOpusConfig& config, const AudioEncoderOpusConfig& config,

View File

@ -15,13 +15,11 @@
#include <vector> #include <vector>
#include "absl/types/optional.h" #include "absl/types/optional.h"
#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_encoder.h" #include "api/audio_codecs/audio_encoder.h"
#include "api/audio_codecs/audio_encoder_factory.h" #include "api/audio_codecs/audio_encoder_factory.h"
#include "api/audio_codecs/audio_format.h" #include "api/audio_codecs/audio_format.h"
#include "api/audio_codecs/opus/audio_encoder_opus_config.h" #include "api/audio_codecs/opus/audio_encoder_opus_config.h"
#include "api/environment/environment.h" #include "api/environment/environment.h"
#include "api/field_trials_view.h"
#include "rtc_base/system/rtc_export.h" #include "rtc_base/system/rtc_export.h"
namespace webrtc { namespace webrtc {
@ -38,11 +36,6 @@ struct RTC_EXPORT AudioEncoderOpus {
const Environment& env, const Environment& env,
const AudioEncoderOpusConfig& config, const AudioEncoderOpusConfig& config,
const AudioEncoderFactory::Options& options); const AudioEncoderFactory::Options& options);
static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
const AudioEncoderOpusConfig& config,
int payload_type,
absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt,
const FieldTrialsView* field_trials = nullptr);
}; };
} // namespace webrtc } // namespace webrtc

View File

@ -473,7 +473,6 @@ rtc_library("webrtc_opus") {
"../../api/audio_codecs:audio_codecs_api", "../../api/audio_codecs:audio_codecs_api",
"../../api/audio_codecs/opus:audio_encoder_opus_config", "../../api/audio_codecs/opus:audio_encoder_opus_config",
"../../api/environment", "../../api/environment",
"../../api/transport:field_trial_based_config",
"../../common_audio", "../../common_audio",
"../../rtc_base:buffer", "../../rtc_base:buffer",
"../../rtc_base:checks", "../../rtc_base:checks",

View File

@ -20,7 +20,6 @@
#include "absl/strings/match.h" #include "absl/strings/match.h"
#include "absl/strings/string_view.h" #include "absl/strings/string_view.h"
#include "api/field_trials_view.h" #include "api/field_trials_view.h"
#include "api/transport/field_trial_based_config.h"
#include "modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl.h" #include "modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl.h"
#include "modules/audio_coding/audio_network_adaptor/controller_manager.h" #include "modules/audio_coding/audio_network_adaptor/controller_manager.h"
#include "modules/audio_coding/codecs/opus/audio_coder_opus_common.h" #include "modules/audio_coding/codecs/opus/audio_coder_opus_common.h"
@ -345,7 +344,7 @@ std::unique_ptr<AudioEncoderOpusImpl> AudioEncoderOpusImpl::CreateForTesting(
std::unique_ptr<SmoothingFilter> bitrate_smoother) { std::unique_ptr<SmoothingFilter> bitrate_smoother) {
// Using `new` to access a non-public constructor. // Using `new` to access a non-public constructor.
return absl::WrapUnique(new AudioEncoderOpusImpl( return absl::WrapUnique(new AudioEncoderOpusImpl(
env.field_trials(), config, payload_type, audio_network_adaptor_creator, env, config, payload_type, audio_network_adaptor_creator,
std::move(bitrate_smoother))); std::move(bitrate_smoother)));
} }
@ -353,7 +352,7 @@ AudioEncoderOpusImpl::AudioEncoderOpusImpl(const Environment& env,
const AudioEncoderOpusConfig& config, const AudioEncoderOpusConfig& config,
int payload_type) int payload_type)
: AudioEncoderOpusImpl( : AudioEncoderOpusImpl(
env.field_trials(), env,
config, config,
payload_type, payload_type,
[this](absl::string_view config_string, RtcEventLog* event_log) { [this](absl::string_view config_string, RtcEventLog* event_log) {
@ -362,30 +361,19 @@ AudioEncoderOpusImpl::AudioEncoderOpusImpl(const Environment& env,
// We choose 5sec as initial time constant due to empirical data. // We choose 5sec as initial time constant due to empirical data.
std::make_unique<SmoothingFilterImpl>(5'000)) {} std::make_unique<SmoothingFilterImpl>(5'000)) {}
AudioEncoderOpusImpl::AudioEncoderOpusImpl(const AudioEncoderOpusConfig& config,
int payload_type)
: AudioEncoderOpusImpl(
FieldTrialBasedConfig(),
config,
payload_type,
[this](absl::string_view config_string, RtcEventLog* event_log) {
return DefaultAudioNetworkAdaptorCreator(config_string, event_log);
},
// We choose 5sec as initial time constant due to empirical data.
std::make_unique<SmoothingFilterImpl>(5000)) {}
AudioEncoderOpusImpl::AudioEncoderOpusImpl( AudioEncoderOpusImpl::AudioEncoderOpusImpl(
const FieldTrialsView& field_trials, const Environment& env,
const AudioEncoderOpusConfig& config, const AudioEncoderOpusConfig& config,
int payload_type, int payload_type,
const AudioNetworkAdaptorCreator& audio_network_adaptor_creator, const AudioNetworkAdaptorCreator& audio_network_adaptor_creator,
std::unique_ptr<SmoothingFilter> bitrate_smoother) std::unique_ptr<SmoothingFilter> bitrate_smoother)
: payload_type_(payload_type), : payload_type_(payload_type),
use_stable_target_for_adaptation_( use_stable_target_for_adaptation_(!env.field_trials().IsDisabled(
!field_trials.IsDisabled("WebRTC-Audio-StableTargetAdaptation")), "WebRTC-Audio-StableTargetAdaptation")),
adjust_bandwidth_(field_trials.IsEnabled("WebRTC-AdjustOpusBandwidth")), adjust_bandwidth_(
env.field_trials().IsEnabled("WebRTC-AdjustOpusBandwidth")),
bitrate_changed_(true), bitrate_changed_(true),
bitrate_multipliers_(GetBitrateMultipliers(field_trials)), bitrate_multipliers_(GetBitrateMultipliers(env.field_trials())),
packet_loss_rate_(0.0), packet_loss_rate_(0.0),
inst_(nullptr), inst_(nullptr),
packet_loss_fraction_smoother_(new PacketLossFractionSmoother()), packet_loss_fraction_smoother_(new PacketLossFractionSmoother()),

View File

@ -61,10 +61,6 @@ class AudioEncoderOpusImpl final : public AudioEncoder {
const AudioEncoderOpusConfig& config, const AudioEncoderOpusConfig& config,
int payload_type); int payload_type);
[[deprecated("bugs.webrtc.org/343086059")]] AudioEncoderOpusImpl(
const AudioEncoderOpusConfig& config,
int payload_type);
~AudioEncoderOpusImpl() override; ~AudioEncoderOpusImpl() override;
AudioEncoderOpusImpl(const AudioEncoderOpusImpl&) = delete; AudioEncoderOpusImpl(const AudioEncoderOpusImpl&) = delete;
@ -126,10 +122,8 @@ class AudioEncoderOpusImpl final : public AudioEncoder {
private: private:
class PacketLossFractionSmoother; class PacketLossFractionSmoother;
// TODO: bugs.webrtc.org/343086059 - Replace field_trials with Environment
// when public constructors that do not provide the Environment are removed.
AudioEncoderOpusImpl( AudioEncoderOpusImpl(
const FieldTrialsView& field_trials, const Environment& env,
const AudioEncoderOpusConfig& config, const AudioEncoderOpusConfig& config,
int payload_type, int payload_type,
const AudioNetworkAdaptorCreator& audio_network_adaptor_creator, const AudioNetworkAdaptorCreator& audio_network_adaptor_creator,