diff --git a/modules/video_coding/codecs/vp9/test/vp9_impl_unittest.cc b/modules/video_coding/codecs/vp9/test/vp9_impl_unittest.cc index 005eda6340..4ffcf13c00 100644 --- a/modules/video_coding/codecs/vp9/test/vp9_impl_unittest.cc +++ b/modules/video_coding/codecs/vp9/test/vp9_impl_unittest.cc @@ -1698,7 +1698,7 @@ TEST_F(TestVp9Impl, EncoderInfoWithoutResolutionBitrateLimits) { TEST_F(TestVp9Impl, EncoderInfoWithBitrateLimitsFromFieldTrial) { test::ScopedFieldTrials field_trials( - "WebRTC-LibvpxVp9Encoder-GetEncoderInfoOverride/" + "WebRTC-VP9-GetEncoderInfoOverride/" "frame_size_pixels:123|456|789," "min_start_bitrate_bps:11000|22000|33000," "min_bitrate_bps:44000|55000|66000," diff --git a/rtc_base/experiments/encoder_info_settings.cc b/rtc_base/experiments/encoder_info_settings.cc index eb6d0dde1b..a952c055bd 100644 --- a/rtc_base/experiments/encoder_info_settings.cc +++ b/rtc_base/experiments/encoder_info_settings.cc @@ -51,6 +51,11 @@ EncoderInfoSettings::EncoderInfoSettings(std::string name) [](BitrateLimit* b) { return &b->max_bitrate_bps; })}, {}); + if (field_trial::FindFullName(name).empty()) { + // Encoder name not found, use common string applying to all encoders. + name = "WebRTC-GetEncoderInfoOverride"; + } + ParseFieldTrial({&bitrate_limits, &requested_resolution_alignment_, &apply_alignment_to_all_simulcast_layers_}, field_trial::FindFullName(name)); @@ -79,6 +84,6 @@ LibvpxVp8EncoderInfoSettings::LibvpxVp8EncoderInfoSettings() : EncoderInfoSettings("WebRTC-VP8-GetEncoderInfoOverride") {} LibvpxVp9EncoderInfoSettings::LibvpxVp9EncoderInfoSettings() - : EncoderInfoSettings("WebRTC-LibvpxVp9Encoder-GetEncoderInfoOverride") {} + : EncoderInfoSettings("WebRTC-VP9-GetEncoderInfoOverride") {} } // namespace webrtc diff --git a/rtc_base/experiments/encoder_info_settings_unittest.cc b/rtc_base/experiments/encoder_info_settings_unittest.cc index 0208c0dd66..aabb68718c 100644 --- a/rtc_base/experiments/encoder_info_settings_unittest.cc +++ b/rtc_base/experiments/encoder_info_settings_unittest.cc @@ -88,4 +88,15 @@ TEST(SimulcastEncoderAdapterSettingsTest, GetResolutionBitrateLimitsWithList) { VideoEncoder::ResolutionBitrateLimits{789, 33000, 66000, 99000})); } +TEST(EncoderSettingsTest, CommonSettingsUsedIfEncoderNameUnspecified) { + webrtc::test::ScopedFieldTrials field_trials( + "WebRTC-VP8-GetEncoderInfoOverride/requested_resolution_alignment:2/" + "WebRTC-GetEncoderInfoOverride/requested_resolution_alignment:3/"); + + LibvpxVp8EncoderInfoSettings vp8_settings; + EXPECT_EQ(2, vp8_settings.requested_resolution_alignment()); + LibvpxVp9EncoderInfoSettings vp9_settings; + EXPECT_EQ(3, vp9_settings.requested_resolution_alignment()); +} + } // namespace webrtc