Remove use of RtpHeaderExtension and clean up
Currently there are two structs that are identical and track extension details:
webrtc::RtpExtension
cricket::RtpHeaderExtension
The use of the structs is mixed in the code to track the extensions being
supported. This results in duplicate definition of
the URI constants and there is code to convert between the two structs.
Clean up to use a single RtpHeader throughout the codebase. The actual location
of RtpHeader may change in future (perhaps to be located in api/). Additionally,
this CL renames some of the constants to clarify Uri and Id use.
BUG= webrtc:5895
Review-Url: https://codereview.webrtc.org/1984983002
Cr-Commit-Position: refs/heads/master@{#12924}
diff --git a/webrtc/api/webrtcsdp.cc b/webrtc/api/webrtcsdp.cc
index fa05241..b2e75a2 100644
--- a/webrtc/api/webrtcsdp.cc
+++ b/webrtc/api/webrtcsdp.cc
@@ -27,6 +27,8 @@
#include "webrtc/base/logging.h"
#include "webrtc/base/messagedigest.h"
#include "webrtc/base/stringutils.h"
+// for RtpExtension
+#include "webrtc/config.h"
#include "webrtc/media/base/codec.h"
#include "webrtc/media/base/cryptoparams.h"
#include "webrtc/media/base/mediaconstants.h"
@@ -64,7 +66,7 @@
using cricket::kCodecParamAssociatedPayloadType;
using cricket::MediaContentDescription;
using cricket::MediaType;
-using cricket::RtpHeaderExtension;
+using cricket::RtpHeaderExtensions;
using cricket::SsrcGroup;
using cricket::StreamParams;
using cricket::StreamParamsVec;
@@ -73,8 +75,6 @@
using cricket::VideoContentDescription;
using rtc::SocketAddress;
-typedef std::vector<RtpHeaderExtension> RtpHeaderExtensions;
-
namespace cricket {
class SessionDescription;
}
@@ -309,7 +309,7 @@
std::vector<std::string>* transport_options,
SdpParseError* error);
static bool ParseExtmap(const std::string& line,
- RtpHeaderExtension* extmap,
+ RtpExtension* extmap,
SdpParseError* error);
static bool ParseFingerprintAttribute(const std::string& line,
rtc::SSLFingerprint** fingerprint,
@@ -1168,7 +1168,8 @@
return true;
}
-bool ParseExtmap(const std::string& line, RtpHeaderExtension* extmap,
+bool ParseExtmap(const std::string& line,
+ RtpExtension* extmap,
SdpParseError* error) {
// RFC 5285
// a=extmap:<value>["/"<direction>] <URI> <extensionattributes>
@@ -1192,7 +1193,7 @@
return false;
}
- *extmap = RtpHeaderExtension(uri, value);
+ *extmap = RtpExtension(uri, value);
return true;
}
@@ -2015,7 +2016,7 @@
desc->set_msid_supported(
CaseInsensitiveFind(semantics, kMediaStreamSemantic));
} else if (HasAttribute(line, kAttributeExtmap)) {
- RtpHeaderExtension extmap;
+ RtpExtension extmap;
if (!ParseExtmap(line, &extmap, error)) {
return false;
}
@@ -2703,7 +2704,7 @@
} else if (HasAttribute(line, kAttributeSendRecv)) {
media_desc->set_direction(cricket::MD_SENDRECV);
} else if (HasAttribute(line, kAttributeExtmap)) {
- RtpHeaderExtension extmap;
+ RtpExtension extmap;
if (!ParseExtmap(line, &extmap, error)) {
return false;
}
diff --git a/webrtc/api/webrtcsdp_unittest.cc b/webrtc/api/webrtcsdp_unittest.cc
index 4bc84fd..5c69d50 100644
--- a/webrtc/api/webrtcsdp_unittest.cc
+++ b/webrtc/api/webrtcsdp_unittest.cc
@@ -44,7 +44,6 @@
using cricket::LOCAL_PORT_TYPE;
using cricket::NS_JINGLE_DRAFT_SCTP;
using cricket::NS_JINGLE_RTP;
-using cricket::RtpHeaderExtension;
using cricket::RELAY_PORT_TYPE;
using cricket::SessionDescription;
using cricket::StreamParams;
@@ -57,6 +56,7 @@
using webrtc::IceCandidateInterface;
using webrtc::JsepIceCandidate;
using webrtc::JsepSessionDescription;
+using webrtc::RtpExtension;
using webrtc::SdpParseError;
using webrtc::SessionDescriptionInterface;
@@ -1110,8 +1110,8 @@
ASSERT_EQ(cd1->rtp_header_extensions().size(),
cd2->rtp_header_extensions().size());
for (size_t i = 0; i< cd1->rtp_header_extensions().size(); ++i) {
- const RtpHeaderExtension ext1 = cd1->rtp_header_extensions().at(i);
- const RtpHeaderExtension ext2 = cd2->rtp_header_extensions().at(i);
+ const RtpExtension ext1 = cd1->rtp_header_extensions().at(i);
+ const RtpExtension ext2 = cd2->rtp_header_extensions().at(i);
EXPECT_EQ(ext1.uri, ext2.uri);
EXPECT_EQ(ext1.id, ext2.id);
}
@@ -1333,10 +1333,8 @@
audio_desc_->Copy());
video_desc_ = static_cast<VideoContentDescription*>(
video_desc_->Copy());
- audio_desc_->AddRtpHeaderExtension(
- RtpHeaderExtension(kExtmapUri, kExtmapId));
- video_desc_->AddRtpHeaderExtension(
- RtpHeaderExtension(kExtmapUri, kExtmapId));
+ audio_desc_->AddRtpHeaderExtension(RtpExtension(kExtmapUri, kExtmapId));
+ video_desc_->AddRtpHeaderExtension(RtpExtension(kExtmapUri, kExtmapId));
desc_.RemoveContentByName(kAudioContentName);
desc_.RemoveContentByName(kVideoContentName);
desc_.AddContent(kAudioContentName, NS_JINGLE_RTP, audio_desc_);
diff --git a/webrtc/audio/audio_receive_stream.cc b/webrtc/audio/audio_receive_stream.cc
index fb17fcc..e391df4 100644
--- a/webrtc/audio/audio_receive_stream.cc
+++ b/webrtc/audio/audio_receive_stream.cc
@@ -38,7 +38,7 @@
return false;
}
for (const auto& extension : config.rtp.extensions) {
- if (extension.name == RtpExtension::kTransportSequenceNumber) {
+ if (extension.uri == RtpExtension::kTransportSequenceNumberUri) {
return true;
}
}
@@ -97,17 +97,17 @@
channel_proxy_->RegisterExternalTransport(config.rtcp_send_transport);
for (const auto& extension : config.rtp.extensions) {
- if (extension.name == RtpExtension::kAudioLevel) {
+ if (extension.uri == RtpExtension::kAudioLevelUri) {
channel_proxy_->SetReceiveAudioLevelIndicationStatus(true, extension.id);
bool registered = rtp_header_parser_->RegisterRtpHeaderExtension(
kRtpExtensionAudioLevel, extension.id);
RTC_DCHECK(registered);
- } else if (extension.name == RtpExtension::kAbsSendTime) {
+ } else if (extension.uri == RtpExtension::kAbsSendTimeUri) {
channel_proxy_->SetReceiveAbsoluteSenderTimeStatus(true, extension.id);
bool registered = rtp_header_parser_->RegisterRtpHeaderExtension(
kRtpExtensionAbsoluteSendTime, extension.id);
RTC_DCHECK(registered);
- } else if (extension.name == RtpExtension::kTransportSequenceNumber) {
+ } else if (extension.uri == RtpExtension::kTransportSequenceNumberUri) {
channel_proxy_->EnableReceiveTransportSequenceNumber(extension.id);
bool registered = rtp_header_parser_->RegisterRtpHeaderExtension(
kRtpExtensionTransportSequenceNumber, extension.id);
diff --git a/webrtc/audio/audio_receive_stream_unittest.cc b/webrtc/audio/audio_receive_stream_unittest.cc
index a5318d5..fd913db 100644
--- a/webrtc/audio/audio_receive_stream_unittest.cc
+++ b/webrtc/audio/audio_receive_stream_unittest.cc
@@ -108,11 +108,11 @@
stream_config_.rtp.local_ssrc = kLocalSsrc;
stream_config_.rtp.remote_ssrc = kRemoteSsrc;
stream_config_.rtp.extensions.push_back(
- RtpExtension(RtpExtension::kAbsSendTime, kAbsSendTimeId));
+ RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeId));
stream_config_.rtp.extensions.push_back(
- RtpExtension(RtpExtension::kAudioLevel, kAudioLevelId));
+ RtpExtension(RtpExtension::kAudioLevelUri, kAudioLevelId));
stream_config_.rtp.extensions.push_back(RtpExtension(
- RtpExtension::kTransportSequenceNumber, kTransportSequenceNumberId));
+ RtpExtension::kTransportSequenceNumberUri, kTransportSequenceNumberId));
}
MockCongestionController* congestion_controller() {
@@ -224,10 +224,10 @@
config.rtp.remote_ssrc = kRemoteSsrc;
config.rtp.local_ssrc = kLocalSsrc;
config.rtp.extensions.push_back(
- RtpExtension(RtpExtension::kAbsSendTime, kAbsSendTimeId));
+ RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeId));
config.voe_channel_id = kChannelId;
EXPECT_EQ(
- "{rtp: {remote_ssrc: 1234, local_ssrc: 5678, extensions: [{name: "
+ "{rtp: {remote_ssrc: 1234, local_ssrc: 5678, extensions: [{uri: "
"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time, id: 2}], "
"transport_cc: off}, "
"rtcp_send_transport: nullptr, "
diff --git a/webrtc/audio/audio_send_stream.cc b/webrtc/audio/audio_send_stream.cc
index c0a709e..e9659c6 100644
--- a/webrtc/audio/audio_send_stream.cc
+++ b/webrtc/audio/audio_send_stream.cc
@@ -79,11 +79,11 @@
channel_proxy_->RegisterExternalTransport(config.send_transport);
for (const auto& extension : config.rtp.extensions) {
- if (extension.name == RtpExtension::kAbsSendTime) {
+ if (extension.uri == RtpExtension::kAbsSendTimeUri) {
channel_proxy_->SetSendAbsoluteSenderTimeStatus(true, extension.id);
- } else if (extension.name == RtpExtension::kAudioLevel) {
+ } else if (extension.uri == RtpExtension::kAudioLevelUri) {
channel_proxy_->SetSendAudioLevelIndicationStatus(true, extension.id);
- } else if (extension.name == RtpExtension::kTransportSequenceNumber) {
+ } else if (extension.uri == RtpExtension::kTransportSequenceNumberUri) {
channel_proxy_->EnableSendTransportSequenceNumber(extension.id);
} else {
RTC_NOTREACHED() << "Registering unsupported RTP extension.";
diff --git a/webrtc/audio/audio_send_stream_unittest.cc b/webrtc/audio/audio_send_stream_unittest.cc
index a94034c..4d9d465 100644
--- a/webrtc/audio/audio_send_stream_unittest.cc
+++ b/webrtc/audio/audio_send_stream_unittest.cc
@@ -99,11 +99,11 @@
stream_config_.rtp.ssrc = kSsrc;
stream_config_.rtp.c_name = kCName;
stream_config_.rtp.extensions.push_back(
- RtpExtension(RtpExtension::kAudioLevel, kAudioLevelId));
+ RtpExtension(RtpExtension::kAudioLevelUri, kAudioLevelId));
stream_config_.rtp.extensions.push_back(
- RtpExtension(RtpExtension::kAbsSendTime, kAbsSendTimeId));
+ RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeId));
stream_config_.rtp.extensions.push_back(RtpExtension(
- RtpExtension::kTransportSequenceNumber, kTransportSequenceNumberId));
+ RtpExtension::kTransportSequenceNumberUri, kTransportSequenceNumberId));
}
AudioSendStream::Config& config() { return stream_config_; }
@@ -171,13 +171,13 @@
AudioSendStream::Config config(nullptr);
config.rtp.ssrc = kSsrc;
config.rtp.extensions.push_back(
- RtpExtension(RtpExtension::kAbsSendTime, kAbsSendTimeId));
+ RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeId));
config.rtp.c_name = kCName;
config.voe_channel_id = kChannelId;
config.cng_payload_type = 42;
config.red_payload_type = 17;
EXPECT_EQ(
- "{rtp: {ssrc: 1234, extensions: [{name: "
+ "{rtp: {ssrc: 1234, extensions: [{uri: "
"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time, id: 3}], "
"c_name: foo_name}, voe_channel_id: 1, cng_payload_type: 42, "
"red_payload_type: 17}",
diff --git a/webrtc/call/bitrate_estimator_tests.cc b/webrtc/call/bitrate_estimator_tests.cc
index 122e5bb..8cd2799 100644
--- a/webrtc/call/bitrate_estimator_tests.cc
+++ b/webrtc/call/bitrate_estimator_tests.cc
@@ -134,9 +134,9 @@
receive_config_.rtp.local_ssrc = kReceiverLocalVideoSsrc;
receive_config_.rtp.remb = true;
receive_config_.rtp.extensions.push_back(
- RtpExtension(RtpExtension::kTOffset, kTOFExtensionId));
+ RtpExtension(RtpExtension::kTimestampOffsetUri, kTOFExtensionId));
receive_config_.rtp.extensions.push_back(
- RtpExtension(RtpExtension::kAbsSendTime, kASTExtensionId));
+ RtpExtension(RtpExtension::kAbsSendTimeUri, kASTExtensionId));
}
virtual void TearDown() {
@@ -189,7 +189,7 @@
// an underlying channel id.
receive_config.voe_channel_id = 0;
receive_config.rtp.extensions.push_back(
- RtpExtension(RtpExtension::kAbsSendTime, kASTExtensionId));
+ RtpExtension(RtpExtension::kAbsSendTimeUri, kASTExtensionId));
audio_receive_stream_ =
test_->receiver_call_->CreateAudioReceiveStream(receive_config);
} else {
@@ -265,7 +265,7 @@
TEST_F(BitrateEstimatorTest, InstantiatesTOFPerDefaultForVideo) {
video_send_config_.rtp.extensions.push_back(
- RtpExtension(RtpExtension::kTOffset, kTOFExtensionId));
+ RtpExtension(RtpExtension::kTimestampOffsetUri, kTOFExtensionId));
receiver_log_.PushExpectedLogLine(kSingleStreamLog);
receiver_log_.PushExpectedLogLine(kAbsSendTimeLog);
receiver_log_.PushExpectedLogLine(kSingleStreamLog);
@@ -275,7 +275,7 @@
TEST_F(BitrateEstimatorTest, ImmediatelySwitchToASTForVideo) {
video_send_config_.rtp.extensions.push_back(
- RtpExtension(RtpExtension::kAbsSendTime, kASTExtensionId));
+ RtpExtension(RtpExtension::kAbsSendTimeUri, kASTExtensionId));
receiver_log_.PushExpectedLogLine(kSingleStreamLog);
receiver_log_.PushExpectedLogLine(kAbsSendTimeLog);
receiver_log_.PushExpectedLogLine(kSingleStreamLog);
@@ -287,7 +287,7 @@
TEST_F(BitrateEstimatorTest, SwitchesToASTForVideo) {
video_send_config_.rtp.extensions.push_back(
- RtpExtension(RtpExtension::kTOffset, kTOFExtensionId));
+ RtpExtension(RtpExtension::kTimestampOffsetUri, kTOFExtensionId));
receiver_log_.PushExpectedLogLine(kSingleStreamLog);
receiver_log_.PushExpectedLogLine(kAbsSendTimeLog);
receiver_log_.PushExpectedLogLine(kSingleStreamLog);
@@ -295,7 +295,7 @@
EXPECT_TRUE(receiver_log_.Wait());
video_send_config_.rtp.extensions[0] =
- RtpExtension(RtpExtension::kAbsSendTime, kASTExtensionId);
+ RtpExtension(RtpExtension::kAbsSendTimeUri, kASTExtensionId);
receiver_log_.PushExpectedLogLine(kAbsSendTimeLog);
receiver_log_.PushExpectedLogLine("Switching to absolute send time RBE.");
streams_.push_back(new Stream(this, false));
@@ -305,7 +305,7 @@
// This test is flaky. See webrtc:5790.
TEST_F(BitrateEstimatorTest, DISABLED_SwitchesToASTThenBackToTOFForVideo) {
video_send_config_.rtp.extensions.push_back(
- RtpExtension(RtpExtension::kTOffset, kTOFExtensionId));
+ RtpExtension(RtpExtension::kTimestampOffsetUri, kTOFExtensionId));
receiver_log_.PushExpectedLogLine(kSingleStreamLog);
receiver_log_.PushExpectedLogLine(kAbsSendTimeLog);
receiver_log_.PushExpectedLogLine(kSingleStreamLog);
@@ -313,14 +313,14 @@
EXPECT_TRUE(receiver_log_.Wait());
video_send_config_.rtp.extensions[0] =
- RtpExtension(RtpExtension::kAbsSendTime, kASTExtensionId);
+ RtpExtension(RtpExtension::kAbsSendTimeUri, kASTExtensionId);
receiver_log_.PushExpectedLogLine(kAbsSendTimeLog);
receiver_log_.PushExpectedLogLine("Switching to absolute send time RBE.");
streams_.push_back(new Stream(this, false));
EXPECT_TRUE(receiver_log_.Wait());
video_send_config_.rtp.extensions[0] =
- RtpExtension(RtpExtension::kTOffset, kTOFExtensionId);
+ RtpExtension(RtpExtension::kTimestampOffsetUri, kTOFExtensionId);
receiver_log_.PushExpectedLogLine(kAbsSendTimeLog);
receiver_log_.PushExpectedLogLine(
"WrappingBitrateEstimator: Switching to transmission time offset RBE.");
diff --git a/webrtc/call/rampup_tests.cc b/webrtc/call/rampup_tests.cc
index c9ce7e1..d6271d3 100644
--- a/webrtc/call/rampup_tests.cc
+++ b/webrtc/call/rampup_tests.cc
@@ -121,12 +121,12 @@
bool remb;
bool transport_cc;
- if (extension_type_ == RtpExtension::kAbsSendTime) {
+ if (extension_type_ == RtpExtension::kAbsSendTimeUri) {
remb = true;
transport_cc = false;
send_config->rtp.extensions.push_back(
RtpExtension(extension_type_.c_str(), kAbsSendTimeExtensionId));
- } else if (extension_type_ == RtpExtension::kTransportSequenceNumber) {
+ } else if (extension_type_ == RtpExtension::kTransportSequenceNumberUri) {
remb = false;
transport_cc = true;
send_config->rtp.extensions.push_back(RtpExtension(
@@ -182,18 +182,18 @@
if (num_audio_streams_ == 0)
return;
- EXPECT_NE(RtpExtension::kTOffset, extension_type_)
+ EXPECT_NE(RtpExtension::kTimestampOffsetUri, extension_type_)
<< "Audio BWE not supported with toffset.";
send_config->rtp.ssrc = audio_ssrcs_[0];
send_config->rtp.extensions.clear();
bool transport_cc = false;
- if (extension_type_ == RtpExtension::kAbsSendTime) {
+ if (extension_type_ == RtpExtension::kAbsSendTimeUri) {
transport_cc = false;
send_config->rtp.extensions.push_back(
RtpExtension(extension_type_.c_str(), kAbsSendTimeExtensionId));
- } else if (extension_type_ == RtpExtension::kTransportSequenceNumber) {
+ } else if (extension_type_ == RtpExtension::kTransportSequenceNumberUri) {
transport_cc = true;
send_config->rtp.extensions.push_back(RtpExtension(
extension_type_.c_str(), kTransportSequenceNumberExtensionId));
@@ -439,28 +439,28 @@
};
TEST_F(RampUpTest, SingleStream) {
- RampUpTester test(1, 0, 0, RtpExtension::kTOffset, false, false);
+ RampUpTester test(1, 0, 0, RtpExtension::kTimestampOffsetUri, false, false);
RunBaseTest(&test);
}
TEST_F(RampUpTest, Simulcast) {
- RampUpTester test(3, 0, 0, RtpExtension::kTOffset, false, false);
+ RampUpTester test(3, 0, 0, RtpExtension::kTimestampOffsetUri, false, false);
RunBaseTest(&test);
}
TEST_F(RampUpTest, SimulcastWithRtx) {
- RampUpTester test(3, 0, 0, RtpExtension::kTOffset, true, false);
+ RampUpTester test(3, 0, 0, RtpExtension::kTimestampOffsetUri, true, false);
RunBaseTest(&test);
}
TEST_F(RampUpTest, SimulcastByRedWithRtx) {
- RampUpTester test(3, 0, 0, RtpExtension::kTOffset, true, true);
+ RampUpTester test(3, 0, 0, RtpExtension::kTimestampOffsetUri, true, true);
RunBaseTest(&test);
}
TEST_F(RampUpTest, SingleStreamWithHighStartBitrate) {
- RampUpTester test(1, 0, 0.9 * kSingleStreamTargetBps, RtpExtension::kTOffset,
- false, false);
+ RampUpTester test(1, 0, 0.9 * kSingleStreamTargetBps,
+ RtpExtension::kTimestampOffsetUri, false, false);
RunBaseTest(&test);
}
@@ -472,46 +472,47 @@
// Disabled: https://bugs.chromium.org/p/webrtc/issues/detail?id=5576
TEST_F(RampUpTest, DISABLED_UpDownUpOneStream) {
- RampUpDownUpTester test(1, 0, kStartBitrateBps, RtpExtension::kAbsSendTime,
+ RampUpDownUpTester test(1, 0, kStartBitrateBps, RtpExtension::kAbsSendTimeUri,
false, false);
RunBaseTest(&test);
}
TEST_F(RampUpTest, UpDownUpThreeStreams) {
- RampUpDownUpTester test(3, 0, kStartBitrateBps, RtpExtension::kAbsSendTime,
+ RampUpDownUpTester test(3, 0, kStartBitrateBps, RtpExtension::kAbsSendTimeUri,
false, false);
RunBaseTest(&test);
}
// Disabled: https://bugs.chromium.org/p/webrtc/issues/detail?id=5576
TEST_F(RampUpTest, DISABLED_UpDownUpOneStreamRtx) {
- RampUpDownUpTester test(1, 0, kStartBitrateBps, RtpExtension::kAbsSendTime,
+ RampUpDownUpTester test(1, 0, kStartBitrateBps, RtpExtension::kAbsSendTimeUri,
true, false);
RunBaseTest(&test);
}
TEST_F(RampUpTest, UpDownUpThreeStreamsRtx) {
- RampUpDownUpTester test(3, 0, kStartBitrateBps, RtpExtension::kAbsSendTime,
+ RampUpDownUpTester test(3, 0, kStartBitrateBps, RtpExtension::kAbsSendTimeUri,
true, false);
RunBaseTest(&test);
}
// Disabled: https://bugs.chromium.org/p/webrtc/issues/detail?id=5576
TEST_F(RampUpTest, DISABLED_UpDownUpOneStreamByRedRtx) {
- RampUpDownUpTester test(1, 0, kStartBitrateBps, RtpExtension::kAbsSendTime,
+ RampUpDownUpTester test(1, 0, kStartBitrateBps, RtpExtension::kAbsSendTimeUri,
true, true);
RunBaseTest(&test);
}
TEST_F(RampUpTest, UpDownUpThreeStreamsByRedRtx) {
- RampUpDownUpTester test(3, 0, kStartBitrateBps, RtpExtension::kAbsSendTime,
+ RampUpDownUpTester test(3, 0, kStartBitrateBps, RtpExtension::kAbsSendTimeUri,
true, true);
RunBaseTest(&test);
}
TEST_F(RampUpTest, SendSideVideoUpDownUpRtx) {
RampUpDownUpTester test(3, 0, kStartBitrateBps,
- RtpExtension::kTransportSequenceNumber, true, false);
+ RtpExtension::kTransportSequenceNumberUri, true,
+ false);
RunBaseTest(&test);
}
@@ -519,71 +520,72 @@
// allocation.
TEST_F(RampUpTest, DISABLED_SendSideAudioVideoUpDownUpRtx) {
RampUpDownUpTester test(3, 1, kStartBitrateBps,
- RtpExtension::kTransportSequenceNumber, true, false);
+ RtpExtension::kTransportSequenceNumberUri, true,
+ false);
RunBaseTest(&test);
}
#endif
TEST_F(RampUpTest, AbsSendTimeSingleStream) {
- RampUpTester test(1, 0, 0, RtpExtension::kAbsSendTime, false, false);
+ RampUpTester test(1, 0, 0, RtpExtension::kAbsSendTimeUri, false, false);
RunBaseTest(&test);
}
TEST_F(RampUpTest, AbsSendTimeSimulcast) {
- RampUpTester test(3, 0, 0, RtpExtension::kAbsSendTime, false, false);
+ RampUpTester test(3, 0, 0, RtpExtension::kAbsSendTimeUri, false, false);
RunBaseTest(&test);
}
TEST_F(RampUpTest, AbsSendTimeSimulcastWithRtx) {
- RampUpTester test(3, 0, 0, RtpExtension::kAbsSendTime, true, false);
+ RampUpTester test(3, 0, 0, RtpExtension::kAbsSendTimeUri, true, false);
RunBaseTest(&test);
}
TEST_F(RampUpTest, AbsSendTimeSimulcastByRedWithRtx) {
- RampUpTester test(3, 0, 0, RtpExtension::kAbsSendTime, true, true);
+ RampUpTester test(3, 0, 0, RtpExtension::kAbsSendTimeUri, true, true);
RunBaseTest(&test);
}
TEST_F(RampUpTest, AbsSendTimeSingleStreamWithHighStartBitrate) {
RampUpTester test(1, 0, 0.9 * kSingleStreamTargetBps,
- RtpExtension::kAbsSendTime, false, false);
+ RtpExtension::kAbsSendTimeUri, false, false);
RunBaseTest(&test);
}
TEST_F(RampUpTest, TransportSequenceNumberSingleStream) {
- RampUpTester test(1, 0, 0, RtpExtension::kTransportSequenceNumber, false,
+ RampUpTester test(1, 0, 0, RtpExtension::kTransportSequenceNumberUri, false,
false);
RunBaseTest(&test);
}
TEST_F(RampUpTest, TransportSequenceNumberSimulcast) {
- RampUpTester test(3, 0, 0, RtpExtension::kTransportSequenceNumber, false,
+ RampUpTester test(3, 0, 0, RtpExtension::kTransportSequenceNumberUri, false,
false);
RunBaseTest(&test);
}
TEST_F(RampUpTest, TransportSequenceNumberSimulcastWithRtx) {
- RampUpTester test(3, 0, 0, RtpExtension::kTransportSequenceNumber, true,
+ RampUpTester test(3, 0, 0, RtpExtension::kTransportSequenceNumberUri, true,
false);
RunBaseTest(&test);
}
TEST_F(RampUpTest, AudioVideoTransportSequenceNumberSimulcastWithRtx) {
- RampUpTester test(3, 1, 0, RtpExtension::kTransportSequenceNumber, true,
+ RampUpTester test(3, 1, 0, RtpExtension::kTransportSequenceNumberUri, true,
false);
RunBaseTest(&test);
}
TEST_F(RampUpTest, TransportSequenceNumberSimulcastByRedWithRtx) {
- RampUpTester test(3, 0, 0, RtpExtension::kTransportSequenceNumber, true,
+ RampUpTester test(3, 0, 0, RtpExtension::kTransportSequenceNumberUri, true,
true);
RunBaseTest(&test);
}
TEST_F(RampUpTest, TransportSequenceNumberSingleStreamWithHighStartBitrate) {
RampUpTester test(1, 0, 0.9 * kSingleStreamTargetBps,
- RtpExtension::kTransportSequenceNumber, false, false);
+ RtpExtension::kTransportSequenceNumberUri, false, false);
RunBaseTest(&test);
}
} // namespace webrtc
diff --git a/webrtc/call/rtc_event_log.cc b/webrtc/call/rtc_event_log.cc
index 6dd02c8..07f461b 100644
--- a/webrtc/call/rtc_event_log.cc
+++ b/webrtc/call/rtc_event_log.cc
@@ -268,7 +268,7 @@
for (const auto& e : config.rtp.extensions) {
rtclog::RtpHeaderExtension* extension =
receiver_config->add_header_extensions();
- extension->set_name(e.name);
+ extension->set_name(e.uri);
extension->set_id(e.id);
}
@@ -297,7 +297,7 @@
for (const auto& e : config.rtp.extensions) {
rtclog::RtpHeaderExtension* extension =
sender_config->add_header_extensions();
- extension->set_name(e.name);
+ extension->set_name(e.uri);
extension->set_id(e.id);
}
diff --git a/webrtc/call/rtc_event_log_unittest.cc b/webrtc/call/rtc_event_log_unittest.cc
index 067c441..82f23a9 100644
--- a/webrtc/call/rtc_event_log_unittest.cc
+++ b/webrtc/call/rtc_event_log_unittest.cc
@@ -48,11 +48,10 @@
RTPExtensionType::kRtpExtensionAbsoluteSendTime,
RTPExtensionType::kRtpExtensionVideoRotation,
RTPExtensionType::kRtpExtensionTransportSequenceNumber};
-const char* kExtensionNames[] = {RtpExtension::kTOffset,
- RtpExtension::kAudioLevel,
- RtpExtension::kAbsSendTime,
- RtpExtension::kVideoRotation,
- RtpExtension::kTransportSequenceNumber};
+const char* kExtensionNames[] = {
+ RtpExtension::kTimestampOffsetUri, RtpExtension::kAudioLevelUri,
+ RtpExtension::kAbsSendTimeUri, RtpExtension::kVideoRotationUri,
+ RtpExtension::kTransportSequenceNumberUri};
const size_t kNumExtensions = 5;
void PrintActualEvents(const ParsedRtcEventLog& parsed_log) {
diff --git a/webrtc/call/rtc_event_log_unittest_helper.cc b/webrtc/call/rtc_event_log_unittest_helper.cc
index 5a06d97..dcaeaf9 100644
--- a/webrtc/call/rtc_event_log_unittest_helper.cc
+++ b/webrtc/call/rtc_event_log_unittest_helper.cc
@@ -153,7 +153,7 @@
const std::string& name = receiver_config.header_extensions(i).name();
int id = receiver_config.header_extensions(i).id();
EXPECT_EQ(config.rtp.extensions[i].id, id);
- EXPECT_EQ(config.rtp.extensions[i].name, name);
+ EXPECT_EQ(config.rtp.extensions[i].uri, name);
}
// Check decoders.
ASSERT_EQ(static_cast<int>(config.decoders.size()),
@@ -186,8 +186,8 @@
// Check header extensions.
EXPECT_EQ(config.rtp.extensions.size(), parsed_config.rtp.extensions.size());
for (size_t i = 0; i < parsed_config.rtp.extensions.size(); i++) {
- EXPECT_EQ(config.rtp.extensions[i].name,
- parsed_config.rtp.extensions[i].name);
+ EXPECT_EQ(config.rtp.extensions[i].uri,
+ parsed_config.rtp.extensions[i].uri);
EXPECT_EQ(config.rtp.extensions[i].id, parsed_config.rtp.extensions[i].id);
}
// Check decoders.
@@ -223,7 +223,7 @@
const std::string& name = sender_config.header_extensions(i).name();
int id = sender_config.header_extensions(i).id();
EXPECT_EQ(config.rtp.extensions[i].id, id);
- EXPECT_EQ(config.rtp.extensions[i].name, name);
+ EXPECT_EQ(config.rtp.extensions[i].uri, name);
}
// Check RTX settings.
ASSERT_EQ(static_cast<int>(config.rtp.rtx.ssrcs.size()),
@@ -255,8 +255,8 @@
// Check header extensions.
EXPECT_EQ(config.rtp.extensions.size(), parsed_config.rtp.extensions.size());
for (size_t i = 0; i < parsed_config.rtp.extensions.size(); i++) {
- EXPECT_EQ(config.rtp.extensions[i].name,
- parsed_config.rtp.extensions[i].name);
+ EXPECT_EQ(config.rtp.extensions[i].uri,
+ parsed_config.rtp.extensions[i].uri);
EXPECT_EQ(config.rtp.extensions[i].id, parsed_config.rtp.extensions[i].id);
}
// Check RTX settings.
diff --git a/webrtc/config.cc b/webrtc/config.cc
index c8cb9ef..e9c56da 100644
--- a/webrtc/config.cc
+++ b/webrtc/config.cc
@@ -24,32 +24,42 @@
std::string RtpExtension::ToString() const {
std::stringstream ss;
- ss << "{name: " << name;
+ ss << "{uri: " << uri;
ss << ", id: " << id;
ss << '}';
return ss.str();
}
-const char* RtpExtension::kTOffset = "urn:ietf:params:rtp-hdrext:toffset";
-const char* RtpExtension::kAbsSendTime =
- "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time";
-const char* RtpExtension::kVideoRotation = "urn:3gpp:video-orientation";
-const char* RtpExtension::kAudioLevel =
+const char* RtpExtension::kAudioLevelUri =
"urn:ietf:params:rtp-hdrext:ssrc-audio-level";
-const char* RtpExtension::kTransportSequenceNumber =
- "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01";
+const int RtpExtension::kAudioLevelDefaultId = 1;
-bool RtpExtension::IsSupportedForAudio(const std::string& name) {
- return name == webrtc::RtpExtension::kAbsSendTime ||
- name == webrtc::RtpExtension::kAudioLevel ||
- name == webrtc::RtpExtension::kTransportSequenceNumber;
+const char* RtpExtension::kTimestampOffsetUri =
+ "urn:ietf:params:rtp-hdrext:toffset";
+const int RtpExtension::kTimestampOffsetDefaultId = 2;
+
+const char* RtpExtension::kAbsSendTimeUri =
+ "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time";
+const int RtpExtension::kAbsSendTimeDefaultId = 3;
+
+const char* RtpExtension::kVideoRotationUri = "urn:3gpp:video-orientation";
+const int RtpExtension::kVideoRotationDefaultId = 4;
+
+const char* RtpExtension::kTransportSequenceNumberUri =
+ "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01";
+const int RtpExtension::kTransportSequenceNumberDefaultId = 5;
+
+bool RtpExtension::IsSupportedForAudio(const std::string& uri) {
+ return uri == webrtc::RtpExtension::kAbsSendTimeUri ||
+ uri == webrtc::RtpExtension::kAudioLevelUri ||
+ uri == webrtc::RtpExtension::kTransportSequenceNumberUri;
}
-bool RtpExtension::IsSupportedForVideo(const std::string& name) {
- return name == webrtc::RtpExtension::kTOffset ||
- name == webrtc::RtpExtension::kAbsSendTime ||
- name == webrtc::RtpExtension::kVideoRotation ||
- name == webrtc::RtpExtension::kTransportSequenceNumber;
+bool RtpExtension::IsSupportedForVideo(const std::string& uri) {
+ return uri == webrtc::RtpExtension::kTimestampOffsetUri ||
+ uri == webrtc::RtpExtension::kAbsSendTimeUri ||
+ uri == webrtc::RtpExtension::kVideoRotationUri ||
+ uri == webrtc::RtpExtension::kTransportSequenceNumberUri;
}
VideoStream::VideoStream()
diff --git a/webrtc/config.h b/webrtc/config.h
index 06460ae..d5fd1fe 100644
--- a/webrtc/config.h
+++ b/webrtc/config.h
@@ -52,20 +52,42 @@
// RTP header extension, see RFC 5285.
struct RtpExtension {
- RtpExtension(const std::string& name, int id) : name(name), id(id) {}
+ RtpExtension() : id(0) {}
+ RtpExtension(const std::string& uri, int id) : uri(uri), id(id) {}
std::string ToString() const;
bool operator==(const RtpExtension& rhs) const {
- return name == rhs.name && id == rhs.id;
+ return uri == rhs.uri && id == rhs.id;
}
- static bool IsSupportedForAudio(const std::string& name);
- static bool IsSupportedForVideo(const std::string& name);
+ static bool IsSupportedForAudio(const std::string& uri);
+ static bool IsSupportedForVideo(const std::string& uri);
- static const char* kTOffset;
- static const char* kAbsSendTime;
- static const char* kVideoRotation;
- static const char* kAudioLevel;
- static const char* kTransportSequenceNumber;
- std::string name;
+ // Header extension for audio levels, as defined in:
+ // http://tools.ietf.org/html/draft-ietf-avtext-client-to-mixer-audio-level-03
+ static const char* kAudioLevelUri;
+ static const int kAudioLevelDefaultId;
+
+ // Header extension for RTP timestamp offset, see RFC 5450 for details:
+ // http://tools.ietf.org/html/rfc5450
+ static const char* kTimestampOffsetUri;
+ static const int kTimestampOffsetDefaultId;
+
+ // Header extension for absolute send time, see url for details:
+ // http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
+ static const char* kAbsSendTimeUri;
+ static const int kAbsSendTimeDefaultId;
+
+ // Header extension for coordination of video orientation, see url for
+ // details:
+ // http://www.etsi.org/deliver/etsi_ts/126100_126199/126114/12.07.00_60/ts_126114v120700p.pdf
+ static const char* kVideoRotationUri;
+ static const int kVideoRotationDefaultId;
+
+ // Header extension for transport sequence number, see url for details:
+ // http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions
+ static const char* kTransportSequenceNumberUri;
+ static const int kTransportSequenceNumberDefaultId;
+
+ std::string uri;
int id;
};
diff --git a/webrtc/media/base/fakemediaengine.h b/webrtc/media/base/fakemediaengine.h
index bde5843..1e1ef6c 100644
--- a/webrtc/media/base/fakemediaengine.h
+++ b/webrtc/media/base/fakemediaengine.h
@@ -28,6 +28,8 @@
#include "webrtc/media/base/streamparams.h"
#include "webrtc/p2p/base/sessiondescription.h"
+using webrtc::RtpExtension;
+
namespace cricket {
class FakeMediaEngine;
@@ -44,10 +46,10 @@
fail_set_recv_codecs_(false),
send_ssrc_(0),
ready_to_send_(false) {}
- const std::vector<RtpHeaderExtension>& recv_extensions() {
+ const std::vector<RtpExtension>& recv_extensions() {
return recv_extensions_;
}
- const std::vector<RtpHeaderExtension>& send_extensions() {
+ const std::vector<RtpExtension>& send_extensions() {
return send_extensions_;
}
bool sending() const { return sending_; }
@@ -231,13 +233,11 @@
return true;
}
void set_playout(bool playout) { playout_ = playout; }
- bool SetRecvRtpHeaderExtensions(
- const std::vector<RtpHeaderExtension>& extensions) {
+ bool SetRecvRtpHeaderExtensions(const std::vector<RtpExtension>& extensions) {
recv_extensions_ = extensions;
return true;
}
- bool SetSendRtpHeaderExtensions(
- const std::vector<RtpHeaderExtension>& extensions) {
+ bool SetSendRtpHeaderExtensions(const std::vector<RtpExtension>& extensions) {
send_extensions_ = extensions;
return true;
}
@@ -263,8 +263,8 @@
private:
bool sending_;
bool playout_;
- std::vector<RtpHeaderExtension> recv_extensions_;
- std::vector<RtpHeaderExtension> send_extensions_;
+ std::vector<RtpExtension> recv_extensions_;
+ std::vector<RtpExtension> send_extensions_;
std::list<std::string> rtp_packets_;
std::list<std::string> rtcp_packets_;
std::vector<StreamParams> send_streams_;
@@ -712,8 +712,7 @@
void set_fail_create_channel(bool fail) { fail_create_channel_ = fail; }
RtpCapabilities GetCapabilities() const { return capabilities_; }
- void set_rtp_header_extensions(
- const std::vector<RtpHeaderExtension>& extensions) {
+ void set_rtp_header_extensions(const std::vector<RtpExtension>& extensions) {
capabilities_.header_extensions = extensions;
}
@@ -854,11 +853,11 @@
}
void SetAudioRtpHeaderExtensions(
- const std::vector<RtpHeaderExtension>& extensions) {
+ const std::vector<RtpExtension>& extensions) {
voice_.set_rtp_header_extensions(extensions);
}
void SetVideoRtpHeaderExtensions(
- const std::vector<RtpHeaderExtension>& extensions) {
+ const std::vector<RtpExtension>& extensions) {
video_.set_rtp_header_extensions(extensions);
}
diff --git a/webrtc/media/base/mediachannel.h b/webrtc/media/base/mediachannel.h
index 5434709..61e450d 100644
--- a/webrtc/media/base/mediachannel.h
+++ b/webrtc/media/base/mediachannel.h
@@ -26,6 +26,7 @@
#include "webrtc/base/sigslot.h"
#include "webrtc/base/socket.h"
#include "webrtc/base/window.h"
+#include "webrtc/config.h"
#include "webrtc/media/base/codec.h"
#include "webrtc/media/base/mediaconstants.h"
#include "webrtc/media/base/streamparams.h"
@@ -52,8 +53,6 @@
struct RtpHeader;
struct VideoFormat;
-const int kMinRtpHeaderExtensionId = 1;
-const int kMaxRtpHeaderExtensionId = 255;
const int kScreencastDefaultFps = 5;
template <class T>
@@ -321,44 +320,6 @@
}
};
-struct RtpHeaderExtension {
- RtpHeaderExtension() : id(0) {}
- RtpHeaderExtension(const std::string& u, int i) : uri(u), id(i) {}
-
- bool operator==(const RtpHeaderExtension& ext) const {
- // id is a reserved word in objective-c. Therefore the id attribute has to
- // be a fully qualified name in order to compile on IOS.
- return this->id == ext.id &&
- uri == ext.uri;
- }
-
- std::string ToString() const {
- std::ostringstream ost;
- ost << "{";
- ost << "uri: " << uri;
- ost << ", id: " << id;
- ost << "}";
- return ost.str();
- }
-
- std::string uri;
- int id;
- // TODO(juberti): SendRecv direction;
-};
-
-// Returns the named header extension if found among all extensions, NULL
-// otherwise.
-inline const RtpHeaderExtension* FindHeaderExtension(
- const std::vector<RtpHeaderExtension>& extensions,
- const std::string& name) {
- for (std::vector<RtpHeaderExtension>::const_iterator it = extensions.begin();
- it != extensions.end(); ++it) {
- if (it->uri == name)
- return &(*it);
- }
- return NULL;
-}
-
class MediaChannel : public sigslot::has_slots<> {
public:
class NetworkInterface {
@@ -842,7 +803,7 @@
}
std::vector<Codec> codecs;
- std::vector<RtpHeaderExtension> extensions;
+ std::vector<webrtc::RtpExtension> extensions;
// TODO(pthatcher): Add streams.
RtcpParameters rtcp;
virtual ~RtpParameters() = default;
diff --git a/webrtc/media/base/mediaconstants.cc b/webrtc/media/base/mediaconstants.cc
index a8e2b12..0f31864 100644
--- a/webrtc/media/base/mediaconstants.cc
+++ b/webrtc/media/base/mediaconstants.cc
@@ -91,27 +91,6 @@
const char kComfortNoiseCodecName[] = "CN";
-const int kRtpAudioLevelHeaderExtensionDefaultId = 1;
-const char kRtpAudioLevelHeaderExtension[] =
- "urn:ietf:params:rtp-hdrext:ssrc-audio-level";
-
-const int kRtpTimestampOffsetHeaderExtensionDefaultId = 2;
-const char kRtpTimestampOffsetHeaderExtension[] =
- "urn:ietf:params:rtp-hdrext:toffset";
-
-const int kRtpAbsoluteSenderTimeHeaderExtensionDefaultId = 3;
-const char kRtpAbsoluteSenderTimeHeaderExtension[] =
- "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time";
-
-const int kRtpVideoRotationHeaderExtensionDefaultId = 4;
-const char kRtpVideoRotationHeaderExtension[] = "urn:3gpp:video-orientation";
-const char kRtpVideoRotation6BitsHeaderExtensionForTesting[] =
- "urn:3gpp:video-orientation:6";
-
-const int kRtpTransportSequenceNumberHeaderExtensionDefaultId = 5;
-const char kRtpTransportSequenceNumberHeaderExtension[] =
- "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01";
-
const char kVp8CodecName[] = "VP8";
const char kVp9CodecName[] = "VP9";
const char kH264CodecName[] = "H264";
diff --git a/webrtc/media/base/mediaconstants.h b/webrtc/media/base/mediaconstants.h
index 708ca5b..e12ad41 100644
--- a/webrtc/media/base/mediaconstants.h
+++ b/webrtc/media/base/mediaconstants.h
@@ -117,34 +117,6 @@
extern const char kComfortNoiseCodecName[];
-// Header extension for audio levels, as defined in
-// http://tools.ietf.org/html/draft-ietf-avtext-client-to-mixer-audio-level-03
-extern const int kRtpAudioLevelHeaderExtensionDefaultId;
-extern const char kRtpAudioLevelHeaderExtension[];
-
-// Header extension for RTP timestamp offset, see RFC 5450 for details:
-// http://tools.ietf.org/html/rfc5450
-extern const int kRtpTimestampOffsetHeaderExtensionDefaultId;
-extern const char kRtpTimestampOffsetHeaderExtension[];
-
-// Header extension for absolute send time, see url for details:
-// http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
-extern const int kRtpAbsoluteSenderTimeHeaderExtensionDefaultId;
-extern const char kRtpAbsoluteSenderTimeHeaderExtension[];
-
-// Header extension for coordination of video orientation, see url for details:
-// http://www.etsi.org/deliver/etsi_ts/126100_126199/126114/12.07.00_60/
-// ts_126114v120700p.pdf
-extern const int kRtpVideoRotationHeaderExtensionDefaultId;
-extern const char kRtpVideoRotationHeaderExtension[];
-// We don't support 6 bit CVO. Added here for testing purpose.
-extern const char kRtpVideoRotation6BitsHeaderExtensionForTesting[];
-
-// Header extension for transport sequence number, see url for details:
-// http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions
-extern const int kRtpTransportSequenceNumberHeaderExtensionDefaultId;
-extern const char kRtpTransportSequenceNumberHeaderExtension[];
-
extern const char kVp8CodecName[];
extern const char kVp9CodecName[];
extern const char kH264CodecName[];
diff --git a/webrtc/media/base/mediaengine.h b/webrtc/media/base/mediaengine.h
index 4446bd6..8e31c7c 100644
--- a/webrtc/media/base/mediaengine.h
+++ b/webrtc/media/base/mediaengine.h
@@ -42,7 +42,7 @@
class VideoCapturer;
struct RtpCapabilities {
- std::vector<RtpHeaderExtension> header_extensions;
+ std::vector<webrtc::RtpExtension> header_extensions;
};
// MediaEngineInterface is an abstraction of a media engine which can be
diff --git a/webrtc/media/engine/webrtcmediaengine.cc b/webrtc/media/engine/webrtcmediaengine.cc
index 45652d0..f452b74 100644
--- a/webrtc/media/engine/webrtcmediaengine.cc
+++ b/webrtc/media/engine/webrtcmediaengine.cc
@@ -73,11 +73,10 @@
rtc::ArrayView<const char*> extensions_decreasing_prio) {
RTC_DCHECK(extensions);
bool found = false;
- for (const char* name : extensions_decreasing_prio) {
- auto it = std::find_if(extensions->begin(), extensions->end(),
- [name](const webrtc::RtpExtension& rhs) {
- return rhs.name == name;
- });
+ for (const char* uri : extensions_decreasing_prio) {
+ auto it = std::find_if(
+ extensions->begin(), extensions->end(),
+ [uri](const webrtc::RtpExtension& rhs) { return rhs.uri == uri; });
if (it != extensions->end()) {
if (found) {
extensions->erase(it);
@@ -88,7 +87,8 @@
}
} // namespace
-bool ValidateRtpExtensions(const std::vector<RtpHeaderExtension>& extensions) {
+bool ValidateRtpExtensions(
+ const std::vector<webrtc::RtpExtension>& extensions) {
bool id_used[14] = {false};
for (const auto& extension : extensions) {
if (extension.id <= 0 || extension.id >= 15) {
@@ -105,7 +105,7 @@
}
std::vector<webrtc::RtpExtension> FilterRtpExtensions(
- const std::vector<RtpHeaderExtension>& extensions,
+ const std::vector<webrtc::RtpExtension>& extensions,
bool (*supported)(const std::string&),
bool filter_redundant_extensions) {
RTC_DCHECK(ValidateRtpExtensions(extensions));
@@ -115,7 +115,7 @@
// Ignore any extensions that we don't recognize.
for (const auto& extension : extensions) {
if (supported(extension.uri)) {
- result.push_back({extension.uri, extension.id});
+ result.push_back(extension);
} else {
LOG(LS_WARNING) << "Unsupported RTP extension: " << extension.ToString();
}
@@ -124,24 +124,23 @@
// Sort by name, ascending, so that we don't reset extensions if they were
// specified in a different order (also allows us to use std::unique below).
std::sort(result.begin(), result.end(),
- [](const webrtc::RtpExtension& rhs, const webrtc::RtpExtension& lhs) {
- return rhs.name < lhs.name;
- });
+ [](const webrtc::RtpExtension& rhs,
+ const webrtc::RtpExtension& lhs) { return rhs.uri < lhs.uri; });
// Remove unnecessary extensions (used on send side).
if (filter_redundant_extensions) {
- auto it = std::unique(result.begin(), result.end(),
+ auto it = std::unique(
+ result.begin(), result.end(),
[](const webrtc::RtpExtension& rhs, const webrtc::RtpExtension& lhs) {
- return rhs.name == lhs.name;
+ return rhs.uri == lhs.uri;
});
result.erase(it, result.end());
// Keep just the highest priority extension of any in the following list.
static const char* kBweExtensionPriorities[] = {
- kRtpTransportSequenceNumberHeaderExtension,
- kRtpAbsoluteSenderTimeHeaderExtension,
- kRtpTimestampOffsetHeaderExtension
- };
+ webrtc::RtpExtension::kTransportSequenceNumberUri,
+ webrtc::RtpExtension::kAbsSendTimeUri,
+ webrtc::RtpExtension::kTimestampOffsetUri};
DiscardRedundantExtensions(&result, kBweExtensionPriorities);
}
diff --git a/webrtc/media/engine/webrtcmediaengine.h b/webrtc/media/engine/webrtcmediaengine.h
index 19b7d22..8aad94c 100644
--- a/webrtc/media/engine/webrtcmediaengine.h
+++ b/webrtc/media/engine/webrtcmediaengine.h
@@ -37,14 +37,13 @@
// Verify that extension IDs are within 1-byte extension range and are not
// overlapping.
-bool ValidateRtpExtensions(const std::vector<RtpHeaderExtension>& extensions);
+bool ValidateRtpExtensions(const std::vector<webrtc::RtpExtension>& extensions);
-// Convert cricket::RtpHeaderExtension:s to webrtc::RtpExtension:s, discarding
-// any extensions not validated by the 'supported' predicate. Duplicate
+// Discard any extensions not validated by the 'supported' predicate. Duplicate
// extensions are removed if 'filter_redundant_extensions' is set, and also any
-// mutually exclusive extensions (see implementation for details).
+// mutually exclusive extensions (see implementation for details) are removed.
std::vector<webrtc::RtpExtension> FilterRtpExtensions(
- const std::vector<RtpHeaderExtension>& extensions,
+ const std::vector<webrtc::RtpExtension>& extensions,
bool (*supported)(const std::string&),
bool filter_redundant_extensions);
diff --git a/webrtc/media/engine/webrtcmediaengine_unittest.cc b/webrtc/media/engine/webrtcmediaengine_unittest.cc
index be93d7d..f7ae7db 100644
--- a/webrtc/media/engine/webrtcmediaengine_unittest.cc
+++ b/webrtc/media/engine/webrtcmediaengine_unittest.cc
@@ -12,27 +12,29 @@
#include "webrtc/media/engine/webrtcmediaengine.h"
+using webrtc::RtpExtension;
+
namespace cricket {
namespace {
-std::vector<RtpHeaderExtension> MakeUniqueExtensions() {
- std::vector<RtpHeaderExtension> result;
+std::vector<RtpExtension> MakeUniqueExtensions() {
+ std::vector<RtpExtension> result;
char name[] = "a";
for (int i = 0; i < 7; ++i) {
- result.push_back(RtpHeaderExtension(name, 1 + i));
+ result.push_back(RtpExtension(name, 1 + i));
name[0]++;
- result.push_back(RtpHeaderExtension(name, 14 - i));
+ result.push_back(RtpExtension(name, 14 - i));
name[0]++;
}
return result;
}
-std::vector<RtpHeaderExtension> MakeRedundantExtensions() {
- std::vector<RtpHeaderExtension> result;
+std::vector<RtpExtension> MakeRedundantExtensions() {
+ std::vector<RtpExtension> result;
char name[] = "a";
for (int i = 0; i < 7; ++i) {
- result.push_back(RtpHeaderExtension(name, 1 + i));
- result.push_back(RtpHeaderExtension(name, 14 - i));
+ result.push_back(RtpExtension(name, 1 + i));
+ result.push_back(RtpExtension(name, 14 - i));
name[0]++;
}
return result;
@@ -49,67 +51,67 @@
bool IsSorted(const std::vector<webrtc::RtpExtension>& extensions) {
const std::string* last = nullptr;
for (const auto& extension : extensions) {
- if (last && *last > extension.name) {
+ if (last && *last > extension.uri) {
return false;
}
- last = &extension.name;
+ last = &extension.uri;
}
return true;
}
} // namespace
TEST(WebRtcMediaEngineTest, ValidateRtpExtensions_EmptyList) {
- std::vector<RtpHeaderExtension> extensions;
+ std::vector<RtpExtension> extensions;
EXPECT_TRUE(ValidateRtpExtensions(extensions));
}
TEST(WebRtcMediaEngineTest, ValidateRtpExtensions_AllGood) {
- std::vector<RtpHeaderExtension> extensions = MakeUniqueExtensions();
+ std::vector<RtpExtension> extensions = MakeUniqueExtensions();
EXPECT_TRUE(ValidateRtpExtensions(extensions));
}
TEST(WebRtcMediaEngineTest, ValidateRtpExtensions_OutOfRangeId_Low) {
- std::vector<RtpHeaderExtension> extensions = MakeUniqueExtensions();
- extensions.push_back(RtpHeaderExtension("foo", 0));
+ std::vector<RtpExtension> extensions = MakeUniqueExtensions();
+ extensions.push_back(RtpExtension("foo", 0));
EXPECT_FALSE(ValidateRtpExtensions(extensions));
}
TEST(WebRtcMediaEngineTest, ValidateRtpExtensions_OutOfRangeId_High) {
- std::vector<RtpHeaderExtension> extensions = MakeUniqueExtensions();
- extensions.push_back(RtpHeaderExtension("foo", 15));
+ std::vector<RtpExtension> extensions = MakeUniqueExtensions();
+ extensions.push_back(RtpExtension("foo", 15));
EXPECT_FALSE(ValidateRtpExtensions(extensions));
}
TEST(WebRtcMediaEngineTest, ValidateRtpExtensions_OverlappingIds_StartOfSet) {
- std::vector<RtpHeaderExtension> extensions = MakeUniqueExtensions();
- extensions.push_back(RtpHeaderExtension("foo", 1));
+ std::vector<RtpExtension> extensions = MakeUniqueExtensions();
+ extensions.push_back(RtpExtension("foo", 1));
EXPECT_FALSE(ValidateRtpExtensions(extensions));
}
TEST(WebRtcMediaEngineTest, ValidateRtpExtensions_OverlappingIds_EndOfSet) {
- std::vector<RtpHeaderExtension> extensions = MakeUniqueExtensions();
- extensions.push_back(RtpHeaderExtension("foo", 14));
+ std::vector<RtpExtension> extensions = MakeUniqueExtensions();
+ extensions.push_back(RtpExtension("foo", 14));
EXPECT_FALSE(ValidateRtpExtensions(extensions));
}
TEST(WebRtcMediaEngineTest, FilterRtpExtensions_EmptyList) {
- std::vector<RtpHeaderExtension> extensions;
+ std::vector<RtpExtension> extensions;
std::vector<webrtc::RtpExtension> filtered =
FilterRtpExtensions(extensions, SupportedExtensions1, true);
EXPECT_EQ(0, filtered.size());
}
TEST(WebRtcMediaEngineTest, FilterRtpExtensions_IncludeOnlySupported) {
- std::vector<RtpHeaderExtension> extensions = MakeUniqueExtensions();
+ std::vector<RtpExtension> extensions = MakeUniqueExtensions();
std::vector<webrtc::RtpExtension> filtered =
FilterRtpExtensions(extensions, SupportedExtensions1, false);
EXPECT_EQ(2, filtered.size());
- EXPECT_EQ("c", filtered[0].name);
- EXPECT_EQ("i", filtered[1].name);
+ EXPECT_EQ("c", filtered[0].uri);
+ EXPECT_EQ("i", filtered[1].uri);
}
TEST(WebRtcMediaEngineTest, FilterRtpExtensions_SortedByName_1) {
- std::vector<RtpHeaderExtension> extensions = MakeUniqueExtensions();
+ std::vector<RtpExtension> extensions = MakeUniqueExtensions();
std::vector<webrtc::RtpExtension> filtered =
FilterRtpExtensions(extensions, SupportedExtensions2, false);
EXPECT_EQ(12, filtered.size());
@@ -117,7 +119,7 @@
}
TEST(WebRtcMediaEngineTest, FilterRtpExtensions_SortedByName_2) {
- std::vector<RtpHeaderExtension> extensions = MakeUniqueExtensions();
+ std::vector<RtpExtension> extensions = MakeUniqueExtensions();
std::vector<webrtc::RtpExtension> filtered =
FilterRtpExtensions(extensions, SupportedExtensions2, true);
EXPECT_EQ(12, filtered.size());
@@ -125,64 +127,56 @@
}
TEST(WebRtcMediaEngineTest, FilterRtpExtensions_DontRemoveRedundant) {
- std::vector<RtpHeaderExtension> extensions = MakeRedundantExtensions();
+ std::vector<RtpExtension> extensions = MakeRedundantExtensions();
std::vector<webrtc::RtpExtension> filtered =
FilterRtpExtensions(extensions, SupportedExtensions2, false);
EXPECT_EQ(12, filtered.size());
EXPECT_TRUE(IsSorted(filtered));
- EXPECT_EQ(filtered[0].name, filtered[1].name);
+ EXPECT_EQ(filtered[0].uri, filtered[1].uri);
}
TEST(WebRtcMediaEngineTest, FilterRtpExtensions_RemoveRedundant) {
- std::vector<RtpHeaderExtension> extensions = MakeRedundantExtensions();
+ std::vector<RtpExtension> extensions = MakeRedundantExtensions();
std::vector<webrtc::RtpExtension> filtered =
FilterRtpExtensions(extensions, SupportedExtensions2, true);
EXPECT_EQ(6, filtered.size());
EXPECT_TRUE(IsSorted(filtered));
- EXPECT_NE(filtered[0].name, filtered[1].name);
+ EXPECT_NE(filtered[0].uri, filtered[1].uri);
}
TEST(WebRtcMediaEngineTest, FilterRtpExtensions_RemoveRedundantBwe_1) {
- std::vector<RtpHeaderExtension> extensions;
+ std::vector<RtpExtension> extensions;
extensions.push_back(
- RtpHeaderExtension(kRtpTransportSequenceNumberHeaderExtension, 3));
+ RtpExtension(RtpExtension::kTransportSequenceNumberUri, 3));
+ extensions.push_back(RtpExtension(RtpExtension::kTimestampOffsetUri, 9));
+ extensions.push_back(RtpExtension(RtpExtension::kAbsSendTimeUri, 6));
extensions.push_back(
- RtpHeaderExtension(kRtpTimestampOffsetHeaderExtension, 9));
- extensions.push_back(
- RtpHeaderExtension(kRtpAbsoluteSenderTimeHeaderExtension, 6));
- extensions.push_back(
- RtpHeaderExtension(kRtpTransportSequenceNumberHeaderExtension, 1));
- extensions.push_back(
- RtpHeaderExtension(kRtpTimestampOffsetHeaderExtension, 14));
+ RtpExtension(RtpExtension::kTransportSequenceNumberUri, 1));
+ extensions.push_back(RtpExtension(RtpExtension::kTimestampOffsetUri, 14));
std::vector<webrtc::RtpExtension> filtered =
FilterRtpExtensions(extensions, SupportedExtensions2, true);
EXPECT_EQ(1, filtered.size());
- EXPECT_EQ(kRtpTransportSequenceNumberHeaderExtension, filtered[0].name);
+ EXPECT_EQ(RtpExtension::kTransportSequenceNumberUri, filtered[0].uri);
}
TEST(WebRtcMediaEngineTest, FilterRtpExtensions_RemoveRedundantBwe_2) {
- std::vector<RtpHeaderExtension> extensions;
- extensions.push_back(
- RtpHeaderExtension(kRtpTimestampOffsetHeaderExtension, 1));
- extensions.push_back(
- RtpHeaderExtension(kRtpAbsoluteSenderTimeHeaderExtension, 14));
- extensions.push_back(
- RtpHeaderExtension(kRtpTimestampOffsetHeaderExtension, 7));
+ std::vector<RtpExtension> extensions;
+ extensions.push_back(RtpExtension(RtpExtension::kTimestampOffsetUri, 1));
+ extensions.push_back(RtpExtension(RtpExtension::kAbsSendTimeUri, 14));
+ extensions.push_back(RtpExtension(RtpExtension::kTimestampOffsetUri, 7));
std::vector<webrtc::RtpExtension> filtered =
FilterRtpExtensions(extensions, SupportedExtensions2, true);
EXPECT_EQ(1, filtered.size());
- EXPECT_EQ(kRtpAbsoluteSenderTimeHeaderExtension, filtered[0].name);
+ EXPECT_EQ(RtpExtension::kAbsSendTimeUri, filtered[0].uri);
}
TEST(WebRtcMediaEngineTest, FilterRtpExtensions_RemoveRedundantBwe_3) {
- std::vector<RtpHeaderExtension> extensions;
- extensions.push_back(
- RtpHeaderExtension(kRtpTimestampOffsetHeaderExtension, 2));
- extensions.push_back(
- RtpHeaderExtension(kRtpTimestampOffsetHeaderExtension, 14));
+ std::vector<RtpExtension> extensions;
+ extensions.push_back(RtpExtension(RtpExtension::kTimestampOffsetUri, 2));
+ extensions.push_back(RtpExtension(RtpExtension::kTimestampOffsetUri, 14));
std::vector<webrtc::RtpExtension> filtered =
FilterRtpExtensions(extensions, SupportedExtensions2, true);
EXPECT_EQ(1, filtered.size());
- EXPECT_EQ(kRtpTimestampOffsetHeaderExtension, filtered[0].name);
+ EXPECT_EQ(RtpExtension::kTimestampOffsetUri, filtered[0].uri);
}
} // namespace cricket
diff --git a/webrtc/media/engine/webrtcvideoengine2.cc b/webrtc/media/engine/webrtcvideoengine2.cc
index d81c849..2ea11b9 100644
--- a/webrtc/media/engine/webrtcvideoengine2.cc
+++ b/webrtc/media/engine/webrtcvideoengine2.cc
@@ -254,9 +254,9 @@
inline bool ContainsHeaderExtension(
const std::vector<webrtc::RtpExtension>& extensions,
- const std::string& name) {
+ const std::string& uri) {
for (const auto& kv : extensions) {
- if (kv.name == name) {
+ if (kv.uri == uri) {
return true;
}
}
@@ -551,18 +551,18 @@
RtpCapabilities WebRtcVideoEngine2::GetCapabilities() const {
RtpCapabilities capabilities;
capabilities.header_extensions.push_back(
- RtpHeaderExtension(kRtpTimestampOffsetHeaderExtension,
- kRtpTimestampOffsetHeaderExtensionDefaultId));
+ webrtc::RtpExtension(webrtc::RtpExtension::kTimestampOffsetUri,
+ webrtc::RtpExtension::kTimestampOffsetDefaultId));
capabilities.header_extensions.push_back(
- RtpHeaderExtension(kRtpAbsoluteSenderTimeHeaderExtension,
- kRtpAbsoluteSenderTimeHeaderExtensionDefaultId));
+ webrtc::RtpExtension(webrtc::RtpExtension::kAbsSendTimeUri,
+ webrtc::RtpExtension::kAbsSendTimeDefaultId));
capabilities.header_extensions.push_back(
- RtpHeaderExtension(kRtpVideoRotationHeaderExtension,
- kRtpVideoRotationHeaderExtensionDefaultId));
+ webrtc::RtpExtension(webrtc::RtpExtension::kVideoRotationUri,
+ webrtc::RtpExtension::kVideoRotationDefaultId));
if (webrtc::field_trial::FindFullName("WebRTC-SendSideBwe") == "Enabled") {
- capabilities.header_extensions.push_back(RtpHeaderExtension(
- kRtpTransportSequenceNumberHeaderExtension,
- kRtpTransportSequenceNumberHeaderExtensionDefaultId));
+ capabilities.header_extensions.push_back(webrtc::RtpExtension(
+ webrtc::RtpExtension::kTransportSequenceNumberUri,
+ webrtc::RtpExtension::kTransportSequenceNumberDefaultId));
}
return capabilities;
}
@@ -1570,7 +1570,7 @@
enable_cpu_overuse_detection ? this : nullptr;
sink_wants_.rotation_applied = !ContainsHeaderExtension(
- rtp_extensions, kRtpVideoRotationHeaderExtension);
+ rtp_extensions, webrtc::RtpExtension::kVideoRotationUri);
if (codec_settings) {
SetCodec(*codec_settings);
@@ -1854,7 +1854,7 @@
// that might cause a lock order inversion.
if (params.rtp_header_extensions) {
sink_wants_.rotation_applied = !ContainsHeaderExtension(
- *params.rtp_header_extensions, kRtpVideoRotationHeaderExtension);
+ *params.rtp_header_extensions, webrtc::RtpExtension::kVideoRotationUri);
if (source_) {
source_->AddOrUpdateSink(this, sink_wants_);
}
diff --git a/webrtc/media/engine/webrtcvideoengine2_unittest.cc b/webrtc/media/engine/webrtcvideoengine2_unittest.cc
index 22e3f99..177ab9f 100644
--- a/webrtc/media/engine/webrtcvideoengine2_unittest.cc
+++ b/webrtc/media/engine/webrtcvideoengine2_unittest.cc
@@ -27,6 +27,8 @@
#include "webrtc/test/field_trial.h"
#include "webrtc/video_encoder.h"
+using webrtc::RtpExtension;
+
namespace {
static const int kDefaultQpMax = 56;
static const int kDefaultFramerate = 30;
@@ -182,9 +184,9 @@
TEST_F(WebRtcVideoEngine2Test, SupportsTimestampOffsetHeaderExtension) {
RtpCapabilities capabilities = engine_.GetCapabilities();
ASSERT_FALSE(capabilities.header_extensions.empty());
- for (const RtpHeaderExtension& extension : capabilities.header_extensions) {
- if (extension.uri == kRtpTimestampOffsetHeaderExtension) {
- EXPECT_EQ(kRtpTimestampOffsetHeaderExtensionDefaultId, extension.id);
+ for (const RtpExtension& extension : capabilities.header_extensions) {
+ if (extension.uri == RtpExtension::kTimestampOffsetUri) {
+ EXPECT_EQ(RtpExtension::kTimestampOffsetDefaultId, extension.id);
return;
}
}
@@ -194,9 +196,9 @@
TEST_F(WebRtcVideoEngine2Test, SupportsAbsoluteSenderTimeHeaderExtension) {
RtpCapabilities capabilities = engine_.GetCapabilities();
ASSERT_FALSE(capabilities.header_extensions.empty());
- for (const RtpHeaderExtension& extension : capabilities.header_extensions) {
- if (extension.uri == kRtpAbsoluteSenderTimeHeaderExtension) {
- EXPECT_EQ(kRtpAbsoluteSenderTimeHeaderExtensionDefaultId, extension.id);
+ for (const RtpExtension& extension : capabilities.header_extensions) {
+ if (extension.uri == RtpExtension::kAbsSendTimeUri) {
+ EXPECT_EQ(RtpExtension::kAbsSendTimeDefaultId, extension.id);
return;
}
}
@@ -213,10 +215,9 @@
SupportsTransportSequenceNumberHeaderExtension) {
RtpCapabilities capabilities = engine_.GetCapabilities();
ASSERT_FALSE(capabilities.header_extensions.empty());
- for (const RtpHeaderExtension& extension : capabilities.header_extensions) {
- if (extension.uri == kRtpTransportSequenceNumberHeaderExtension) {
- EXPECT_EQ(kRtpTransportSequenceNumberHeaderExtensionDefaultId,
- extension.id);
+ for (const RtpExtension& extension : capabilities.header_extensions) {
+ if (extension.uri == RtpExtension::kTransportSequenceNumberUri) {
+ EXPECT_EQ(RtpExtension::kTransportSequenceNumberDefaultId, extension.id);
return;
}
}
@@ -226,9 +227,9 @@
TEST_F(WebRtcVideoEngine2Test, SupportsVideoRotationHeaderExtension) {
RtpCapabilities capabilities = engine_.GetCapabilities();
ASSERT_FALSE(capabilities.header_extensions.empty());
- for (const RtpHeaderExtension& extension : capabilities.header_extensions) {
- if (extension.uri == kRtpVideoRotationHeaderExtension) {
- EXPECT_EQ(kRtpVideoRotationHeaderExtensionDefaultId, extension.id);
+ for (const RtpExtension& extension : capabilities.header_extensions) {
+ if (extension.uri == RtpExtension::kVideoRotationUri) {
+ EXPECT_EQ(RtpExtension::kVideoRotationDefaultId, extension.id);
return;
}
}
@@ -252,7 +253,7 @@
// Add CVO extension.
const int id = 1;
parameters.extensions.push_back(
- cricket::RtpHeaderExtension(kRtpVideoRotationHeaderExtension, id));
+ RtpExtension(RtpExtension::kVideoRotationUri, id));
EXPECT_TRUE(channel->SetSendParameters(parameters));
// Set capturer.
@@ -282,7 +283,7 @@
// Add CVO extension.
const int id = 1;
parameters.extensions.push_back(
- cricket::RtpHeaderExtension(kRtpVideoRotationHeaderExtension, id));
+ RtpExtension(RtpExtension::kVideoRotationUri, id));
EXPECT_TRUE(channel->SetSendParameters(parameters));
EXPECT_TRUE(channel->AddSendStream(StreamParams::CreateLegacy(kSsrc)));
@@ -316,7 +317,7 @@
// Add CVO extension.
const int id = 1;
parameters.extensions.push_back(
- cricket::RtpHeaderExtension(kRtpVideoRotationHeaderExtension, id));
+ RtpExtension(RtpExtension::kVideoRotationUri, id));
// Also remove the first codec to trigger a codec change as well.
parameters.codecs.erase(parameters.codecs.begin());
EXPECT_TRUE(channel->SetSendParameters(parameters));
@@ -967,13 +968,11 @@
fake_call_->GetConfig().bitrate_config.max_bitrate_bps);
}
- void TestSetSendRtpHeaderExtensions(const std::string& cricket_ext,
- const std::string& webrtc_ext) {
+ void TestSetSendRtpHeaderExtensions(const std::string& ext_uri) {
// Enable extension.
const int id = 1;
cricket::VideoSendParameters parameters = send_parameters_;
- parameters.extensions.push_back(
- cricket::RtpHeaderExtension(cricket_ext, id));
+ parameters.extensions.push_back(RtpExtension(ext_uri, id));
EXPECT_TRUE(channel_->SetSendParameters(parameters));
FakeVideoSendStream* send_stream =
AddSendStream(cricket::StreamParams::CreateLegacy(123));
@@ -981,7 +980,7 @@
// Verify the send extension id.
ASSERT_EQ(1u, send_stream->GetConfig().rtp.extensions.size());
EXPECT_EQ(id, send_stream->GetConfig().rtp.extensions[0].id);
- EXPECT_EQ(webrtc_ext, send_stream->GetConfig().rtp.extensions[0].name);
+ EXPECT_EQ(ext_uri, send_stream->GetConfig().rtp.extensions[0].uri);
// Verify call with same set of extensions returns true.
EXPECT_TRUE(channel_->SetSendParameters(parameters));
// Verify that SetSendRtpHeaderExtensions doesn't implicitly add them for
@@ -1002,16 +1001,14 @@
send_stream = fake_call_->GetVideoSendStreams()[0];
ASSERT_EQ(1u, send_stream->GetConfig().rtp.extensions.size());
EXPECT_EQ(id, send_stream->GetConfig().rtp.extensions[0].id);
- EXPECT_EQ(webrtc_ext, send_stream->GetConfig().rtp.extensions[0].name);
+ EXPECT_EQ(ext_uri, send_stream->GetConfig().rtp.extensions[0].uri);
}
- void TestSetRecvRtpHeaderExtensions(const std::string& cricket_ext,
- const std::string& webrtc_ext) {
+ void TestSetRecvRtpHeaderExtensions(const std::string& ext_uri) {
// Enable extension.
const int id = 1;
cricket::VideoRecvParameters parameters = recv_parameters_;
- parameters.extensions.push_back(
- cricket::RtpHeaderExtension(cricket_ext, id));
+ parameters.extensions.push_back(RtpExtension(ext_uri, id));
EXPECT_TRUE(channel_->SetRecvParameters(parameters));
FakeVideoReceiveStream* recv_stream =
@@ -1020,7 +1017,7 @@
// Verify the recv extension id.
ASSERT_EQ(1u, recv_stream->GetConfig().rtp.extensions.size());
EXPECT_EQ(id, recv_stream->GetConfig().rtp.extensions[0].id);
- EXPECT_EQ(webrtc_ext, recv_stream->GetConfig().rtp.extensions[0].name);
+ EXPECT_EQ(ext_uri, recv_stream->GetConfig().rtp.extensions[0].uri);
// Verify call with same set of extensions returns true.
EXPECT_TRUE(channel_->SetRecvParameters(parameters));
@@ -1042,7 +1039,7 @@
recv_stream = fake_call_->GetVideoReceiveStreams()[0];
ASSERT_EQ(1u, recv_stream->GetConfig().rtp.extensions.size());
EXPECT_EQ(id, recv_stream->GetConfig().rtp.extensions[0].id);
- EXPECT_EQ(webrtc_ext, recv_stream->GetConfig().rtp.extensions[0].name);
+ EXPECT_EQ(ext_uri, recv_stream->GetConfig().rtp.extensions[0].uri);
}
void TestExtensionFilter(const std::vector<std::string>& extensions,
@@ -1053,8 +1050,7 @@
for (const std::string& extension : extensions) {
if (extension == expected_extension)
expected_id = id;
- parameters.extensions.push_back(
- cricket::RtpHeaderExtension(extension, id++));
+ parameters.extensions.push_back(RtpExtension(extension, id++));
}
EXPECT_TRUE(channel_->SetSendParameters(parameters));
FakeVideoSendStream* send_stream =
@@ -1065,7 +1061,7 @@
ASSERT_EQ(1u, send_stream->GetConfig().rtp.extensions.size());
EXPECT_EQ(expected_id, send_stream->GetConfig().rtp.extensions[0].id);
EXPECT_EQ(expected_extension,
- send_stream->GetConfig().rtp.extensions[0].name);
+ send_stream->GetConfig().rtp.extensions[0].uri);
}
void TestCpuAdaptation(bool enable_overuse, bool is_screenshare);
@@ -1220,39 +1216,37 @@
// Test support for RTP timestamp offset header extension.
TEST_F(WebRtcVideoChannel2Test, SendRtpTimestampOffsetHeaderExtensions) {
- TestSetSendRtpHeaderExtensions(kRtpTimestampOffsetHeaderExtension,
- webrtc::RtpExtension::kTOffset);
+ TestSetSendRtpHeaderExtensions(RtpExtension::kTimestampOffsetUri);
}
+
TEST_F(WebRtcVideoChannel2Test, RecvRtpTimestampOffsetHeaderExtensions) {
- TestSetRecvRtpHeaderExtensions(kRtpTimestampOffsetHeaderExtension,
- webrtc::RtpExtension::kTOffset);
+ TestSetRecvRtpHeaderExtensions(RtpExtension::kTimestampOffsetUri);
}
// Test support for absolute send time header extension.
TEST_F(WebRtcVideoChannel2Test, SendAbsoluteSendTimeHeaderExtensions) {
- TestSetSendRtpHeaderExtensions(kRtpAbsoluteSenderTimeHeaderExtension,
- webrtc::RtpExtension::kAbsSendTime);
+ TestSetSendRtpHeaderExtensions(RtpExtension::kAbsSendTimeUri);
}
+
TEST_F(WebRtcVideoChannel2Test, RecvAbsoluteSendTimeHeaderExtensions) {
- TestSetRecvRtpHeaderExtensions(kRtpAbsoluteSenderTimeHeaderExtension,
- webrtc::RtpExtension::kAbsSendTime);
+ TestSetRecvRtpHeaderExtensions(RtpExtension::kAbsSendTimeUri);
}
TEST_F(WebRtcVideoChannel2Test, FiltersExtensionsPicksTransportSeqNum) {
// Enable three redundant extensions.
std::vector<std::string> extensions;
- extensions.push_back(kRtpAbsoluteSenderTimeHeaderExtension);
- extensions.push_back(kRtpTimestampOffsetHeaderExtension);
- extensions.push_back(kRtpTransportSequenceNumberHeaderExtension);
- TestExtensionFilter(extensions, kRtpTransportSequenceNumberHeaderExtension);
+ extensions.push_back(RtpExtension::kAbsSendTimeUri);
+ extensions.push_back(RtpExtension::kTimestampOffsetUri);
+ extensions.push_back(RtpExtension::kTransportSequenceNumberUri);
+ TestExtensionFilter(extensions, RtpExtension::kTransportSequenceNumberUri);
}
TEST_F(WebRtcVideoChannel2Test, FiltersExtensionsPicksAbsSendTime) {
// Enable two redundant extensions.
std::vector<std::string> extensions;
- extensions.push_back(kRtpAbsoluteSenderTimeHeaderExtension);
- extensions.push_back(kRtpTimestampOffsetHeaderExtension);
- TestExtensionFilter(extensions, kRtpAbsoluteSenderTimeHeaderExtension);
+ extensions.push_back(RtpExtension::kAbsSendTimeUri);
+ extensions.push_back(RtpExtension::kTimestampOffsetUri);
+ TestExtensionFilter(extensions, RtpExtension::kAbsSendTimeUri);
}
class WebRtcVideoChannel2WithSendSideBweTest : public WebRtcVideoChannel2Test {
@@ -1264,34 +1258,28 @@
// Test support for transport sequence number header extension.
TEST_F(WebRtcVideoChannel2WithSendSideBweTest,
SendTransportSequenceNumberHeaderExtensions) {
- TestSetSendRtpHeaderExtensions(
- kRtpTransportSequenceNumberHeaderExtension,
- webrtc::RtpExtension::kTransportSequenceNumber);
+ TestSetSendRtpHeaderExtensions(RtpExtension::kTransportSequenceNumberUri);
}
TEST_F(WebRtcVideoChannel2WithSendSideBweTest,
RecvTransportSequenceNumberHeaderExtensions) {
- TestSetRecvRtpHeaderExtensions(
- kRtpTransportSequenceNumberHeaderExtension,
- webrtc::RtpExtension::kTransportSequenceNumber);
+ TestSetRecvRtpHeaderExtensions(RtpExtension::kTransportSequenceNumberUri);
}
// Test support for video rotation header extension.
TEST_F(WebRtcVideoChannel2Test, SendVideoRotationHeaderExtensions) {
- TestSetSendRtpHeaderExtensions(kRtpVideoRotationHeaderExtension,
- webrtc::RtpExtension::kVideoRotation);
+ TestSetSendRtpHeaderExtensions(RtpExtension::kVideoRotationUri);
}
TEST_F(WebRtcVideoChannel2Test, RecvVideoRotationHeaderExtensions) {
- TestSetRecvRtpHeaderExtensions(kRtpVideoRotationHeaderExtension,
- webrtc::RtpExtension::kVideoRotation);
+ TestSetRecvRtpHeaderExtensions(RtpExtension::kVideoRotationUri);
}
TEST_F(WebRtcVideoChannel2Test, IdenticalSendExtensionsDoesntRecreateStream) {
const int kAbsSendTimeId = 1;
const int kVideoRotationId = 2;
- send_parameters_.extensions.push_back(cricket::RtpHeaderExtension(
- kRtpAbsoluteSenderTimeHeaderExtension, kAbsSendTimeId));
- send_parameters_.extensions.push_back(cricket::RtpHeaderExtension(
- kRtpVideoRotationHeaderExtension, kVideoRotationId));
+ send_parameters_.extensions.push_back(
+ RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeId));
+ send_parameters_.extensions.push_back(
+ RtpExtension(RtpExtension::kVideoRotationUri, kVideoRotationId));
EXPECT_TRUE(channel_->SetSendParameters(send_parameters_));
FakeVideoSendStream* send_stream =
@@ -1319,12 +1307,12 @@
const int kTOffsetId = 1;
const int kAbsSendTimeId = 2;
const int kVideoRotationId = 3;
- recv_parameters_.extensions.push_back(cricket::RtpHeaderExtension(
- kRtpAbsoluteSenderTimeHeaderExtension, kAbsSendTimeId));
- recv_parameters_.extensions.push_back(cricket::RtpHeaderExtension(
- kRtpTimestampOffsetHeaderExtension, kTOffsetId));
- recv_parameters_.extensions.push_back(cricket::RtpHeaderExtension(
- kRtpVideoRotationHeaderExtension, kVideoRotationId));
+ recv_parameters_.extensions.push_back(
+ RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeId));
+ recv_parameters_.extensions.push_back(
+ RtpExtension(RtpExtension::kTimestampOffsetUri, kTOffsetId));
+ recv_parameters_.extensions.push_back(
+ RtpExtension(RtpExtension::kVideoRotationUri, kVideoRotationId));
EXPECT_TRUE(channel_->SetRecvParameters(recv_parameters_));
FakeVideoReceiveStream* recv_stream =
@@ -1354,9 +1342,9 @@
const int kTOffsetId = 2;
send_parameters_.extensions.push_back(
- cricket::RtpHeaderExtension(kUnsupportedExtensionName, kUnsupportedId));
+ RtpExtension(kUnsupportedExtensionName, kUnsupportedId));
send_parameters_.extensions.push_back(
- cricket::RtpHeaderExtension(webrtc::RtpExtension::kTOffset, kTOffsetId));
+ RtpExtension(RtpExtension::kTimestampOffsetUri, kTOffsetId));
EXPECT_TRUE(channel_->SetSendParameters(send_parameters_));
FakeVideoSendStream* send_stream =
AddSendStream(cricket::StreamParams::CreateLegacy(123));
@@ -1364,8 +1352,8 @@
// Only timestamp offset extension is set to send stream,
// unsupported rtp extension is ignored.
ASSERT_EQ(1u, send_stream->GetConfig().rtp.extensions.size());
- EXPECT_STREQ(webrtc::RtpExtension::kTOffset,
- send_stream->GetConfig().rtp.extensions[0].name.c_str());
+ EXPECT_STREQ(RtpExtension::kTimestampOffsetUri,
+ send_stream->GetConfig().rtp.extensions[0].uri.c_str());
}
TEST_F(WebRtcVideoChannel2Test,
@@ -1374,9 +1362,9 @@
const int kTOffsetId = 2;
recv_parameters_.extensions.push_back(
- cricket::RtpHeaderExtension(kUnsupportedExtensionName, kUnsupportedId));
+ RtpExtension(kUnsupportedExtensionName, kUnsupportedId));
recv_parameters_.extensions.push_back(
- cricket::RtpHeaderExtension(webrtc::RtpExtension::kTOffset, kTOffsetId));
+ RtpExtension(RtpExtension::kTimestampOffsetUri, kTOffsetId));
EXPECT_TRUE(channel_->SetRecvParameters(recv_parameters_));
FakeVideoReceiveStream* recv_stream =
AddRecvStream(cricket::StreamParams::CreateLegacy(123));
@@ -1384,15 +1372,15 @@
// Only timestamp offset extension is set to receive stream,
// unsupported rtp extension is ignored.
ASSERT_EQ(1u, recv_stream->GetConfig().rtp.extensions.size());
- EXPECT_STREQ(webrtc::RtpExtension::kTOffset,
- recv_stream->GetConfig().rtp.extensions[0].name.c_str());
+ EXPECT_STREQ(RtpExtension::kTimestampOffsetUri,
+ recv_stream->GetConfig().rtp.extensions[0].uri.c_str());
}
TEST_F(WebRtcVideoChannel2Test, SetSendRtpHeaderExtensionsRejectsIncorrectIds) {
const int kIncorrectIds[] = {-2, -1, 0, 15, 16};
for (size_t i = 0; i < arraysize(kIncorrectIds); ++i) {
- send_parameters_.extensions.push_back(cricket::RtpHeaderExtension(
- webrtc::RtpExtension::kTOffset, kIncorrectIds[i]));
+ send_parameters_.extensions.push_back(
+ RtpExtension(RtpExtension::kTimestampOffsetUri, kIncorrectIds[i]));
EXPECT_FALSE(channel_->SetSendParameters(send_parameters_))
<< "Bad extension id '" << kIncorrectIds[i] << "' accepted.";
}
@@ -1401,8 +1389,8 @@
TEST_F(WebRtcVideoChannel2Test, SetRecvRtpHeaderExtensionsRejectsIncorrectIds) {
const int kIncorrectIds[] = {-2, -1, 0, 15, 16};
for (size_t i = 0; i < arraysize(kIncorrectIds); ++i) {
- recv_parameters_.extensions.push_back(cricket::RtpHeaderExtension(
- webrtc::RtpExtension::kTOffset, kIncorrectIds[i]));
+ recv_parameters_.extensions.push_back(
+ RtpExtension(RtpExtension::kTimestampOffsetUri, kIncorrectIds[i]));
EXPECT_FALSE(channel_->SetRecvParameters(recv_parameters_))
<< "Bad extension id '" << kIncorrectIds[i] << "' accepted.";
}
@@ -1411,15 +1399,15 @@
TEST_F(WebRtcVideoChannel2Test, SetSendRtpHeaderExtensionsRejectsDuplicateIds) {
const int id = 1;
send_parameters_.extensions.push_back(
- cricket::RtpHeaderExtension(webrtc::RtpExtension::kTOffset, id));
+ RtpExtension(RtpExtension::kTimestampOffsetUri, id));
send_parameters_.extensions.push_back(
- cricket::RtpHeaderExtension(kRtpAbsoluteSenderTimeHeaderExtension, id));
+ RtpExtension(RtpExtension::kAbsSendTimeUri, id));
EXPECT_FALSE(channel_->SetSendParameters(send_parameters_));
// Duplicate entries are also not supported.
send_parameters_.extensions.clear();
send_parameters_.extensions.push_back(
- cricket::RtpHeaderExtension(webrtc::RtpExtension::kTOffset, id));
+ RtpExtension(RtpExtension::kTimestampOffsetUri, id));
send_parameters_.extensions.push_back(send_parameters_.extensions.back());
EXPECT_FALSE(channel_->SetSendParameters(send_parameters_));
}
@@ -1427,15 +1415,15 @@
TEST_F(WebRtcVideoChannel2Test, SetRecvRtpHeaderExtensionsRejectsDuplicateIds) {
const int id = 1;
recv_parameters_.extensions.push_back(
- cricket::RtpHeaderExtension(webrtc::RtpExtension::kTOffset, id));
+ RtpExtension(RtpExtension::kTimestampOffsetUri, id));
recv_parameters_.extensions.push_back(
- cricket::RtpHeaderExtension(kRtpAbsoluteSenderTimeHeaderExtension, id));
+ RtpExtension(RtpExtension::kAbsSendTimeUri, id));
EXPECT_FALSE(channel_->SetRecvParameters(recv_parameters_));
// Duplicate entries are also not supported.
recv_parameters_.extensions.clear();
recv_parameters_.extensions.push_back(
- cricket::RtpHeaderExtension(webrtc::RtpExtension::kTOffset, id));
+ RtpExtension(RtpExtension::kTimestampOffsetUri, id));
recv_parameters_.extensions.push_back(recv_parameters_.extensions.back());
EXPECT_FALSE(channel_->SetRecvParameters(recv_parameters_));
}
diff --git a/webrtc/media/engine/webrtcvoiceengine.cc b/webrtc/media/engine/webrtcvoiceengine.cc
index 09a072a..95b08e7 100644
--- a/webrtc/media/engine/webrtcvoiceengine.cc
+++ b/webrtc/media/engine/webrtcvoiceengine.cc
@@ -951,16 +951,17 @@
RtpCapabilities WebRtcVoiceEngine::GetCapabilities() const {
RTC_DCHECK(signal_thread_checker_.CalledOnValidThread());
RtpCapabilities capabilities;
- capabilities.header_extensions.push_back(RtpHeaderExtension(
- kRtpAudioLevelHeaderExtension, kRtpAudioLevelHeaderExtensionDefaultId));
capabilities.header_extensions.push_back(
- RtpHeaderExtension(kRtpAbsoluteSenderTimeHeaderExtension,
- kRtpAbsoluteSenderTimeHeaderExtensionDefaultId));
+ webrtc::RtpExtension(webrtc::RtpExtension::kAudioLevelUri,
+ webrtc::RtpExtension::kAudioLevelDefaultId));
+ capabilities.header_extensions.push_back(
+ webrtc::RtpExtension(webrtc::RtpExtension::kAbsSendTimeUri,
+ webrtc::RtpExtension::kAbsSendTimeDefaultId));
if (webrtc::field_trial::FindFullName("WebRTC-Audio-SendSideBwe") ==
"Enabled") {
- capabilities.header_extensions.push_back(RtpHeaderExtension(
- kRtpTransportSequenceNumberHeaderExtension,
- kRtpTransportSequenceNumberHeaderExtensionDefaultId));
+ capabilities.header_extensions.push_back(webrtc::RtpExtension(
+ webrtc::RtpExtension::kTransportSequenceNumberUri,
+ webrtc::RtpExtension::kTransportSequenceNumberDefaultId));
}
return capabilities;
}
diff --git a/webrtc/media/engine/webrtcvoiceengine_unittest.cc b/webrtc/media/engine/webrtcvoiceengine_unittest.cc
index 4446e27..337f1d5 100644
--- a/webrtc/media/engine/webrtcvoiceengine_unittest.cc
+++ b/webrtc/media/engine/webrtcvoiceengine_unittest.cc
@@ -26,8 +26,6 @@
#include "webrtc/media/engine/webrtcvoiceengine.h"
#include "webrtc/modules/audio_device/include/mock_audio_device.h"
-using cricket::kRtpAudioLevelHeaderExtension;
-using cricket::kRtpAbsoluteSenderTimeHeaderExtension;
using testing::Return;
using testing::StrictMock;
@@ -289,8 +287,8 @@
EXPECT_EQ(0u, GetSendStreamConfig(kSsrc1).rtp.extensions.size());
// Ensure unknown extensions won't cause an error.
- send_parameters_.extensions.push_back(cricket::RtpHeaderExtension(
- "urn:ietf:params:unknownextention", 1));
+ send_parameters_.extensions.push_back(
+ webrtc::RtpExtension("urn:ietf:params:unknownextention", 1));
EXPECT_TRUE(channel_->SetSendParameters(send_parameters_));
EXPECT_EQ(0u, GetSendStreamConfig(kSsrc1).rtp.extensions.size());
@@ -301,10 +299,10 @@
// Ensure extension is set properly.
const int id = 1;
- send_parameters_.extensions.push_back(cricket::RtpHeaderExtension(ext, id));
+ send_parameters_.extensions.push_back(webrtc::RtpExtension(ext, id));
EXPECT_TRUE(channel_->SetSendParameters(send_parameters_));
EXPECT_EQ(1u, GetSendStreamConfig(kSsrc1).rtp.extensions.size());
- EXPECT_EQ(ext, GetSendStreamConfig(kSsrc1).rtp.extensions[0].name);
+ EXPECT_EQ(ext, GetSendStreamConfig(kSsrc1).rtp.extensions[0].uri);
EXPECT_EQ(id, GetSendStreamConfig(kSsrc1).rtp.extensions[0].id);
// Ensure extension is set properly on new stream.
@@ -313,7 +311,7 @@
EXPECT_NE(call_.GetAudioSendStream(kSsrc1),
call_.GetAudioSendStream(kSsrc2));
EXPECT_EQ(1u, GetSendStreamConfig(kSsrc2).rtp.extensions.size());
- EXPECT_EQ(ext, GetSendStreamConfig(kSsrc2).rtp.extensions[0].name);
+ EXPECT_EQ(ext, GetSendStreamConfig(kSsrc2).rtp.extensions[0].uri);
EXPECT_EQ(id, GetSendStreamConfig(kSsrc2).rtp.extensions[0].id);
// Ensure all extensions go back off with an empty list.
@@ -331,8 +329,8 @@
EXPECT_EQ(0u, GetRecvStreamConfig(kSsrc1).rtp.extensions.size());
// Ensure unknown extensions won't cause an error.
- recv_parameters_.extensions.push_back(cricket::RtpHeaderExtension(
- "urn:ietf:params:unknownextention", 1));
+ recv_parameters_.extensions.push_back(
+ webrtc::RtpExtension("urn:ietf:params:unknownextention", 1));
EXPECT_TRUE(channel_->SetRecvParameters(recv_parameters_));
EXPECT_EQ(0u, GetRecvStreamConfig(kSsrc1).rtp.extensions.size());
@@ -343,10 +341,10 @@
// Ensure extension is set properly.
const int id = 2;
- recv_parameters_.extensions.push_back(cricket::RtpHeaderExtension(ext, id));
+ recv_parameters_.extensions.push_back(webrtc::RtpExtension(ext, id));
EXPECT_TRUE(channel_->SetRecvParameters(recv_parameters_));
EXPECT_EQ(1u, GetRecvStreamConfig(kSsrc1).rtp.extensions.size());
- EXPECT_EQ(ext, GetRecvStreamConfig(kSsrc1).rtp.extensions[0].name);
+ EXPECT_EQ(ext, GetRecvStreamConfig(kSsrc1).rtp.extensions[0].uri);
EXPECT_EQ(id, GetRecvStreamConfig(kSsrc1).rtp.extensions[0].id);
// Ensure extension is set properly on new stream.
@@ -355,7 +353,7 @@
EXPECT_NE(call_.GetAudioReceiveStream(kSsrc1),
call_.GetAudioReceiveStream(kSsrc2));
EXPECT_EQ(1u, GetRecvStreamConfig(kSsrc2).rtp.extensions.size());
- EXPECT_EQ(ext, GetRecvStreamConfig(kSsrc2).rtp.extensions[0].name);
+ EXPECT_EQ(ext, GetRecvStreamConfig(kSsrc2).rtp.extensions[0].uri);
EXPECT_EQ(id, GetRecvStreamConfig(kSsrc2).rtp.extensions[0].id);
// Ensure all extensions go back off with an empty list.
@@ -2253,10 +2251,9 @@
SupportsTransportSequenceNumberHeaderExtension) {
cricket::RtpCapabilities capabilities = engine_->GetCapabilities();
ASSERT_FALSE(capabilities.header_extensions.empty());
- for (const cricket::RtpHeaderExtension& extension :
- capabilities.header_extensions) {
- if (extension.uri == cricket::kRtpTransportSequenceNumberHeaderExtension) {
- EXPECT_EQ(cricket::kRtpTransportSequenceNumberHeaderExtensionDefaultId,
+ for (const webrtc::RtpExtension& extension : capabilities.header_extensions) {
+ if (extension.uri == webrtc::RtpExtension::kTransportSequenceNumberUri) {
+ EXPECT_EQ(webrtc::RtpExtension::kTransportSequenceNumberDefaultId,
extension.id);
return;
}
@@ -2266,18 +2263,18 @@
// Test support for audio level header extension.
TEST_F(WebRtcVoiceEngineTestFake, SendAudioLevelHeaderExtensions) {
- TestSetSendRtpHeaderExtensions(kRtpAudioLevelHeaderExtension);
+ TestSetSendRtpHeaderExtensions(webrtc::RtpExtension::kAudioLevelUri);
}
TEST_F(WebRtcVoiceEngineTestFake, RecvAudioLevelHeaderExtensions) {
- TestSetRecvRtpHeaderExtensions(kRtpAudioLevelHeaderExtension);
+ TestSetRecvRtpHeaderExtensions(webrtc::RtpExtension::kAudioLevelUri);
}
// Test support for absolute send time header extension.
TEST_F(WebRtcVoiceEngineTestFake, SendAbsoluteSendTimeHeaderExtensions) {
- TestSetSendRtpHeaderExtensions(kRtpAbsoluteSenderTimeHeaderExtension);
+ TestSetSendRtpHeaderExtensions(webrtc::RtpExtension::kAbsSendTimeUri);
}
TEST_F(WebRtcVoiceEngineTestFake, RecvAbsoluteSendTimeHeaderExtensions) {
- TestSetRecvRtpHeaderExtensions(kRtpAbsoluteSenderTimeHeaderExtension);
+ TestSetRecvRtpHeaderExtensions(webrtc::RtpExtension::kAbsSendTimeUri);
}
// Test that we can create a channel and start sending on it.
@@ -2315,7 +2312,7 @@
// Changing RTP header extensions will recreate the AudioSendStream.
send_parameters_.extensions.push_back(
- cricket::RtpHeaderExtension(kRtpAudioLevelHeaderExtension, 12));
+ webrtc::RtpExtension(webrtc::RtpExtension::kAudioLevelUri, 12));
EXPECT_TRUE(channel_->SetSendParameters(send_parameters_));
EXPECT_TRUE(GetSendStream(kSsrc1).IsSending());
@@ -3383,7 +3380,7 @@
for (const auto& e_ext : capabilities.header_extensions) {
for (const auto& s_ext : s_exts) {
if (e_ext.id == s_ext.id) {
- EXPECT_EQ(e_ext.uri, s_ext.name);
+ EXPECT_EQ(e_ext.uri, s_ext.uri);
}
}
}
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
index 214472f..2a9220d 100644
--- a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
+++ b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
@@ -29,15 +29,15 @@
namespace webrtc {
RTPExtensionType StringToRtpExtensionType(const std::string& extension) {
- if (extension == RtpExtension::kTOffset)
+ if (extension == RtpExtension::kTimestampOffsetUri)
return kRtpExtensionTransmissionTimeOffset;
- if (extension == RtpExtension::kAudioLevel)
+ if (extension == RtpExtension::kAudioLevelUri)
return kRtpExtensionAudioLevel;
- if (extension == RtpExtension::kAbsSendTime)
+ if (extension == RtpExtension::kAbsSendTimeUri)
return kRtpExtensionAbsoluteSendTime;
- if (extension == RtpExtension::kVideoRotation)
+ if (extension == RtpExtension::kVideoRotationUri)
return kRtpExtensionVideoRotation;
- if (extension == RtpExtension::kTransportSequenceNumber)
+ if (extension == RtpExtension::kTransportSequenceNumberUri)
return kRtpExtensionTransportSequenceNumber;
RTC_NOTREACHED() << "Looking up unsupported RTP extension.";
return kRtpExtensionNone;
diff --git a/webrtc/pc/channel.cc b/webrtc/pc/channel.cc
index 97c1d66..cac0ea2 100644
--- a/webrtc/pc/channel.cc
+++ b/webrtc/pc/channel.cc
@@ -43,6 +43,20 @@
rtc::PacketOptions options;
};
+#if defined(ENABLE_EXTERNAL_AUTH)
+// Returns the named header extension if found among all extensions,
+// nullptr otherwise.
+const webrtc::RtpExtension* FindHeaderExtension(
+ const std::vector<webrtc::RtpExtension>& extensions,
+ const std::string& uri) {
+ for (const auto& extension : extensions) {
+ if (extension.uri == uri)
+ return &extension;
+ }
+ return nullptr;
+}
+#endif
+
} // namespace
enum {
@@ -1390,13 +1404,13 @@
}
void BaseChannel::MaybeCacheRtpAbsSendTimeHeaderExtension_w(
- const std::vector<RtpHeaderExtension>& extensions) {
+ const std::vector<webrtc::RtpExtension>& extensions) {
// Absolute Send Time extension id is used only with external auth,
// so do not bother searching for it and making asyncronious call to set
// something that is not used.
#if defined(ENABLE_EXTERNAL_AUTH)
- const RtpHeaderExtension* send_time_extension =
- FindHeaderExtension(extensions, kRtpAbsoluteSenderTimeHeaderExtension);
+ const webrtc::RtpExtension* send_time_extension =
+ FindHeaderExtension(extensions, webrtc::RtpExtension::kAbsSendTimeUri);
int rtp_abs_sendtime_extn_id =
send_time_extension ? send_time_extension->id : -1;
invoker_.AsyncInvoke<void>(
diff --git a/webrtc/pc/channel.h b/webrtc/pc/channel.h
index d9f5fd6..3305d0e 100644
--- a/webrtc/pc/channel.h
+++ b/webrtc/pc/channel.h
@@ -282,7 +282,7 @@
// Helper method to get RTP Absoulute SendTime extension header id if
// present in remote supported extensions list.
void MaybeCacheRtpAbsSendTimeHeaderExtension_w(
- const std::vector<RtpHeaderExtension>& extensions);
+ const std::vector<webrtc::RtpExtension>& extensions);
bool CheckSrtpConfig_n(const std::vector<CryptoParams>& cryptos,
bool* dtls,
diff --git a/webrtc/pc/mediasession.cc b/webrtc/pc/mediasession.cc
index 0fa20d8..358f92d 100644
--- a/webrtc/pc/mediasession.cc
+++ b/webrtc/pc/mediasession.cc
@@ -374,11 +374,10 @@
// Helper class used for finding duplicate RTP Header extension ids among
// audio and video extensions.
-class UsedRtpHeaderExtensionIds : public UsedIds<RtpHeaderExtension> {
+class UsedRtpHeaderExtensionIds : public UsedIds<webrtc::RtpExtension> {
public:
UsedRtpHeaderExtensionIds()
- : UsedIds<RtpHeaderExtension>(kLocalIdMin, kLocalIdMax) {
- }
+ : UsedIds<webrtc::RtpExtension>(kLocalIdMin, kLocalIdMax) {}
private:
// Min and Max local identifier for one-byte header extensions, per RFC5285.
@@ -890,10 +889,9 @@
}
}
-
static bool FindByUri(const RtpHeaderExtensions& extensions,
- const RtpHeaderExtension& ext_to_match,
- RtpHeaderExtension* found_extension) {
+ const webrtc::RtpExtension& ext_to_match,
+ webrtc::RtpExtension* found_extension) {
for (RtpHeaderExtensions::const_iterator it = extensions.begin();
it != extensions.end(); ++it) {
// We assume that all URIs are given in a canonical format.
@@ -915,7 +913,7 @@
RtpHeaderExtensions* all_extensions,
UsedRtpHeaderExtensionIds* used_ids) {
for (auto& extension : *offered_extensions) {
- RtpHeaderExtension existing;
+ webrtc::RtpExtension existing;
if (FindByUri(*all_extensions, extension, &existing)) {
extension.id = existing.id;
} else {
@@ -934,7 +932,7 @@
UsedRtpHeaderExtensionIds* used_ids) {
for (auto reference_extension : reference_extensions) {
if (!FindByUri(*offered_extensions, reference_extension, NULL)) {
- RtpHeaderExtension existing;
+ webrtc::RtpExtension existing;
if (FindByUri(*all_extensions, reference_extension, &existing)) {
offered_extensions->push_back(existing);
} else {
@@ -953,7 +951,7 @@
RtpHeaderExtensions::const_iterator ours;
for (ours = local_extensions.begin();
ours != local_extensions.end(); ++ours) {
- RtpHeaderExtension theirs;
+ webrtc::RtpExtension theirs;
if (FindByUri(offered_extensions, *ours, &theirs)) {
// We respond with their RTP header extension id.
negotiated_extenstions->push_back(theirs);
diff --git a/webrtc/pc/mediasession.h b/webrtc/pc/mediasession.h
index 22291c4..0a04bcf 100644
--- a/webrtc/pc/mediasession.h
+++ b/webrtc/pc/mediasession.h
@@ -35,7 +35,7 @@
typedef std::vector<VideoCodec> VideoCodecs;
typedef std::vector<DataCodec> DataCodecs;
typedef std::vector<CryptoParams> CryptoParamsVec;
-typedef std::vector<RtpHeaderExtension> RtpHeaderExtensions;
+typedef std::vector<webrtc::RtpExtension> RtpHeaderExtensions;
enum MediaType {
MEDIA_TYPE_AUDIO,
@@ -205,7 +205,7 @@
rtp_header_extensions_ = extensions;
rtp_header_extensions_set_ = true;
}
- void AddRtpHeaderExtension(const RtpHeaderExtension& ext) {
+ void AddRtpHeaderExtension(const webrtc::RtpExtension& ext) {
rtp_header_extensions_.push_back(ext);
rtp_header_extensions_set_ = true;
}
@@ -284,7 +284,7 @@
std::string protocol_;
std::vector<CryptoParams> cryptos_;
CryptoType crypto_required_ = CT_NONE;
- std::vector<RtpHeaderExtension> rtp_header_extensions_;
+ std::vector<webrtc::RtpExtension> rtp_header_extensions_;
bool rtp_header_extensions_set_ = false;
bool multistream_ = false;
StreamParamsVec streams_;
diff --git a/webrtc/pc/mediasession_unittest.cc b/webrtc/pc/mediasession_unittest.cc
index b14bd80..753db83 100644
--- a/webrtc/pc/mediasession_unittest.cc
+++ b/webrtc/pc/mediasession_unittest.cc
@@ -67,12 +67,12 @@
using cricket::MEDIA_TYPE_AUDIO;
using cricket::MEDIA_TYPE_VIDEO;
using cricket::MEDIA_TYPE_DATA;
-using cricket::RtpHeaderExtension;
using cricket::SEC_DISABLED;
using cricket::SEC_ENABLED;
using cricket::SEC_REQUIRED;
using rtc::CS_AES_CM_128_HMAC_SHA1_32;
using rtc::CS_AES_CM_128_HMAC_SHA1_80;
+using webrtc::RtpExtension;
static const AudioCodec kAudioCodecs1[] = {
AudioCodec(103, "ISAC", 16000, -1, 1),
@@ -113,44 +113,44 @@
static const DataCodec kDataCodecsAnswer[] = {DataCodec(98, "binary-data"),
DataCodec(99, "utf8-text")};
-static const RtpHeaderExtension kAudioRtpExtension1[] = {
- RtpHeaderExtension("urn:ietf:params:rtp-hdrext:ssrc-audio-level", 8),
- RtpHeaderExtension("http://google.com/testing/audio_something", 10),
+static const RtpExtension kAudioRtpExtension1[] = {
+ RtpExtension("urn:ietf:params:rtp-hdrext:ssrc-audio-level", 8),
+ RtpExtension("http://google.com/testing/audio_something", 10),
};
-static const RtpHeaderExtension kAudioRtpExtension2[] = {
- RtpHeaderExtension("urn:ietf:params:rtp-hdrext:ssrc-audio-level", 2),
- RtpHeaderExtension("http://google.com/testing/audio_something_else", 8),
- RtpHeaderExtension("http://google.com/testing/both_audio_and_video", 7),
+static const RtpExtension kAudioRtpExtension2[] = {
+ RtpExtension("urn:ietf:params:rtp-hdrext:ssrc-audio-level", 2),
+ RtpExtension("http://google.com/testing/audio_something_else", 8),
+ RtpExtension("http://google.com/testing/both_audio_and_video", 7),
};
-static const RtpHeaderExtension kAudioRtpExtension3[] = {
- RtpHeaderExtension("http://google.com/testing/audio_something", 2),
- RtpHeaderExtension("http://google.com/testing/both_audio_and_video", 3),
+static const RtpExtension kAudioRtpExtension3[] = {
+ RtpExtension("http://google.com/testing/audio_something", 2),
+ RtpExtension("http://google.com/testing/both_audio_and_video", 3),
};
-static const RtpHeaderExtension kAudioRtpExtensionAnswer[] = {
- RtpHeaderExtension("urn:ietf:params:rtp-hdrext:ssrc-audio-level", 8),
+static const RtpExtension kAudioRtpExtensionAnswer[] = {
+ RtpExtension("urn:ietf:params:rtp-hdrext:ssrc-audio-level", 8),
};
-static const RtpHeaderExtension kVideoRtpExtension1[] = {
- RtpHeaderExtension("urn:ietf:params:rtp-hdrext:toffset", 14),
- RtpHeaderExtension("http://google.com/testing/video_something", 13),
+static const RtpExtension kVideoRtpExtension1[] = {
+ RtpExtension("urn:ietf:params:rtp-hdrext:toffset", 14),
+ RtpExtension("http://google.com/testing/video_something", 13),
};
-static const RtpHeaderExtension kVideoRtpExtension2[] = {
- RtpHeaderExtension("urn:ietf:params:rtp-hdrext:toffset", 2),
- RtpHeaderExtension("http://google.com/testing/video_something_else", 14),
- RtpHeaderExtension("http://google.com/testing/both_audio_and_video", 7),
+static const RtpExtension kVideoRtpExtension2[] = {
+ RtpExtension("urn:ietf:params:rtp-hdrext:toffset", 2),
+ RtpExtension("http://google.com/testing/video_something_else", 14),
+ RtpExtension("http://google.com/testing/both_audio_and_video", 7),
};
-static const RtpHeaderExtension kVideoRtpExtension3[] = {
- RtpHeaderExtension("http://google.com/testing/video_something", 4),
- RtpHeaderExtension("http://google.com/testing/both_audio_and_video", 5),
+static const RtpExtension kVideoRtpExtension3[] = {
+ RtpExtension("http://google.com/testing/video_something", 4),
+ RtpExtension("http://google.com/testing/both_audio_and_video", 5),
};
-static const RtpHeaderExtension kVideoRtpExtensionAnswer[] = {
- RtpHeaderExtension("urn:ietf:params:rtp-hdrext:toffset", 14),
+static const RtpExtension kVideoRtpExtensionAnswer[] = {
+ RtpExtension("urn:ietf:params:rtp-hdrext:toffset", 14),
};
static const uint32_t kSimulcastParamsSsrc[] = {10, 11, 20, 21, 30, 31};
@@ -1904,18 +1904,16 @@
// |f2_| offer.
// Since the default local extension id |f2_| uses has already been used by
// |f1_| for another extensions, it is changed to 13.
- const RtpHeaderExtension kUpdatedAudioRtpExtensions[] = {
- kAudioRtpExtensionAnswer[0],
- RtpHeaderExtension(kAudioRtpExtension2[1].uri, 13),
- kAudioRtpExtension2[2],
+ const RtpExtension kUpdatedAudioRtpExtensions[] = {
+ kAudioRtpExtensionAnswer[0], RtpExtension(kAudioRtpExtension2[1].uri, 13),
+ kAudioRtpExtension2[2],
};
// Since the default local extension id |f2_| uses has already been used by
// |f1_| for another extensions, is is changed to 12.
- const RtpHeaderExtension kUpdatedVideoRtpExtensions[] = {
- kVideoRtpExtensionAnswer[0],
- RtpHeaderExtension(kVideoRtpExtension2[1].uri, 12),
- kVideoRtpExtension2[2],
+ const RtpExtension kUpdatedVideoRtpExtensions[] = {
+ kVideoRtpExtensionAnswer[0], RtpExtension(kVideoRtpExtension2[1].uri, 12),
+ kVideoRtpExtension2[2],
};
const AudioContentDescription* updated_acd =
@@ -1932,8 +1930,7 @@
// Verify that if the same RTP extension URI is used for audio and video, the
// same ID is used. Also verify that the ID isn't changed when creating an
// updated offer (this was previously a bug).
-TEST_F(MediaSessionDescriptionFactoryTest,
- RtpHeaderExtensionIdReused) {
+TEST_F(MediaSessionDescriptionFactoryTest, RtpExtensionIdReused) {
MediaSessionOptions opts;
opts.recv_audio = true;
opts.recv_video = true;
@@ -1945,9 +1942,8 @@
// Since the audio extensions used ID 3 for "both_audio_and_video", so should
// the video extensions.
- const RtpHeaderExtension kExpectedVideoRtpExtension[] = {
- kVideoRtpExtension3[0],
- kAudioRtpExtension3[1],
+ const RtpExtension kExpectedVideoRtpExtension[] = {
+ kVideoRtpExtension3[0], kAudioRtpExtension3[1],
};
EXPECT_EQ(MAKE_VECTOR(kAudioRtpExtension3),
diff --git a/webrtc/test/call_test.cc b/webrtc/test/call_test.cc
index 768c007..8da747a 100644
--- a/webrtc/test/call_test.cc
+++ b/webrtc/test/call_test.cc
@@ -184,12 +184,12 @@
video_send_config_.encoder_settings.payload_type =
kFakeVideoSendPayloadType;
video_send_config_.rtp.extensions.push_back(
- RtpExtension(RtpExtension::kAbsSendTime, kAbsSendTimeExtensionId));
+ RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeExtensionId));
video_encoder_config_.streams = test::CreateVideoStreams(num_video_streams);
for (size_t i = 0; i < num_video_streams; ++i)
video_send_config_.rtp.ssrcs.push_back(kVideoSendSsrcs[i]);
video_send_config_.rtp.extensions.push_back(RtpExtension(
- RtpExtension::kVideoRotation, kVideoRotationRtpExtensionId));
+ RtpExtension::kVideoRotationUri, kVideoRotationRtpExtensionId));
}
if (num_audio_streams > 0) {
diff --git a/webrtc/video/end_to_end_tests.cc b/webrtc/video/end_to_end_tests.cc
index 607d654..f785199 100644
--- a/webrtc/video/end_to_end_tests.cc
+++ b/webrtc/video/end_to_end_tests.cc
@@ -1432,8 +1432,8 @@
VideoEncoderConfig* encoder_config,
test::FrameGeneratorCapturer** frame_generator) override {
send_config->rtp.extensions.clear();
- send_config->rtp.extensions.push_back(
- RtpExtension(RtpExtension::kTransportSequenceNumber, kExtensionId));
+ send_config->rtp.extensions.push_back(RtpExtension(
+ RtpExtension::kTransportSequenceNumberUri, kExtensionId));
// Force some padding to be sent.
const int kPaddingBitrateBps = 50000;
@@ -1459,8 +1459,8 @@
VideoReceiveStream::Config* receive_config) override {
receive_config->rtp.nack.rtp_history_ms = kNackRtpHistoryMs;
receive_config->rtp.extensions.clear();
- receive_config->rtp.extensions.push_back(
- RtpExtension(RtpExtension::kTransportSequenceNumber, kExtensionId));
+ receive_config->rtp.extensions.push_back(RtpExtension(
+ RtpExtension::kTransportSequenceNumberUri, kExtensionId));
}
test::DirectTransport* CreateSendTransport(Call* sender_call) override {
@@ -1539,7 +1539,7 @@
VideoEncoderConfig* encoder_config) override {
send_config->rtp.extensions.clear();
send_config->rtp.extensions.push_back(
- RtpExtension(RtpExtension::kTransportSequenceNumber, kExtensionId));
+ RtpExtension(RtpExtension::kTransportSequenceNumberUri, kExtensionId));
(*receive_configs)[0].rtp.extensions = send_config->rtp.extensions;
(*receive_configs)[0].rtp.transport_cc = feedback_enabled_;
}
@@ -1549,7 +1549,7 @@
std::vector<AudioReceiveStream::Config>* receive_configs) override {
send_config->rtp.extensions.clear();
send_config->rtp.extensions.push_back(
- RtpExtension(RtpExtension::kTransportSequenceNumber, kExtensionId));
+ RtpExtension(RtpExtension::kTransportSequenceNumberUri, kExtensionId));
(*receive_configs)[0].rtp.extensions.clear();
(*receive_configs)[0].rtp.extensions = send_config->rtp.extensions;
(*receive_configs)[0].rtp.transport_cc = feedback_enabled_;
@@ -1787,7 +1787,7 @@
ASSERT_EQ(1u, send_config->rtp.ssrcs.size());
send_config->rtp.extensions.clear();
send_config->rtp.extensions.push_back(
- RtpExtension(RtpExtension::kTransportSequenceNumber,
+ RtpExtension(RtpExtension::kTransportSequenceNumberUri,
test::kTransportSequenceNumberExtensionId));
sender_ssrc_ = send_config->rtp.ssrcs[0];
@@ -3452,8 +3452,8 @@
std::vector<VideoReceiveStream::Config>* receive_configs,
VideoEncoderConfig* encoder_config) override {
send_config->rtp.extensions.clear();
- send_config->rtp.extensions.push_back(
- RtpExtension(RtpExtension::kTransportSequenceNumber, kExtensionId));
+ send_config->rtp.extensions.push_back(RtpExtension(
+ RtpExtension::kTransportSequenceNumberUri, kExtensionId));
(*receive_configs)[0].rtp.extensions = send_config->rtp.extensions;
}
@@ -3461,8 +3461,8 @@
AudioSendStream::Config* send_config,
std::vector<AudioReceiveStream::Config>* receive_configs) override {
send_config->rtp.extensions.clear();
- send_config->rtp.extensions.push_back(
- RtpExtension(RtpExtension::kTransportSequenceNumber, kExtensionId));
+ send_config->rtp.extensions.push_back(RtpExtension(
+ RtpExtension::kTransportSequenceNumberUri, kExtensionId));
(*receive_configs)[0].rtp.extensions.clear();
(*receive_configs)[0].rtp.extensions = send_config->rtp.extensions;
}
diff --git a/webrtc/video/replay.cc b/webrtc/video/replay.cc
index 1dfc610..d9a1c1a 100644
--- a/webrtc/video/replay.cc
+++ b/webrtc/video/replay.cc
@@ -222,12 +222,12 @@
receive_config.rtp.fec.red_payload_type = flags::RedPayloadType();
receive_config.rtp.nack.rtp_history_ms = 1000;
if (flags::TransmissionOffsetId() != -1) {
- receive_config.rtp.extensions.push_back(
- RtpExtension(RtpExtension::kTOffset, flags::TransmissionOffsetId()));
+ receive_config.rtp.extensions.push_back(RtpExtension(
+ RtpExtension::kTimestampOffsetUri, flags::TransmissionOffsetId()));
}
if (flags::AbsSendTimeId() != -1) {
receive_config.rtp.extensions.push_back(
- RtpExtension(RtpExtension::kAbsSendTime, flags::AbsSendTimeId()));
+ RtpExtension(RtpExtension::kAbsSendTimeUri, flags::AbsSendTimeId()));
}
receive_config.renderer = &file_passthrough;
diff --git a/webrtc/video/rtp_stream_receiver.cc b/webrtc/video/rtp_stream_receiver.cc
index 98b4683..188cf74 100644
--- a/webrtc/video/rtp_stream_receiver.cc
+++ b/webrtc/video/rtp_stream_receiver.cc
@@ -127,7 +127,7 @@
}
for (size_t i = 0; i < config.rtp.extensions.size(); ++i) {
- EnableReceiveRtpHeaderExtension(config.rtp.extensions[i].name,
+ EnableReceiveRtpHeaderExtension(config.rtp.extensions[i].uri,
config.rtp.extensions[i].id);
}
diff --git a/webrtc/video/video_quality_test.cc b/webrtc/video/video_quality_test.cc
index 87ed269..94a446e 100644
--- a/webrtc/video/video_quality_test.cc
+++ b/webrtc/video/video_quality_test.cc
@@ -884,11 +884,11 @@
video_send_config_.rtp.extensions.clear();
if (params_.common.send_side_bwe) {
video_send_config_.rtp.extensions.push_back(
- RtpExtension(RtpExtension::kTransportSequenceNumber,
+ RtpExtension(RtpExtension::kTransportSequenceNumberUri,
test::kTransportSequenceNumberExtensionId));
} else {
video_send_config_.rtp.extensions.push_back(RtpExtension(
- RtpExtension::kAbsSendTime, test::kAbsSendTimeExtensionId));
+ RtpExtension::kAbsSendTimeUri, test::kAbsSendTimeExtensionId));
}
video_encoder_config_.min_transmit_bitrate_bps =
diff --git a/webrtc/video/video_receive_stream.cc b/webrtc/video/video_receive_stream.cc
index 1753db5..cee820a 100644
--- a/webrtc/video/video_receive_stream.cc
+++ b/webrtc/video/video_receive_stream.cc
@@ -35,7 +35,7 @@
if (!config.rtp.transport_cc)
return false;
for (const auto& extension : config.rtp.extensions) {
- if (extension.name == RtpExtension::kTransportSequenceNumber)
+ if (extension.uri == RtpExtension::kTransportSequenceNumberUri)
return true;
}
return false;
diff --git a/webrtc/video/video_send_stream.cc b/webrtc/video/video_send_stream.cc
index e42b923..afd9909 100644
--- a/webrtc/video/video_send_stream.cc
+++ b/webrtc/video/video_send_stream.cc
@@ -425,7 +425,7 @@
video_sender_->RegisterProtectionCallback(this);
for (size_t i = 0; i < config_.rtp.extensions.size(); ++i) {
- const std::string& extension = config_.rtp.extensions[i].name;
+ const std::string& extension = config_.rtp.extensions[i].uri;
int id = config_.rtp.extensions[i].id;
// One-byte-extension local identifiers are in the range 1-14 inclusive.
RTC_DCHECK_GE(id, 1);
diff --git a/webrtc/video/video_send_stream_tests.cc b/webrtc/video/video_send_stream_tests.cc
index 095ff4e..9c43da2 100644
--- a/webrtc/video/video_send_stream_tests.cc
+++ b/webrtc/video/video_send_stream_tests.cc
@@ -147,7 +147,7 @@
VideoEncoderConfig* encoder_config) override {
send_config->rtp.extensions.clear();
send_config->rtp.extensions.push_back(RtpExtension(
- RtpExtension::kAbsSendTime, test::kAbsSendTimeExtensionId));
+ RtpExtension::kAbsSendTimeUri, test::kAbsSendTimeExtensionId));
}
void PerformTest() override {
@@ -189,8 +189,8 @@
VideoEncoderConfig* encoder_config) override {
send_config->encoder_settings.encoder = &encoder_;
send_config->rtp.extensions.clear();
- send_config->rtp.extensions.push_back(
- RtpExtension(RtpExtension::kTOffset, test::kTOffsetExtensionId));
+ send_config->rtp.extensions.push_back(RtpExtension(
+ RtpExtension::kTimestampOffsetUri, test::kTOffsetExtensionId));
}
void PerformTest() override {
@@ -233,8 +233,8 @@
VideoEncoderConfig* encoder_config) override {
send_config->encoder_settings.encoder = &encoder_;
send_config->rtp.extensions.clear();
- send_config->rtp.extensions.push_back(
- RtpExtension(RtpExtension::kTransportSequenceNumber, kExtensionId));
+ send_config->rtp.extensions.push_back(RtpExtension(
+ RtpExtension::kTransportSequenceNumberUri, kExtensionId));
}
void PerformTest() override {
@@ -422,9 +422,9 @@
VideoSendStreamTest::kUlpfecPayloadType;
if (header_extensions_enabled_) {
send_config->rtp.extensions.push_back(RtpExtension(
- RtpExtension::kAbsSendTime, test::kAbsSendTimeExtensionId));
+ RtpExtension::kAbsSendTimeUri, test::kAbsSendTimeExtensionId));
send_config->rtp.extensions.push_back(
- RtpExtension(RtpExtension::kTransportSequenceNumber,
+ RtpExtension(RtpExtension::kTransportSequenceNumberUri,
test::kTransportSequenceNumberExtensionId));
}
(*receive_configs)[0].rtp.fec.red_payload_type =