diff --git a/audio/utility/BUILD.gn b/audio/utility/BUILD.gn index e360a95dcc..2ced9aa70d 100644 --- a/audio/utility/BUILD.gn +++ b/audio/utility/BUILD.gn @@ -29,7 +29,6 @@ rtc_library("audio_frame_operations") { "../../rtc_base:checks", "../../rtc_base:logging", "../../rtc_base:safe_conversions", - "../../system_wrappers:field_trial", "//third_party/abseil-cpp/absl/base:core_headers", ] } @@ -49,7 +48,6 @@ if (rtc_include_tests) { "../../rtc_base:logging", "../../rtc_base:macromagic", "../../rtc_base:stringutils", - "../../test:field_trial", "../../test:test_support", "//testing/gtest", ] diff --git a/audio/utility/channel_mixing_matrix.cc b/audio/utility/channel_mixing_matrix.cc index fa2c5de776..83fee65958 100644 --- a/audio/utility/channel_mixing_matrix.cc +++ b/audio/utility/channel_mixing_matrix.cc @@ -17,18 +17,11 @@ #include "audio/utility/channel_mixer.h" #include "rtc_base/checks.h" #include "rtc_base/logging.h" -#include "system_wrappers/include/field_trial.h" namespace webrtc { namespace { -// Selects the default usage of VoIP channel mapping adjustments. -bool UseChannelMappingAdjustmentsByDefault() { - return !field_trial::IsEnabled( - "WebRTC-VoIPChannelRemixingAdjustmentKillSwitch"); -} - ChannelLayout CheckInputLayout(ChannelLayout input_layout, ChannelLayout output_layout) { // Special case for 5.0, 5.1 with back channels when upmixed to 7.0, 7.1, @@ -81,9 +74,7 @@ ChannelMixingMatrix::ChannelMixingMatrix(ChannelLayout input_layout, int input_channels, ChannelLayout output_layout, int output_channels) - : use_voip_channel_mapping_adjustments_( - UseChannelMappingAdjustmentsByDefault()), - input_layout_(CheckInputLayout(input_layout, output_layout)), + : input_layout_(CheckInputLayout(input_layout, output_layout)), input_channels_(input_channels), output_layout_(output_layout), output_channels_(output_channels) { @@ -123,8 +114,7 @@ bool ChannelMixingMatrix::CreateTransformationMatrix( } // If specified, use adjusted channel mapping for the VoIP scenario. - if (use_voip_channel_mapping_adjustments_ && - input_layout_ == CHANNEL_LAYOUT_MONO && + if (input_layout_ == CHANNEL_LAYOUT_MONO && ChannelLayoutToChannelCount(output_layout_) >= 2) { // Only place the mono input in the front left and right channels. (*matrix_)[0][0] = 1.f; diff --git a/audio/utility/channel_mixing_matrix.h b/audio/utility/channel_mixing_matrix.h index 58d7c7039d..0f34366cda 100644 --- a/audio/utility/channel_mixing_matrix.h +++ b/audio/utility/channel_mixing_matrix.h @@ -36,8 +36,6 @@ class ChannelMixingMatrix { bool CreateTransformationMatrix(std::vector>* matrix); private: - const bool use_voip_channel_mapping_adjustments_; - // Result transformation of input channels to output channels std::vector>* matrix_; diff --git a/audio/utility/channel_mixing_matrix_unittest.cc b/audio/utility/channel_mixing_matrix_unittest.cc index a4efb4fd38..fc4ceb7090 100644 --- a/audio/utility/channel_mixing_matrix_unittest.cc +++ b/audio/utility/channel_mixing_matrix_unittest.cc @@ -16,7 +16,6 @@ #include "rtc_base/arraysize.h" #include "rtc_base/logging.h" #include "rtc_base/strings/string_builder.h" -#include "test/field_trial.h" #include "test/gtest.h" namespace webrtc { @@ -125,32 +124,7 @@ TEST(ChannelMixingMatrixTest, MonoToStereo) { EXPECT_EQ(1.0f, matrix[1][0]); } -TEST(ChannelMixingMatrixTest, MonoToTwoOneWithoutVoIPAdjustments) { - test::ScopedFieldTrials field_trials( - "WebRTC-VoIPChannelRemixingAdjustmentKillSwitch/Enabled/"); - ChannelLayout input_layout = CHANNEL_LAYOUT_MONO; - ChannelLayout output_layout = CHANNEL_LAYOUT_2_1; - ChannelMixingMatrix matrix_builder( - input_layout, ChannelLayoutToChannelCount(input_layout), output_layout, - ChannelLayoutToChannelCount(output_layout)); - std::vector> matrix; - bool remapping = matrix_builder.CreateTransformationMatrix(&matrix); - - // Input: mono - // CENTER - // Output: 2.1 FRONT_LEFT 1 - // FRONT_RIGHT 1 - // BACK_CENTER 0 - // - EXPECT_FALSE(remapping); - EXPECT_EQ(3u, matrix.size()); - EXPECT_EQ(1u, matrix[0].size()); - EXPECT_EQ(1.0f, matrix[0][0]); - EXPECT_EQ(1.0f, matrix[1][0]); - EXPECT_EQ(0.0f, matrix[2][0]); -} - -TEST(ChannelMixingMatrixTest, MonoToTwoOneWithVoIPAdjustments) { +TEST(ChannelMixingMatrixTest, MonoToTwoOne) { ChannelLayout input_layout = CHANNEL_LAYOUT_MONO; ChannelLayout output_layout = CHANNEL_LAYOUT_2_1; ChannelMixingMatrix matrix_builder( @@ -173,39 +147,7 @@ TEST(ChannelMixingMatrixTest, MonoToTwoOneWithVoIPAdjustments) { EXPECT_EQ(0.0f, matrix[2][0]); } -TEST(ChannelMixingMatrixTest, MonoToFiveOneWithoutVoIPAdjustments) { - test::ScopedFieldTrials field_trials( - "WebRTC-VoIPChannelRemixingAdjustmentKillSwitch/Enabled/"); - ChannelLayout input_layout = CHANNEL_LAYOUT_MONO; - ChannelLayout output_layout = CHANNEL_LAYOUT_5_1; - const int input_channels = ChannelLayoutToChannelCount(input_layout); - const int output_channels = ChannelLayoutToChannelCount(output_layout); - ChannelMixingMatrix matrix_builder(input_layout, input_channels, - output_layout, output_channels); - std::vector> matrix; - bool remapping = matrix_builder.CreateTransformationMatrix(&matrix); - // Input: mono - // CENTER - // Output: 5.1 LEFT 0 - // RIGHT 0 - // CENTER 1 - // LFE 0 - // SIDE_LEFT 0 - // SIDE_RIGHT 0 - // - EXPECT_TRUE(remapping); - EXPECT_EQ(static_cast(output_channels), matrix.size()); - for (int n = 0; n < output_channels; n++) { - EXPECT_EQ(static_cast(input_channels), matrix[n].size()); - if (n == CENTER) { - EXPECT_EQ(1.0f, matrix[CENTER][0]); - } else { - EXPECT_EQ(0.0f, matrix[n][0]); - } - } -} - -TEST(ChannelMixingMatrixTest, MonoToFiveOneWithVoIPAdjustments) { +TEST(ChannelMixingMatrixTest, MonoToFiveOne) { ChannelLayout input_layout = CHANNEL_LAYOUT_MONO; ChannelLayout output_layout = CHANNEL_LAYOUT_5_1; const int input_channels = ChannelLayoutToChannelCount(input_layout); @@ -235,41 +177,7 @@ TEST(ChannelMixingMatrixTest, MonoToFiveOneWithVoIPAdjustments) { } } -TEST(ChannelMixingMatrixTest, MonoToSevenOneWithoutVoIPAdjustments) { - test::ScopedFieldTrials field_trials( - "WebRTC-VoIPChannelRemixingAdjustmentKillSwitch/Enabled/"); - ChannelLayout input_layout = CHANNEL_LAYOUT_MONO; - ChannelLayout output_layout = CHANNEL_LAYOUT_7_1; - const int input_channels = ChannelLayoutToChannelCount(input_layout); - const int output_channels = ChannelLayoutToChannelCount(output_layout); - ChannelMixingMatrix matrix_builder(input_layout, input_channels, - output_layout, output_channels); - std::vector> matrix; - bool remapping = matrix_builder.CreateTransformationMatrix(&matrix); - // Input: mono - // CENTER - // Output: 7.1 LEFT 0 - // RIGHT 0 - // CENTER 1 - // LFE 0 - // SIDE_LEFT 0 - // SIDE_RIGHT 0 - // BACK_LEFT 0 - // BACK_RIGHT 0 - // - EXPECT_TRUE(remapping); - EXPECT_EQ(static_cast(output_channels), matrix.size()); - for (int n = 0; n < output_channels; n++) { - EXPECT_EQ(static_cast(input_channels), matrix[n].size()); - if (n == CENTER) { - EXPECT_EQ(1.0f, matrix[CENTER][0]); - } else { - EXPECT_EQ(0.0f, matrix[n][0]); - } - } -} - -TEST(ChannelMixingMatrixTest, MonoToSevenOneWithVoIPAdjustments) { +TEST(ChannelMixingMatrixTest, MonoToSevenOne) { ChannelLayout input_layout = CHANNEL_LAYOUT_MONO; ChannelLayout output_layout = CHANNEL_LAYOUT_7_1; const int input_channels = ChannelLayoutToChannelCount(input_layout); diff --git a/experiments/field_trials.py b/experiments/field_trials.py index 9a9ca9114b..8af1d316f7 100755 --- a/experiments/field_trials.py +++ b/experiments/field_trials.py @@ -865,9 +865,6 @@ POLICY_EXEMPT_FIELD_TRIALS: FrozenSet[FieldTrial] = frozenset([ FieldTrial('WebRTC-VideoRateControl', 42220259, INDEFINITE), - FieldTrial('WebRTC-VoIPChannelRemixingAdjustmentKillSwitch', - 40108588, - date(2024, 4, 1)), FieldTrial('WebRTC-Vp9ExternalRefCtrl', 42234783, date(2024, 4, 1)), @@ -884,7 +881,7 @@ POLICY_EXEMPT_FIELD_TRIALS: FrozenSet[FieldTrial] = frozenset([ ]) # yapf: disable POLICY_EXEMPT_FIELD_TRIALS_DIGEST: str = \ - 'ad853beba9dddb16d9f45164a8d69b5d01e7d1c9' + 'a3a5347c082f66bf6c338b8fed783ebff5a50561' REGISTERED_FIELD_TRIALS: FrozenSet[FieldTrial] = ACTIVE_FIELD_TRIALS.union( POLICY_EXEMPT_FIELD_TRIALS)