Clean up WebRTC-FilterAbsSendTimeExtension field trial
which has been enabled by default for a while. Also document the expected behavior, see https://groups.google.com/g/discuss-webrtc/c/vfrnxWBVcdA/m/ASf7dBJOGAAJ for more details. BUG=webrtc:10234 Change-Id: If793e2b4b6cebb07371bfdf1f94ed8d49bf2bb34 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/311281 Commit-Queue: Philipp Hancke <phancke@microsoft.com> Reviewed-by: Konrad Hofbauer <hofbauer@webrtc.org> Reviewed-by: Erik Språng <sprang@webrtc.org> Cr-Commit-Position: refs/heads/main@{#40417}
This commit is contained in:
parent
9d677f4cdc
commit
ebf71114a3
@ -178,20 +178,14 @@ std::vector<webrtc::RtpExtension> 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;
|
||||
}
|
||||
|
||||
@ -11,6 +11,7 @@
|
||||
#include "media/engine/webrtc_media_engine.h"
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
|
||||
#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<RtpExtension> 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<webrtc::RtpExtension> filtered =
|
||||
FilterRtpExtensions(extensions, SupportedExtensions2, true, trials);
|
||||
EXPECT_EQ(1u, filtered.size());
|
||||
EXPECT_EQ(RtpExtension::kTransportSequenceNumberUri, filtered[0].uri);
|
||||
}
|
||||
|
||||
TEST(WebRtcMediaEngineTest,
|
||||
FilterRtpExtensionsRemoveRedundantBwe1KeepAbsSendTime) {
|
||||
std::vector<RtpExtension> 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<RtpExtension> 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<webrtc::RtpExtension> 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<RtpExtension> extensions;
|
||||
|
||||
@ -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<std::string> 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<std::string> extensions;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user