diff --git a/media/engine/webrtc_media_engine.cc b/media/engine/webrtc_media_engine.cc index 99d7dd2704..05d6e6e0bd 100644 --- a/media/engine/webrtc_media_engine.cc +++ b/media/engine/webrtc_media_engine.cc @@ -178,20 +178,14 @@ std::vector FilterRtpExtensions( }); result.erase(it, result.end()); - // Keep just the highest priority extension of any in the following lists. - if (absl::StartsWith(trials.Lookup("WebRTC-FilterAbsSendTimeExtension"), - "Enabled")) { - static const char* const kBweExtensionPriorities[] = { - webrtc::RtpExtension::kTransportSequenceNumberUri, - webrtc::RtpExtension::kAbsSendTimeUri, - webrtc::RtpExtension::kTimestampOffsetUri}; - DiscardRedundantExtensions(&result, kBweExtensionPriorities); - } else { - static const char* const kBweExtensionPriorities[] = { - webrtc::RtpExtension::kAbsSendTimeUri, - webrtc::RtpExtension::kTimestampOffsetUri}; - DiscardRedundantExtensions(&result, kBweExtensionPriorities); - } + // Keep just the highest priority BWE related extension and do not send + // toffset if transport-cc or abs-send-time have been negotiated. + // abs-send-time is sent even if transport-cc is negotiated for logging + // purposes. + static const char* const kBweExtensionPriorities[] = { + webrtc::RtpExtension::kAbsSendTimeUri, + webrtc::RtpExtension::kTimestampOffsetUri}; + DiscardRedundantExtensions(&result, kBweExtensionPriorities); } return result; } diff --git a/media/engine/webrtc_media_engine_unittest.cc b/media/engine/webrtc_media_engine_unittest.cc index 79efea4e9c..6b187cca89 100644 --- a/media/engine/webrtc_media_engine_unittest.cc +++ b/media/engine/webrtc_media_engine_unittest.cc @@ -11,6 +11,7 @@ #include "media/engine/webrtc_media_engine.h" #include +#include #include #include "media/engine/webrtc_media_engine_defaults.h" @@ -216,23 +217,6 @@ TEST(WebRtcMediaEngineTest, FilterRtpExtensionsRemoveRedundantEncrypted2) { EXPECT_NE(filtered[1].uri, filtered[2].uri); } -TEST(WebRtcMediaEngineTest, FilterRtpExtensionsRemoveRedundantBwe1) { - webrtc::test::ScopedKeyValueConfig trials( - "WebRTC-FilterAbsSendTimeExtension/Enabled/"); - std::vector extensions; - extensions.push_back( - RtpExtension(RtpExtension::kTransportSequenceNumberUri, 3)); - extensions.push_back(RtpExtension(RtpExtension::kTimestampOffsetUri, 9)); - extensions.push_back(RtpExtension(RtpExtension::kAbsSendTimeUri, 6)); - extensions.push_back( - RtpExtension(RtpExtension::kTransportSequenceNumberUri, 1)); - extensions.push_back(RtpExtension(RtpExtension::kTimestampOffsetUri, 14)); - std::vector filtered = - FilterRtpExtensions(extensions, SupportedExtensions2, true, trials); - EXPECT_EQ(1u, filtered.size()); - EXPECT_EQ(RtpExtension::kTransportSequenceNumberUri, filtered[0].uri); -} - TEST(WebRtcMediaEngineTest, FilterRtpExtensionsRemoveRedundantBwe1KeepAbsSendTime) { std::vector extensions; @@ -251,29 +235,6 @@ TEST(WebRtcMediaEngineTest, EXPECT_EQ(RtpExtension::kAbsSendTimeUri, filtered[1].uri); } -TEST(WebRtcMediaEngineTest, FilterRtpExtensionsRemoveRedundantBweEncrypted1) { - webrtc::test::ScopedKeyValueConfig trials( - "WebRTC-FilterAbsSendTimeExtension/Enabled/"); - std::vector extensions; - extensions.push_back( - RtpExtension(RtpExtension::kTransportSequenceNumberUri, 3)); - extensions.push_back( - RtpExtension(RtpExtension::kTransportSequenceNumberUri, 4, true)); - extensions.push_back(RtpExtension(RtpExtension::kTimestampOffsetUri, 9)); - extensions.push_back(RtpExtension(RtpExtension::kAbsSendTimeUri, 6)); - extensions.push_back( - RtpExtension(RtpExtension::kTransportSequenceNumberUri, 1)); - extensions.push_back( - RtpExtension(RtpExtension::kTransportSequenceNumberUri, 2, true)); - extensions.push_back(RtpExtension(RtpExtension::kTimestampOffsetUri, 14)); - std::vector filtered = - FilterRtpExtensions(extensions, SupportedExtensions2, true, trials); - EXPECT_EQ(2u, filtered.size()); - EXPECT_EQ(RtpExtension::kTransportSequenceNumberUri, filtered[0].uri); - EXPECT_EQ(RtpExtension::kTransportSequenceNumberUri, filtered[1].uri); - EXPECT_NE(filtered[0].encrypt, filtered[1].encrypt); -} - TEST(WebRtcMediaEngineTest, FilterRtpExtensionsRemoveRedundantBweEncrypted1KeepAbsSendTime) { std::vector extensions; diff --git a/media/engine/webrtc_video_engine_unittest.cc b/media/engine/webrtc_video_engine_unittest.cc index aa59ce4d8d..10caf667c5 100644 --- a/media/engine/webrtc_video_engine_unittest.cc +++ b/media/engine/webrtc_video_engine_unittest.cc @@ -3122,17 +3122,6 @@ TEST_F(WebRtcVideoChannelTest, RecvAbsoluteSendTimeHeaderExtensions) { TestSetRecvRtpHeaderExtensions(RtpExtension::kAbsSendTimeUri); } -TEST_F(WebRtcVideoChannelTest, FiltersExtensionsPicksTransportSeqNum) { - webrtc::test::ScopedKeyValueConfig override_field_trials( - field_trials_, "WebRTC-FilterAbsSendTimeExtension/Enabled/"); - // Enable three redundant extensions. - std::vector extensions; - extensions.push_back(RtpExtension::kAbsSendTimeUri); - extensions.push_back(RtpExtension::kTimestampOffsetUri); - extensions.push_back(RtpExtension::kTransportSequenceNumberUri); - TestExtensionFilter(extensions, RtpExtension::kTransportSequenceNumberUri); -} - TEST_F(WebRtcVideoChannelTest, FiltersExtensionsPicksAbsSendTime) { // Enable two redundant extensions. std::vector extensions;