ExperimentalNs removed + APM not depending anymore on webrtc::Config
Thanks to the elimination of `ExperimentalNs`, there is no need anymore to pass `webrtc::Config` to build APM. Hence, `AudioProcessingBuilder::Create(const webrtc::Config&)` is also removed. Bug: webrtc:5298 Change-Id: I0a3482376a7753434486fe564681f7b9f83939c5 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232128 Reviewed-by: Sam Zackrisson <saza@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35025}
This commit is contained in:
committed by
WebRTC LUCI CQ
parent
25b5e08094
commit
be1b8989d1
@ -35,8 +35,7 @@ using ::testing::NotNull;
|
||||
|
||||
class MockInitialize : public AudioProcessingImpl {
|
||||
public:
|
||||
explicit MockInitialize(const webrtc::Config& config)
|
||||
: AudioProcessingImpl(config) {}
|
||||
MockInitialize() : AudioProcessingImpl() {}
|
||||
|
||||
MOCK_METHOD(void, InitializeLocked, (), (override));
|
||||
void RealInitializeLocked() {
|
||||
@ -132,12 +131,11 @@ class TestRenderPreProcessor : public CustomProcessing {
|
||||
} // namespace
|
||||
|
||||
TEST(AudioProcessingImplTest, AudioParameterChangeTriggersInit) {
|
||||
webrtc::Config webrtc_config;
|
||||
MockInitialize mock(webrtc_config);
|
||||
ON_CALL(mock, InitializeLocked())
|
||||
MockInitialize mock;
|
||||
ON_CALL(mock, InitializeLocked)
|
||||
.WillByDefault(Invoke(&mock, &MockInitialize::RealInitializeLocked));
|
||||
|
||||
EXPECT_CALL(mock, InitializeLocked()).Times(1);
|
||||
EXPECT_CALL(mock, InitializeLocked).Times(1);
|
||||
mock.Initialize();
|
||||
|
||||
constexpr size_t kMaxSampleRateHz = 32000;
|
||||
@ -146,20 +144,20 @@ TEST(AudioProcessingImplTest, AudioParameterChangeTriggersInit) {
|
||||
frame.fill(0);
|
||||
StreamConfig config(16000, 1, /*has_keyboard=*/false);
|
||||
// Call with the default parameters; there should be an init.
|
||||
EXPECT_CALL(mock, InitializeLocked()).Times(0);
|
||||
EXPECT_CALL(mock, InitializeLocked).Times(0);
|
||||
EXPECT_NOERR(mock.ProcessStream(frame.data(), config, config, frame.data()));
|
||||
EXPECT_NOERR(
|
||||
mock.ProcessReverseStream(frame.data(), config, config, frame.data()));
|
||||
|
||||
// New sample rate. (Only impacts ProcessStream).
|
||||
config = StreamConfig(32000, 1, /*has_keyboard=*/false);
|
||||
EXPECT_CALL(mock, InitializeLocked()).Times(1);
|
||||
EXPECT_CALL(mock, InitializeLocked).Times(1);
|
||||
EXPECT_NOERR(mock.ProcessStream(frame.data(), config, config, frame.data()));
|
||||
|
||||
// New number of channels.
|
||||
// TODO(peah): Investigate why this causes 2 inits.
|
||||
config = StreamConfig(32000, 2, /*has_keyboard=*/false);
|
||||
EXPECT_CALL(mock, InitializeLocked()).Times(2);
|
||||
EXPECT_CALL(mock, InitializeLocked).Times(2);
|
||||
EXPECT_NOERR(mock.ProcessStream(frame.data(), config, config, frame.data()));
|
||||
// ProcessStream sets num_channels_ == num_output_channels.
|
||||
EXPECT_NOERR(
|
||||
@ -167,7 +165,7 @@ TEST(AudioProcessingImplTest, AudioParameterChangeTriggersInit) {
|
||||
|
||||
// A new sample rate passed to ProcessReverseStream should cause an init.
|
||||
config = StreamConfig(16000, 2, /*has_keyboard=*/false);
|
||||
EXPECT_CALL(mock, InitializeLocked()).Times(1);
|
||||
EXPECT_CALL(mock, InitializeLocked).Times(1);
|
||||
EXPECT_NOERR(
|
||||
mock.ProcessReverseStream(frame.data(), config, config, frame.data()));
|
||||
}
|
||||
@ -605,7 +603,7 @@ TEST(AudioProcessingImplTest, RenderPreProcessorBeforeEchoDetector) {
|
||||
// config should be bit-exact with running APM with said submodules disabled.
|
||||
// This mainly tests that SetCreateOptionalSubmodulesForTesting has an effect.
|
||||
TEST(ApmWithSubmodulesExcludedTest, BitexactWithDisabledModules) {
|
||||
auto apm = rtc::make_ref_counted<AudioProcessingImpl>(webrtc::Config());
|
||||
auto apm = rtc::make_ref_counted<AudioProcessingImpl>();
|
||||
ASSERT_EQ(apm->Initialize(), AudioProcessing::kNoError);
|
||||
|
||||
ApmSubmoduleCreationOverrides overrides;
|
||||
@ -653,7 +651,7 @@ TEST(ApmWithSubmodulesExcludedTest, BitexactWithDisabledModules) {
|
||||
// Disable transient suppressor creation and run APM in ways that should trigger
|
||||
// calls to the transient suppressor API.
|
||||
TEST(ApmWithSubmodulesExcludedTest, ReinitializeTransientSuppressor) {
|
||||
auto apm = rtc::make_ref_counted<AudioProcessingImpl>(webrtc::Config());
|
||||
auto apm = rtc::make_ref_counted<AudioProcessingImpl>();
|
||||
ASSERT_EQ(apm->Initialize(), kNoErr);
|
||||
|
||||
ApmSubmoduleCreationOverrides overrides;
|
||||
@ -714,7 +712,7 @@ TEST(ApmWithSubmodulesExcludedTest, ReinitializeTransientSuppressor) {
|
||||
// Disable transient suppressor creation and run APM in ways that should trigger
|
||||
// calls to the transient suppressor API.
|
||||
TEST(ApmWithSubmodulesExcludedTest, ToggleTransientSuppressor) {
|
||||
auto apm = rtc::make_ref_counted<AudioProcessingImpl>(webrtc::Config());
|
||||
auto apm = rtc::make_ref_counted<AudioProcessingImpl>();
|
||||
ASSERT_EQ(apm->Initialize(), AudioProcessing::kNoError);
|
||||
|
||||
ApmSubmoduleCreationOverrides overrides;
|
||||
|
||||
Reference in New Issue
Block a user