WebRTC-DeprecateGlobalFieldTrialString/Enabled/ - part 5/inf
Add field trials to audio api.
It is added as a pointer with nullptr as default.
It is not (yet) used anywhere.
Usage of field trials comes in subsequent patches.
Bug: webrtc:10335
Change-Id: Icbe22d95c356a6fefde34590f11ea63f005ab09e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/255521
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36213}
diff --git a/api/audio_codecs/BUILD.gn b/api/audio_codecs/BUILD.gn
index 5926f5e..3c84af8 100644
--- a/api/audio_codecs/BUILD.gn
+++ b/api/audio_codecs/BUILD.gn
@@ -32,6 +32,7 @@
"..:array_view",
"..:bitrate_allocation",
"..:scoped_refptr",
+ "../../api:webrtc_key_value_config",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:sanitizer",
diff --git a/api/audio_codecs/L16/BUILD.gn b/api/audio_codecs/L16/BUILD.gn
index 1f7a1e5..9e4a0f1 100644
--- a/api/audio_codecs/L16/BUILD.gn
+++ b/api/audio_codecs/L16/BUILD.gn
@@ -21,6 +21,7 @@
]
deps = [
"..:audio_codecs_api",
+ "../../../api:webrtc_key_value_config",
"../../../modules/audio_coding:pcm16b",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base:safe_minmax",
@@ -41,6 +42,7 @@
]
deps = [
"..:audio_codecs_api",
+ "../../../api:webrtc_key_value_config",
"../../../modules/audio_coding:pcm16b",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base/system:rtc_export",
diff --git a/api/audio_codecs/L16/audio_decoder_L16.cc b/api/audio_codecs/L16/audio_decoder_L16.cc
index 93863f1..874a8a5 100644
--- a/api/audio_codecs/L16/audio_decoder_L16.cc
+++ b/api/audio_codecs/L16/audio_decoder_L16.cc
@@ -37,7 +37,8 @@
std::unique_ptr<AudioDecoder> AudioDecoderL16::MakeAudioDecoder(
const Config& config,
- absl::optional<AudioCodecPairId> /*codec_pair_id*/) {
+ absl::optional<AudioCodecPairId> /*codec_pair_id*/,
+ const WebRtcKeyValueConfig* field_trials) {
if (!config.IsOk()) {
return nullptr;
}
diff --git a/api/audio_codecs/L16/audio_decoder_L16.h b/api/audio_codecs/L16/audio_decoder_L16.h
index 581a5b8..ade8f98 100644
--- a/api/audio_codecs/L16/audio_decoder_L16.h
+++ b/api/audio_codecs/L16/audio_decoder_L16.h
@@ -18,6 +18,7 @@
#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_decoder.h"
#include "api/audio_codecs/audio_format.h"
+#include "api/webrtc_key_value_config.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@@ -39,7 +40,8 @@
static void AppendSupportedDecoders(std::vector<AudioCodecSpec>* specs);
static std::unique_ptr<AudioDecoder> MakeAudioDecoder(
const Config& config,
- absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt);
+ absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt,
+ const WebRtcKeyValueConfig* field_trials = nullptr);
};
} // namespace webrtc
diff --git a/api/audio_codecs/L16/audio_encoder_L16.cc b/api/audio_codecs/L16/audio_encoder_L16.cc
index 590d3e3..3994f5c 100644
--- a/api/audio_codecs/L16/audio_encoder_L16.cc
+++ b/api/audio_codecs/L16/audio_encoder_L16.cc
@@ -59,7 +59,8 @@
std::unique_ptr<AudioEncoder> AudioEncoderL16::MakeAudioEncoder(
const AudioEncoderL16::Config& config,
int payload_type,
- absl::optional<AudioCodecPairId> /*codec_pair_id*/) {
+ absl::optional<AudioCodecPairId> /*codec_pair_id*/,
+ const WebRtcKeyValueConfig* field_trials) {
AudioEncoderPcm16B::Config c;
c.sample_rate_hz = config.sample_rate_hz;
c.num_channels = config.num_channels;
diff --git a/api/audio_codecs/L16/audio_encoder_L16.h b/api/audio_codecs/L16/audio_encoder_L16.h
index 25d2211..e0916df 100644
--- a/api/audio_codecs/L16/audio_encoder_L16.h
+++ b/api/audio_codecs/L16/audio_encoder_L16.h
@@ -18,6 +18,7 @@
#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_encoder.h"
#include "api/audio_codecs/audio_format.h"
+#include "api/webrtc_key_value_config.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@@ -44,7 +45,8 @@
static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
const Config& config,
int payload_type,
- absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt);
+ absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt,
+ const WebRtcKeyValueConfig* field_trials = nullptr);
};
} // namespace webrtc
diff --git a/api/audio_codecs/audio_decoder_factory_template.h b/api/audio_codecs/audio_decoder_factory_template.h
index 976f9c6..4badd82 100644
--- a/api/audio_codecs/audio_decoder_factory_template.h
+++ b/api/audio_codecs/audio_decoder_factory_template.h
@@ -16,6 +16,7 @@
#include "api/audio_codecs/audio_decoder_factory.h"
#include "api/scoped_refptr.h"
+#include "api/webrtc_key_value_config.h"
#include "rtc_base/ref_counted_object.h"
namespace webrtc {
@@ -32,7 +33,8 @@
static bool IsSupportedDecoder(const SdpAudioFormat& format) { return false; }
static std::unique_ptr<AudioDecoder> MakeAudioDecoder(
const SdpAudioFormat& format,
- absl::optional<AudioCodecPairId> codec_pair_id) {
+ absl::optional<AudioCodecPairId> codec_pair_id,
+ const WebRtcKeyValueConfig* field_trials) {
return nullptr;
}
};
@@ -55,16 +57,22 @@
}
static std::unique_ptr<AudioDecoder> MakeAudioDecoder(
const SdpAudioFormat& format,
- absl::optional<AudioCodecPairId> codec_pair_id) {
+ absl::optional<AudioCodecPairId> codec_pair_id,
+ const WebRtcKeyValueConfig* field_trials) {
auto opt_config = T::SdpToConfig(format);
return opt_config ? T::MakeAudioDecoder(*opt_config, codec_pair_id)
- : Helper<Ts...>::MakeAudioDecoder(format, codec_pair_id);
+ : Helper<Ts...>::MakeAudioDecoder(format, codec_pair_id,
+ field_trials);
}
};
template <typename... Ts>
class AudioDecoderFactoryT : public AudioDecoderFactory {
public:
+ explicit AudioDecoderFactoryT(const WebRtcKeyValueConfig* field_trials) {
+ field_trials_ = field_trials;
+ }
+
std::vector<AudioCodecSpec> GetSupportedDecoders() override {
std::vector<AudioCodecSpec> specs;
Helper<Ts...>::AppendSupportedDecoders(&specs);
@@ -78,8 +86,11 @@
std::unique_ptr<AudioDecoder> MakeAudioDecoder(
const SdpAudioFormat& format,
absl::optional<AudioCodecPairId> codec_pair_id) override {
- return Helper<Ts...>::MakeAudioDecoder(format, codec_pair_id);
+ return Helper<Ts...>::MakeAudioDecoder(format, codec_pair_id,
+ field_trials_);
}
+
+ const WebRtcKeyValueConfig* field_trials_;
};
} // namespace audio_decoder_factory_template_impl
@@ -115,7 +126,8 @@
// TODO(kwiberg): Point at CreateBuiltinAudioDecoderFactory() for an example of
// how it is used.
template <typename... Ts>
-rtc::scoped_refptr<AudioDecoderFactory> CreateAudioDecoderFactory() {
+rtc::scoped_refptr<AudioDecoderFactory> CreateAudioDecoderFactory(
+ const WebRtcKeyValueConfig* field_trials = nullptr) {
// There's no technical reason we couldn't allow zero template parameters,
// but such a factory couldn't create any decoders, and callers can do this
// by mistake by simply forgetting the <> altogether. So we forbid it in
@@ -124,7 +136,8 @@
"Caller must give at least one template parameter");
return rtc::make_ref_counted<
- audio_decoder_factory_template_impl::AudioDecoderFactoryT<Ts...>>();
+ audio_decoder_factory_template_impl::AudioDecoderFactoryT<Ts...>>(
+ field_trials);
}
} // namespace webrtc
diff --git a/api/audio_codecs/audio_encoder_factory_template.h b/api/audio_codecs/audio_encoder_factory_template.h
index 4dc0672..ceefab2 100644
--- a/api/audio_codecs/audio_encoder_factory_template.h
+++ b/api/audio_codecs/audio_encoder_factory_template.h
@@ -16,6 +16,7 @@
#include "api/audio_codecs/audio_encoder_factory.h"
#include "api/scoped_refptr.h"
+#include "api/webrtc_key_value_config.h"
#include "rtc_base/ref_counted_object.h"
namespace webrtc {
@@ -36,7 +37,8 @@
static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
int payload_type,
const SdpAudioFormat& format,
- absl::optional<AudioCodecPairId> codec_pair_id) {
+ absl::optional<AudioCodecPairId> codec_pair_id,
+ const WebRtcKeyValueConfig* field_trials) {
return nullptr;
}
};
@@ -63,13 +65,14 @@
static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
int payload_type,
const SdpAudioFormat& format,
- absl::optional<AudioCodecPairId> codec_pair_id) {
+ absl::optional<AudioCodecPairId> codec_pair_id,
+ const WebRtcKeyValueConfig* field_trials) {
auto opt_config = T::SdpToConfig(format);
if (opt_config) {
return T::MakeAudioEncoder(*opt_config, payload_type, codec_pair_id);
} else {
return Helper<Ts...>::MakeAudioEncoder(payload_type, format,
- codec_pair_id);
+ codec_pair_id, field_trials);
}
}
};
@@ -77,6 +80,10 @@
template <typename... Ts>
class AudioEncoderFactoryT : public AudioEncoderFactory {
public:
+ explicit AudioEncoderFactoryT(const WebRtcKeyValueConfig* field_trials) {
+ field_trials_ = field_trials;
+ }
+
std::vector<AudioCodecSpec> GetSupportedEncoders() override {
std::vector<AudioCodecSpec> specs;
Helper<Ts...>::AppendSupportedEncoders(&specs);
@@ -92,8 +99,11 @@
int payload_type,
const SdpAudioFormat& format,
absl::optional<AudioCodecPairId> codec_pair_id) override {
- return Helper<Ts...>::MakeAudioEncoder(payload_type, format, codec_pair_id);
+ return Helper<Ts...>::MakeAudioEncoder(payload_type, format, codec_pair_id,
+ field_trials_);
}
+
+ const WebRtcKeyValueConfig* field_trials_;
};
} // namespace audio_encoder_factory_template_impl
@@ -134,7 +144,8 @@
// TODO(kwiberg): Point at CreateBuiltinAudioEncoderFactory() for an example of
// how it is used.
template <typename... Ts>
-rtc::scoped_refptr<AudioEncoderFactory> CreateAudioEncoderFactory() {
+rtc::scoped_refptr<AudioEncoderFactory> CreateAudioEncoderFactory(
+ const WebRtcKeyValueConfig* field_trials = nullptr) {
// There's no technical reason we couldn't allow zero template parameters,
// but such a factory couldn't create any encoders, and callers can do this
// by mistake by simply forgetting the <> altogether. So we forbid it in
@@ -143,7 +154,8 @@
"Caller must give at least one template parameter");
return rtc::make_ref_counted<
- audio_encoder_factory_template_impl::AudioEncoderFactoryT<Ts...>>();
+ audio_encoder_factory_template_impl::AudioEncoderFactoryT<Ts...>>(
+ field_trials);
}
} // namespace webrtc
diff --git a/api/audio_codecs/builtin_audio_encoder_factory.cc b/api/audio_codecs/builtin_audio_encoder_factory.cc
index 99fac09..4433893 100644
--- a/api/audio_codecs/builtin_audio_encoder_factory.cc
+++ b/api/audio_codecs/builtin_audio_encoder_factory.cc
@@ -47,8 +47,10 @@
static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
const Config& config,
int payload_type,
- absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt) {
- return T::MakeAudioEncoder(config, payload_type, codec_pair_id);
+ absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt,
+ const WebRtcKeyValueConfig* field_trials = nullptr) {
+ return T::MakeAudioEncoder(config, payload_type, codec_pair_id,
+ field_trials);
}
};
diff --git a/api/audio_codecs/g711/BUILD.gn b/api/audio_codecs/g711/BUILD.gn
index 92d77be..1f0b7df 100644
--- a/api/audio_codecs/g711/BUILD.gn
+++ b/api/audio_codecs/g711/BUILD.gn
@@ -21,6 +21,7 @@
]
deps = [
"..:audio_codecs_api",
+ "../../../api:webrtc_key_value_config",
"../../../modules/audio_coding:g711",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base:safe_minmax",
@@ -41,6 +42,7 @@
]
deps = [
"..:audio_codecs_api",
+ "../../../api:webrtc_key_value_config",
"../../../modules/audio_coding:g711",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base/system:rtc_export",
diff --git a/api/audio_codecs/g711/audio_decoder_g711.cc b/api/audio_codecs/g711/audio_decoder_g711.cc
index f3d3378..b34b464 100644
--- a/api/audio_codecs/g711/audio_decoder_g711.cc
+++ b/api/audio_codecs/g711/audio_decoder_g711.cc
@@ -47,7 +47,8 @@
std::unique_ptr<AudioDecoder> AudioDecoderG711::MakeAudioDecoder(
const Config& config,
- absl::optional<AudioCodecPairId> /*codec_pair_id*/) {
+ absl::optional<AudioCodecPairId> /*codec_pair_id*/,
+ const WebRtcKeyValueConfig* field_trials) {
if (!config.IsOk()) {
RTC_DCHECK_NOTREACHED();
return nullptr;
diff --git a/api/audio_codecs/g711/audio_decoder_g711.h b/api/audio_codecs/g711/audio_decoder_g711.h
index 18c15a8..62b0f88 100644
--- a/api/audio_codecs/g711/audio_decoder_g711.h
+++ b/api/audio_codecs/g711/audio_decoder_g711.h
@@ -18,6 +18,7 @@
#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_decoder.h"
#include "api/audio_codecs/audio_format.h"
+#include "api/webrtc_key_value_config.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@@ -39,7 +40,8 @@
static void AppendSupportedDecoders(std::vector<AudioCodecSpec>* specs);
static std::unique_ptr<AudioDecoder> MakeAudioDecoder(
const Config& config,
- absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt);
+ absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt,
+ const WebRtcKeyValueConfig* field_trials = nullptr);
};
} // namespace webrtc
diff --git a/api/audio_codecs/g711/audio_encoder_g711.cc b/api/audio_codecs/g711/audio_encoder_g711.cc
index 4c1ce0f..8c60304 100644
--- a/api/audio_codecs/g711/audio_encoder_g711.cc
+++ b/api/audio_codecs/g711/audio_encoder_g711.cc
@@ -64,7 +64,8 @@
std::unique_ptr<AudioEncoder> AudioEncoderG711::MakeAudioEncoder(
const Config& config,
int payload_type,
- absl::optional<AudioCodecPairId> /*codec_pair_id*/) {
+ absl::optional<AudioCodecPairId> /*codec_pair_id*/,
+ const WebRtcKeyValueConfig* field_trials) {
if (!config.IsOk()) {
RTC_DCHECK_NOTREACHED();
return nullptr;
diff --git a/api/audio_codecs/g711/audio_encoder_g711.h b/api/audio_codecs/g711/audio_encoder_g711.h
index 29fe38f..c2750e2 100644
--- a/api/audio_codecs/g711/audio_encoder_g711.h
+++ b/api/audio_codecs/g711/audio_encoder_g711.h
@@ -18,6 +18,7 @@
#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_encoder.h"
#include "api/audio_codecs/audio_format.h"
+#include "api/webrtc_key_value_config.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@@ -44,7 +45,8 @@
static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
const Config& config,
int payload_type,
- absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt);
+ absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt,
+ const WebRtcKeyValueConfig* field_trials = nullptr);
};
} // namespace webrtc
diff --git a/api/audio_codecs/g722/BUILD.gn b/api/audio_codecs/g722/BUILD.gn
index a186eab..fbce2c5 100644
--- a/api/audio_codecs/g722/BUILD.gn
+++ b/api/audio_codecs/g722/BUILD.gn
@@ -27,6 +27,7 @@
deps = [
":audio_encoder_g722_config",
"..:audio_codecs_api",
+ "../../../api:webrtc_key_value_config",
"../../../modules/audio_coding:g722",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base:safe_minmax",
@@ -47,6 +48,7 @@
]
deps = [
"..:audio_codecs_api",
+ "../../../api:webrtc_key_value_config",
"../../../modules/audio_coding:g722",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base/system:rtc_export",
diff --git a/api/audio_codecs/g722/audio_decoder_g722.cc b/api/audio_codecs/g722/audio_decoder_g722.cc
index 0049e5a..8f3a5c0 100644
--- a/api/audio_codecs/g722/audio_decoder_g722.cc
+++ b/api/audio_codecs/g722/audio_decoder_g722.cc
@@ -36,7 +36,8 @@
std::unique_ptr<AudioDecoder> AudioDecoderG722::MakeAudioDecoder(
Config config,
- absl::optional<AudioCodecPairId> /*codec_pair_id*/) {
+ absl::optional<AudioCodecPairId> /*codec_pair_id*/,
+ const WebRtcKeyValueConfig* field_trials) {
if (!config.IsOk()) {
RTC_DCHECK_NOTREACHED();
return nullptr;
diff --git a/api/audio_codecs/g722/audio_decoder_g722.h b/api/audio_codecs/g722/audio_decoder_g722.h
index 2a67492..05e6130 100644
--- a/api/audio_codecs/g722/audio_decoder_g722.h
+++ b/api/audio_codecs/g722/audio_decoder_g722.h
@@ -18,6 +18,7 @@
#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_decoder.h"
#include "api/audio_codecs/audio_format.h"
+#include "api/webrtc_key_value_config.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@@ -33,7 +34,8 @@
static void AppendSupportedDecoders(std::vector<AudioCodecSpec>* specs);
static std::unique_ptr<AudioDecoder> MakeAudioDecoder(
Config config,
- absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt);
+ absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt,
+ const WebRtcKeyValueConfig* field_trials = nullptr);
};
} // namespace webrtc
diff --git a/api/audio_codecs/g722/audio_encoder_g722.cc b/api/audio_codecs/g722/audio_encoder_g722.cc
index 66cf9e1..812d66f 100644
--- a/api/audio_codecs/g722/audio_encoder_g722.cc
+++ b/api/audio_codecs/g722/audio_encoder_g722.cc
@@ -62,7 +62,8 @@
std::unique_ptr<AudioEncoder> AudioEncoderG722::MakeAudioEncoder(
const AudioEncoderG722Config& config,
int payload_type,
- absl::optional<AudioCodecPairId> /*codec_pair_id*/) {
+ absl::optional<AudioCodecPairId> /*codec_pair_id*/,
+ const WebRtcKeyValueConfig* field_trials) {
if (!config.IsOk()) {
RTC_DCHECK_NOTREACHED();
return nullptr;
diff --git a/api/audio_codecs/g722/audio_encoder_g722.h b/api/audio_codecs/g722/audio_encoder_g722.h
index 327c0af..14ddff7 100644
--- a/api/audio_codecs/g722/audio_encoder_g722.h
+++ b/api/audio_codecs/g722/audio_encoder_g722.h
@@ -19,6 +19,7 @@
#include "api/audio_codecs/audio_encoder.h"
#include "api/audio_codecs/audio_format.h"
#include "api/audio_codecs/g722/audio_encoder_g722_config.h"
+#include "api/webrtc_key_value_config.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@@ -34,7 +35,8 @@
static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
const AudioEncoderG722Config& config,
int payload_type,
- absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt);
+ absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt,
+ const WebRtcKeyValueConfig* field_trials = nullptr);
};
} // namespace webrtc
diff --git a/api/audio_codecs/ilbc/BUILD.gn b/api/audio_codecs/ilbc/BUILD.gn
index b6a5045..1cac7ed 100644
--- a/api/audio_codecs/ilbc/BUILD.gn
+++ b/api/audio_codecs/ilbc/BUILD.gn
@@ -27,6 +27,7 @@
deps = [
":audio_encoder_ilbc_config",
"..:audio_codecs_api",
+ "../../../api:webrtc_key_value_config",
"../../../modules/audio_coding:ilbc",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base:safe_minmax",
@@ -46,6 +47,7 @@
]
deps = [
"..:audio_codecs_api",
+ "../../../api:webrtc_key_value_config",
"../../../modules/audio_coding:ilbc",
"../../../rtc_base:rtc_base_approved",
]
diff --git a/api/audio_codecs/ilbc/audio_decoder_ilbc.cc b/api/audio_codecs/ilbc/audio_decoder_ilbc.cc
index 237cef2..9a291ee 100644
--- a/api/audio_codecs/ilbc/audio_decoder_ilbc.cc
+++ b/api/audio_codecs/ilbc/audio_decoder_ilbc.cc
@@ -34,7 +34,8 @@
std::unique_ptr<AudioDecoder> AudioDecoderIlbc::MakeAudioDecoder(
Config config,
- absl::optional<AudioCodecPairId> /*codec_pair_id*/) {
+ absl::optional<AudioCodecPairId> /*codec_pair_id*/,
+ const WebRtcKeyValueConfig* field_trials) {
return std::make_unique<AudioDecoderIlbcImpl>();
}
diff --git a/api/audio_codecs/ilbc/audio_decoder_ilbc.h b/api/audio_codecs/ilbc/audio_decoder_ilbc.h
index 9ab8479..4d9a4b7 100644
--- a/api/audio_codecs/ilbc/audio_decoder_ilbc.h
+++ b/api/audio_codecs/ilbc/audio_decoder_ilbc.h
@@ -18,6 +18,7 @@
#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_decoder.h"
#include "api/audio_codecs/audio_format.h"
+#include "api/webrtc_key_value_config.h"
namespace webrtc {
@@ -29,7 +30,8 @@
static void AppendSupportedDecoders(std::vector<AudioCodecSpec>* specs);
static std::unique_ptr<AudioDecoder> MakeAudioDecoder(
Config config,
- absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt);
+ absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt,
+ const WebRtcKeyValueConfig* field_trials = nullptr);
};
} // namespace webrtc
diff --git a/api/audio_codecs/ilbc/audio_encoder_ilbc.cc b/api/audio_codecs/ilbc/audio_encoder_ilbc.cc
index 52ba8f6..6525887 100644
--- a/api/audio_codecs/ilbc/audio_encoder_ilbc.cc
+++ b/api/audio_codecs/ilbc/audio_encoder_ilbc.cc
@@ -76,7 +76,8 @@
std::unique_ptr<AudioEncoder> AudioEncoderIlbc::MakeAudioEncoder(
const AudioEncoderIlbcConfig& config,
int payload_type,
- absl::optional<AudioCodecPairId> /*codec_pair_id*/) {
+ absl::optional<AudioCodecPairId> /*codec_pair_id*/,
+ const WebRtcKeyValueConfig* field_trials) {
if (!config.IsOk()) {
RTC_DCHECK_NOTREACHED();
return nullptr;
diff --git a/api/audio_codecs/ilbc/audio_encoder_ilbc.h b/api/audio_codecs/ilbc/audio_encoder_ilbc.h
index e4aeca7..8dd4928 100644
--- a/api/audio_codecs/ilbc/audio_encoder_ilbc.h
+++ b/api/audio_codecs/ilbc/audio_encoder_ilbc.h
@@ -19,6 +19,7 @@
#include "api/audio_codecs/audio_encoder.h"
#include "api/audio_codecs/audio_format.h"
#include "api/audio_codecs/ilbc/audio_encoder_ilbc_config.h"
+#include "api/webrtc_key_value_config.h"
namespace webrtc {
@@ -33,7 +34,8 @@
static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
const AudioEncoderIlbcConfig& config,
int payload_type,
- absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt);
+ absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt,
+ const WebRtcKeyValueConfig* field_trials = nullptr);
};
} // namespace webrtc
diff --git a/api/audio_codecs/isac/BUILD.gn b/api/audio_codecs/isac/BUILD.gn
index 6ff6e5f..b6aa810 100644
--- a/api/audio_codecs/isac/BUILD.gn
+++ b/api/audio_codecs/isac/BUILD.gn
@@ -65,6 +65,7 @@
]
deps = [
"..:audio_codecs_api",
+ "../../../api:webrtc_key_value_config",
"../../../modules/audio_coding:isac_fix",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base/system:rtc_export",
@@ -84,6 +85,7 @@
]
deps = [
"..:audio_codecs_api",
+ "../../../api:webrtc_key_value_config",
"../../../modules/audio_coding:isac_fix",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base/system:rtc_export",
@@ -103,6 +105,7 @@
]
deps = [
"..:audio_codecs_api",
+ "../../../api:webrtc_key_value_config",
"../../../modules/audio_coding:isac",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base/system:rtc_export",
@@ -122,6 +125,7 @@
]
deps = [
"..:audio_codecs_api",
+ "../../../api:webrtc_key_value_config",
"../../../modules/audio_coding:isac",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base/system:rtc_export",
diff --git a/api/audio_codecs/isac/audio_decoder_isac_fix.cc b/api/audio_codecs/isac/audio_decoder_isac_fix.cc
index 305e15a..8927a16 100644
--- a/api/audio_codecs/isac/audio_decoder_isac_fix.cc
+++ b/api/audio_codecs/isac/audio_decoder_isac_fix.cc
@@ -33,7 +33,8 @@
std::unique_ptr<AudioDecoder> AudioDecoderIsacFix::MakeAudioDecoder(
Config config,
- absl::optional<AudioCodecPairId> /*codec_pair_id*/) {
+ absl::optional<AudioCodecPairId> /*codec_pair_id*/,
+ const WebRtcKeyValueConfig* field_trials) {
AudioDecoderIsacFixImpl::Config c;
c.sample_rate_hz = 16000;
return std::make_unique<AudioDecoderIsacFixImpl>(c);
diff --git a/api/audio_codecs/isac/audio_decoder_isac_fix.h b/api/audio_codecs/isac/audio_decoder_isac_fix.h
index 200914a..11b8766 100644
--- a/api/audio_codecs/isac/audio_decoder_isac_fix.h
+++ b/api/audio_codecs/isac/audio_decoder_isac_fix.h
@@ -18,6 +18,7 @@
#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_decoder.h"
#include "api/audio_codecs/audio_format.h"
+#include "api/webrtc_key_value_config.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@@ -30,7 +31,8 @@
static void AppendSupportedDecoders(std::vector<AudioCodecSpec>* specs);
static std::unique_ptr<AudioDecoder> MakeAudioDecoder(
Config config,
- absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt);
+ absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt,
+ const WebRtcKeyValueConfig* field_trials = nullptr);
};
} // namespace webrtc
diff --git a/api/audio_codecs/isac/audio_decoder_isac_float.cc b/api/audio_codecs/isac/audio_decoder_isac_float.cc
index 683eb6c..ef27293 100644
--- a/api/audio_codecs/isac/audio_decoder_isac_float.cc
+++ b/api/audio_codecs/isac/audio_decoder_isac_float.cc
@@ -42,7 +42,8 @@
std::unique_ptr<AudioDecoder> AudioDecoderIsacFloat::MakeAudioDecoder(
Config config,
- absl::optional<AudioCodecPairId> /*codec_pair_id*/) {
+ absl::optional<AudioCodecPairId> /*codec_pair_id*/,
+ const WebRtcKeyValueConfig* field_trials) {
AudioDecoderIsacFloatImpl::Config c;
c.sample_rate_hz = config.sample_rate_hz;
if (!config.IsOk()) {
diff --git a/api/audio_codecs/isac/audio_decoder_isac_float.h b/api/audio_codecs/isac/audio_decoder_isac_float.h
index e78f8b8..501edfc 100644
--- a/api/audio_codecs/isac/audio_decoder_isac_float.h
+++ b/api/audio_codecs/isac/audio_decoder_isac_float.h
@@ -18,6 +18,7 @@
#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_decoder.h"
#include "api/audio_codecs/audio_format.h"
+#include "api/webrtc_key_value_config.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@@ -35,7 +36,8 @@
static void AppendSupportedDecoders(std::vector<AudioCodecSpec>* specs);
static std::unique_ptr<AudioDecoder> MakeAudioDecoder(
Config config,
- absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt);
+ absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt,
+ const WebRtcKeyValueConfig* field_trials = nullptr);
};
} // namespace webrtc
diff --git a/api/audio_codecs/isac/audio_encoder_isac_fix.cc b/api/audio_codecs/isac/audio_encoder_isac_fix.cc
index b590be1..65a2d8f 100644
--- a/api/audio_codecs/isac/audio_encoder_isac_fix.cc
+++ b/api/audio_codecs/isac/audio_encoder_isac_fix.cc
@@ -56,7 +56,8 @@
std::unique_ptr<AudioEncoder> AudioEncoderIsacFix::MakeAudioEncoder(
AudioEncoderIsacFix::Config config,
int payload_type,
- absl::optional<AudioCodecPairId> /*codec_pair_id*/) {
+ absl::optional<AudioCodecPairId> /*codec_pair_id*/,
+ const WebRtcKeyValueConfig* field_trials) {
AudioEncoderIsacFixImpl::Config c;
c.frame_size_ms = config.frame_size_ms;
c.bit_rate = config.bit_rate;
diff --git a/api/audio_codecs/isac/audio_encoder_isac_fix.h b/api/audio_codecs/isac/audio_encoder_isac_fix.h
index e50d9f5..e8ff0fc 100644
--- a/api/audio_codecs/isac/audio_encoder_isac_fix.h
+++ b/api/audio_codecs/isac/audio_encoder_isac_fix.h
@@ -18,6 +18,7 @@
#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_encoder.h"
#include "api/audio_codecs/audio_format.h"
+#include "api/webrtc_key_value_config.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@@ -44,7 +45,8 @@
static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
Config config,
int payload_type,
- absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt);
+ absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt,
+ const WebRtcKeyValueConfig* field_trials = nullptr);
};
} // namespace webrtc
diff --git a/api/audio_codecs/isac/audio_encoder_isac_float.cc b/api/audio_codecs/isac/audio_encoder_isac_float.cc
index e2afeae..852cb69 100644
--- a/api/audio_codecs/isac/audio_encoder_isac_float.cc
+++ b/api/audio_codecs/isac/audio_encoder_isac_float.cc
@@ -68,7 +68,8 @@
std::unique_ptr<AudioEncoder> AudioEncoderIsacFloat::MakeAudioEncoder(
const AudioEncoderIsacFloat::Config& config,
int payload_type,
- absl::optional<AudioCodecPairId> /*codec_pair_id*/) {
+ absl::optional<AudioCodecPairId> /*codec_pair_id*/,
+ const WebRtcKeyValueConfig* field_trials) {
AudioEncoderIsacFloatImpl::Config c;
c.payload_type = payload_type;
c.sample_rate_hz = config.sample_rate_hz;
diff --git a/api/audio_codecs/isac/audio_encoder_isac_float.h b/api/audio_codecs/isac/audio_encoder_isac_float.h
index 0cb9c17..8e1d505 100644
--- a/api/audio_codecs/isac/audio_encoder_isac_float.h
+++ b/api/audio_codecs/isac/audio_encoder_isac_float.h
@@ -18,6 +18,7 @@
#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_encoder.h"
#include "api/audio_codecs/audio_format.h"
+#include "api/webrtc_key_value_config.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@@ -58,7 +59,8 @@
static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
const Config& config,
int payload_type,
- absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt);
+ absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt,
+ const WebRtcKeyValueConfig* field_trials = nullptr);
};
} // namespace webrtc
diff --git a/api/audio_codecs/opus/BUILD.gn b/api/audio_codecs/opus/BUILD.gn
index 586e9b3..fbb116b 100644
--- a/api/audio_codecs/opus/BUILD.gn
+++ b/api/audio_codecs/opus/BUILD.gn
@@ -46,6 +46,7 @@
deps = [
":audio_encoder_opus_config",
"..:audio_codecs_api",
+ "../../../api:webrtc_key_value_config",
"../../../modules/audio_coding:webrtc_opus",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base/system:rtc_export",
@@ -65,6 +66,7 @@
]
deps = [
"..:audio_codecs_api",
+ "../../../api:webrtc_key_value_config",
"../../../modules/audio_coding:webrtc_opus",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base/system:rtc_export",
@@ -82,6 +84,7 @@
sources = [ "audio_encoder_multi_channel_opus.cc" ]
deps = [
"..:audio_codecs_api",
+ "../../../api:webrtc_key_value_config",
"../../../modules/audio_coding:webrtc_multiopus",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base/system:rtc_export",
@@ -100,6 +103,7 @@
deps = [
":audio_decoder_opus_config",
"..:audio_codecs_api",
+ "../../../api:webrtc_key_value_config",
"../../../modules/audio_coding:webrtc_multiopus",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base/system:rtc_export",
diff --git a/api/audio_codecs/opus/audio_decoder_multi_channel_opus.cc b/api/audio_codecs/opus/audio_decoder_multi_channel_opus.cc
index 6ba2b6d..5a0b794 100644
--- a/api/audio_codecs/opus/audio_decoder_multi_channel_opus.cc
+++ b/api/audio_codecs/opus/audio_decoder_multi_channel_opus.cc
@@ -64,7 +64,8 @@
std::unique_ptr<AudioDecoder> AudioDecoderMultiChannelOpus::MakeAudioDecoder(
AudioDecoderMultiChannelOpusConfig config,
- absl::optional<AudioCodecPairId> /*codec_pair_id*/) {
+ absl::optional<AudioCodecPairId> /*codec_pair_id*/,
+ const WebRtcKeyValueConfig* field_trials) {
return AudioDecoderMultiChannelOpusImpl::MakeAudioDecoder(config);
}
} // namespace webrtc
diff --git a/api/audio_codecs/opus/audio_decoder_multi_channel_opus.h b/api/audio_codecs/opus/audio_decoder_multi_channel_opus.h
index b5ca0fe..2dcd26b 100644
--- a/api/audio_codecs/opus/audio_decoder_multi_channel_opus.h
+++ b/api/audio_codecs/opus/audio_decoder_multi_channel_opus.h
@@ -19,6 +19,7 @@
#include "api/audio_codecs/audio_decoder.h"
#include "api/audio_codecs/audio_format.h"
#include "api/audio_codecs/opus/audio_decoder_multi_channel_opus_config.h"
+#include "api/webrtc_key_value_config.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@@ -32,7 +33,8 @@
static void AppendSupportedDecoders(std::vector<AudioCodecSpec>* specs);
static std::unique_ptr<AudioDecoder> MakeAudioDecoder(
AudioDecoderMultiChannelOpusConfig config,
- absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt);
+ absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt,
+ const WebRtcKeyValueConfig* field_trials = nullptr);
};
} // namespace webrtc
diff --git a/api/audio_codecs/opus/audio_decoder_opus.cc b/api/audio_codecs/opus/audio_decoder_opus.cc
index 7e0d88b..0fe3367 100644
--- a/api/audio_codecs/opus/audio_decoder_opus.cc
+++ b/api/audio_codecs/opus/audio_decoder_opus.cc
@@ -73,7 +73,8 @@
std::unique_ptr<AudioDecoder> AudioDecoderOpus::MakeAudioDecoder(
Config config,
- absl::optional<AudioCodecPairId> /*codec_pair_id*/) {
+ absl::optional<AudioCodecPairId> /*codec_pair_id*/,
+ const WebRtcKeyValueConfig* field_trials) {
if (!config.IsOk()) {
RTC_DCHECK_NOTREACHED();
return nullptr;
diff --git a/api/audio_codecs/opus/audio_decoder_opus.h b/api/audio_codecs/opus/audio_decoder_opus.h
index ec0f61d..4e44309 100644
--- a/api/audio_codecs/opus/audio_decoder_opus.h
+++ b/api/audio_codecs/opus/audio_decoder_opus.h
@@ -18,6 +18,7 @@
#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_decoder.h"
#include "api/audio_codecs/audio_format.h"
+#include "api/webrtc_key_value_config.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@@ -34,7 +35,8 @@
static void AppendSupportedDecoders(std::vector<AudioCodecSpec>* specs);
static std::unique_ptr<AudioDecoder> MakeAudioDecoder(
Config config,
- absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt);
+ absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt,
+ const WebRtcKeyValueConfig* field_trials = nullptr);
};
} // namespace webrtc
diff --git a/api/audio_codecs/opus/audio_encoder_multi_channel_opus.cc b/api/audio_codecs/opus/audio_encoder_multi_channel_opus.cc
index 758eaae..b71a000 100644
--- a/api/audio_codecs/opus/audio_encoder_multi_channel_opus.cc
+++ b/api/audio_codecs/opus/audio_encoder_multi_channel_opus.cc
@@ -66,7 +66,8 @@
std::unique_ptr<AudioEncoder> AudioEncoderMultiChannelOpus::MakeAudioEncoder(
const AudioEncoderMultiChannelOpusConfig& config,
int payload_type,
- absl::optional<AudioCodecPairId> /*codec_pair_id*/) {
+ absl::optional<AudioCodecPairId> /*codec_pair_id*/,
+ const WebRtcKeyValueConfig* field_trials) {
return AudioEncoderMultiChannelOpusImpl::MakeAudioEncoder(config,
payload_type);
}
diff --git a/api/audio_codecs/opus/audio_encoder_multi_channel_opus.h b/api/audio_codecs/opus/audio_encoder_multi_channel_opus.h
index 977a3a4..58b959a 100644
--- a/api/audio_codecs/opus/audio_encoder_multi_channel_opus.h
+++ b/api/audio_codecs/opus/audio_encoder_multi_channel_opus.h
@@ -19,6 +19,7 @@
#include "api/audio_codecs/audio_encoder.h"
#include "api/audio_codecs/audio_format.h"
#include "api/audio_codecs/opus/audio_encoder_multi_channel_opus_config.h"
+#include "api/webrtc_key_value_config.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@@ -33,7 +34,8 @@
static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
const Config& config,
int payload_type,
- absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt);
+ absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt,
+ const WebRtcKeyValueConfig* field_trials = nullptr);
};
} // namespace webrtc
diff --git a/api/audio_codecs/opus/audio_encoder_opus.cc b/api/audio_codecs/opus/audio_encoder_opus.cc
index 6d950c5..26fe8cc 100644
--- a/api/audio_codecs/opus/audio_encoder_opus.cc
+++ b/api/audio_codecs/opus/audio_encoder_opus.cc
@@ -32,7 +32,8 @@
std::unique_ptr<AudioEncoder> AudioEncoderOpus::MakeAudioEncoder(
const AudioEncoderOpusConfig& config,
int payload_type,
- absl::optional<AudioCodecPairId> /*codec_pair_id*/) {
+ absl::optional<AudioCodecPairId> /*codec_pair_id*/,
+ const WebRtcKeyValueConfig* field_trials) {
if (!config.IsOk()) {
RTC_DCHECK_NOTREACHED();
return nullptr;
diff --git a/api/audio_codecs/opus/audio_encoder_opus.h b/api/audio_codecs/opus/audio_encoder_opus.h
index 03cb0d6..4fb0337 100644
--- a/api/audio_codecs/opus/audio_encoder_opus.h
+++ b/api/audio_codecs/opus/audio_encoder_opus.h
@@ -19,6 +19,7 @@
#include "api/audio_codecs/audio_encoder.h"
#include "api/audio_codecs/audio_format.h"
#include "api/audio_codecs/opus/audio_encoder_opus_config.h"
+#include "api/webrtc_key_value_config.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@@ -34,7 +35,8 @@
static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
const AudioEncoderOpusConfig& config,
int payload_type,
- absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt);
+ absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt,
+ const WebRtcKeyValueConfig* field_trials = nullptr);
};
} // namespace webrtc
diff --git a/api/audio_codecs/opus_audio_encoder_factory.cc b/api/audio_codecs/opus_audio_encoder_factory.cc
index 5f0c714..867d200 100644
--- a/api/audio_codecs/opus_audio_encoder_factory.cc
+++ b/api/audio_codecs/opus_audio_encoder_factory.cc
@@ -37,8 +37,10 @@
static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
const Config& config,
int payload_type,
- absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt) {
- return T::MakeAudioEncoder(config, payload_type, codec_pair_id);
+ absl::optional<AudioCodecPairId> codec_pair_id = absl::nullopt,
+ const WebRtcKeyValueConfig* field_trials = nullptr) {
+ return T::MakeAudioEncoder(config, payload_type, codec_pair_id,
+ field_trials);
}
};
diff --git a/api/audio_codecs/test/BUILD.gn b/api/audio_codecs/test/BUILD.gn
index 575f062..dabcc3d 100644
--- a/api/audio_codecs/test/BUILD.gn
+++ b/api/audio_codecs/test/BUILD.gn
@@ -23,6 +23,7 @@
"..:audio_codecs_api",
"../../../rtc_base:rtc_base_approved",
"../../../test:audio_codec_mocks",
+ "../../../test:scoped_key_value_config",
"../../../test:test_support",
"../L16:audio_decoder_L16",
"../L16:audio_encoder_L16",
diff --git a/api/audio_codecs/test/audio_decoder_factory_template_unittest.cc b/api/audio_codecs/test/audio_decoder_factory_template_unittest.cc
index 464ecfd..3662f3b 100644
--- a/api/audio_codecs/test/audio_decoder_factory_template_unittest.cc
+++ b/api/audio_codecs/test/audio_decoder_factory_template_unittest.cc
@@ -22,6 +22,7 @@
#include "test/gmock.h"
#include "test/gtest.h"
#include "test/mock_audio_decoder.h"
+#include "test/scoped_key_value_config.h"
namespace webrtc {
@@ -77,9 +78,11 @@
} // namespace
TEST(AudioDecoderFactoryTemplateTest, NoDecoderTypes) {
+ test::ScopedKeyValueConfig field_trials;
rtc::scoped_refptr<AudioDecoderFactory> factory(
rtc::make_ref_counted<
- audio_decoder_factory_template_impl::AudioDecoderFactoryT<>>());
+ audio_decoder_factory_template_impl::AudioDecoderFactoryT<>>(
+ &field_trials));
EXPECT_THAT(factory->GetSupportedDecoders(), ::testing::IsEmpty());
EXPECT_FALSE(factory->IsSupportedDecoder({"foo", 8000, 1}));
EXPECT_EQ(nullptr,
diff --git a/api/audio_codecs/test/audio_encoder_factory_template_unittest.cc b/api/audio_codecs/test/audio_encoder_factory_template_unittest.cc
index 110f993..67b6883 100644
--- a/api/audio_codecs/test/audio_encoder_factory_template_unittest.cc
+++ b/api/audio_codecs/test/audio_encoder_factory_template_unittest.cc
@@ -22,6 +22,7 @@
#include "test/gmock.h"
#include "test/gtest.h"
#include "test/mock_audio_encoder.h"
+#include "test/scoped_key_value_config.h"
namespace webrtc {
@@ -77,9 +78,11 @@
} // namespace
TEST(AudioEncoderFactoryTemplateTest, NoEncoderTypes) {
+ test::ScopedKeyValueConfig field_trials;
rtc::scoped_refptr<AudioEncoderFactory> factory(
rtc::make_ref_counted<
- audio_encoder_factory_template_impl::AudioEncoderFactoryT<>>());
+ audio_encoder_factory_template_impl::AudioEncoderFactoryT<>>(
+ &field_trials));
EXPECT_THAT(factory->GetSupportedEncoders(), ::testing::IsEmpty());
EXPECT_EQ(absl::nullopt, factory->QueryAudioEncoder({"foo", 8000, 1}));
EXPECT_EQ(nullptr,
diff --git a/modules/audio_coding/BUILD.gn b/modules/audio_coding/BUILD.gn
index 0d5e429..c4814ce 100644
--- a/modules/audio_coding/BUILD.gn
+++ b/modules/audio_coding/BUILD.gn
@@ -1396,6 +1396,7 @@
"../../rtc_base:rtc_base_approved",
"../../rtc_base/synchronization:mutex",
"../../test:fileutils",
+ "../../test:scoped_key_value_config",
"../../test:test_support",
]
absl_deps = [