Deprecate legacy RtpHeaderExtensionMap::Register function

Bug: None
Change-Id: Ia27ecf4d316563c5f7693162aedff535855c403b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152667
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29170}
This commit is contained in:
Danil Chapovalov
2019-09-12 17:53:04 +02:00
committed by Commit Bot
parent aa5a75d5e3
commit a74e47759e
6 changed files with 76 additions and 98 deletions

View File

@ -52,9 +52,7 @@ constexpr int kProbeMinBytes = 1000;
class PacketRouterTest : public ::testing::Test {
public:
PacketRouterTest() {
const int kTransportSequenceNumberExtensionId = 1;
extension_manager.Register(kRtpExtensionTransportSequenceNumber,
kTransportSequenceNumberExtensionId);
extension_manager.Register<TransportSequenceNumber>(/*id=*/1);
}
protected:

View File

@ -19,6 +19,7 @@
#include "api/rtp_parameters.h"
#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
#include "rtc_base/checks.h"
#include "rtc_base/deprecation.h"
namespace webrtc {
@ -51,7 +52,7 @@ class RtpHeaderExtensionMap {
}
// TODO(danilchap): Remove use of the functions below.
int32_t Register(RTPExtensionType type, int id) {
RTC_DEPRECATED int32_t Register(RTPExtensionType type, int id) {
return RegisterByType(id, type) ? 0 : -1;
}
int32_t Deregister(RTPExtensionType type);

View File

@ -214,8 +214,7 @@ TEST(RtpPacketTest, CreateMinimum) {
TEST(RtpPacketTest, CreateWithExtension) {
RtpPacketToSend::ExtensionManager extensions;
extensions.Register(kRtpExtensionTransmissionTimeOffset,
kTransmissionOffsetExtensionId);
extensions.Register<TransmissionOffset>(kTransmissionOffsetExtensionId);
RtpPacketToSend packet(&extensions);
packet.SetPayloadType(kPayloadType);
packet.SetSequenceNumber(kSeqNum);
@ -227,9 +226,8 @@ TEST(RtpPacketTest, CreateWithExtension) {
TEST(RtpPacketTest, CreateWith2Extensions) {
RtpPacketToSend::ExtensionManager extensions;
extensions.Register(kRtpExtensionTransmissionTimeOffset,
kTransmissionOffsetExtensionId);
extensions.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId);
extensions.Register<TransmissionOffset>(kTransmissionOffsetExtensionId);
extensions.Register<AudioLevel>(kAudioLevelExtensionId);
RtpPacketToSend packet(&extensions);
packet.SetPayloadType(kPayloadType);
packet.SetSequenceNumber(kSeqNum);
@ -243,10 +241,9 @@ TEST(RtpPacketTest, CreateWith2Extensions) {
TEST(RtpPacketTest, CreateWithTwoByteHeaderExtensionFirst) {
RtpPacketToSend::ExtensionManager extensions(true);
extensions.Register(kRtpExtensionTransmissionTimeOffset,
kTransmissionOffsetExtensionId);
extensions.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId);
extensions.Register(kRtpExtensionPlayoutDelay, kTwoByteExtensionId);
extensions.Register<TransmissionOffset>(kTransmissionOffsetExtensionId);
extensions.Register<AudioLevel>(kAudioLevelExtensionId);
extensions.Register<PlayoutDelayLimits>(kTwoByteExtensionId);
RtpPacketToSend packet(&extensions);
packet.SetPayloadType(kPayloadType);
packet.SetSequenceNumber(kSeqNum);
@ -264,10 +261,9 @@ TEST(RtpPacketTest, CreateWithTwoByteHeaderExtensionFirst) {
TEST(RtpPacketTest, CreateWithTwoByteHeaderExtensionLast) {
// This test will trigger RtpPacket::PromoteToTwoByteHeaderExtension().
RtpPacketToSend::ExtensionManager extensions(true);
extensions.Register(kRtpExtensionTransmissionTimeOffset,
kTransmissionOffsetExtensionId);
extensions.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId);
extensions.Register(kRtpExtensionPlayoutDelay, kTwoByteExtensionId);
extensions.Register<TransmissionOffset>(kTransmissionOffsetExtensionId);
extensions.Register<AudioLevel>(kAudioLevelExtensionId);
extensions.Register<PlayoutDelayLimits>(kTwoByteExtensionId);
RtpPacketToSend packet(&extensions);
packet.SetPayloadType(kPayloadType);
packet.SetSequenceNumber(kSeqNum);
@ -330,7 +326,7 @@ TEST(RtpPacketTest, TryToCreateWithLongMid) {
TEST(RtpPacketTest, TryToCreateTwoByteHeaderNotSupported) {
RtpPacketToSend::ExtensionManager extensions;
extensions.Register(kRtpExtensionAudioLevel, kTwoByteExtensionId);
extensions.Register<AudioLevel>(kTwoByteExtensionId);
RtpPacketToSend packet(&extensions);
// Set extension that requires two-byte header.
EXPECT_FALSE(packet.SetExtension<AudioLevel>(kVoiceActive, kAudioLevel));
@ -362,9 +358,8 @@ TEST(RtpPacketTest, CreateWithMaxSizeHeaderExtension) {
TEST(RtpPacketTest, SetReservedExtensionsAfterPayload) {
const size_t kPayloadSize = 4;
RtpPacketToSend::ExtensionManager extensions;
extensions.Register(kRtpExtensionTransmissionTimeOffset,
kTransmissionOffsetExtensionId);
extensions.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId);
extensions.Register<TransmissionOffset>(kTransmissionOffsetExtensionId);
extensions.Register<AudioLevel>(kAudioLevelExtensionId);
RtpPacketToSend packet(&extensions);
EXPECT_TRUE(packet.ReserveExtension<TransmissionOffset>());
@ -466,8 +461,7 @@ TEST(RtpPacketTest, ParseBuffer) {
TEST(RtpPacketTest, ParseWithExtension) {
RtpPacketToSend::ExtensionManager extensions;
extensions.Register(kRtpExtensionTransmissionTimeOffset,
kTransmissionOffsetExtensionId);
extensions.Register<TransmissionOffset>(kTransmissionOffsetExtensionId);
RtpPacketReceived packet(&extensions);
EXPECT_TRUE(packet.Parse(kPacketWithTO, sizeof(kPacketWithTO)));
@ -533,8 +527,7 @@ TEST(RtpPacketTest, GetRawExtensionWhenAbsent) {
TEST(RtpPacketTest, ParseWithInvalidSizedExtension) {
RtpPacketToSend::ExtensionManager extensions;
extensions.Register(kRtpExtensionTransmissionTimeOffset,
kTransmissionOffsetExtensionId);
extensions.Register<TransmissionOffset>(kTransmissionOffsetExtensionId);
RtpPacketReceived packet(&extensions);
EXPECT_TRUE(packet.Parse(kPacketWithInvalidExtension,
@ -561,7 +554,7 @@ TEST(RtpPacketTest, ParseWithOverSizedExtension) {
};
// clang-format on
RtpPacketToSend::ExtensionManager extensions;
extensions.Register(TransmissionOffset::kId, 1);
extensions.Register<TransmissionOffset>(1);
RtpPacketReceived packet(&extensions);
// Parse should ignore bad extension and proceed.
@ -573,9 +566,8 @@ TEST(RtpPacketTest, ParseWithOverSizedExtension) {
TEST(RtpPacketTest, ParseWith2Extensions) {
RtpPacketToSend::ExtensionManager extensions;
extensions.Register(kRtpExtensionTransmissionTimeOffset,
kTransmissionOffsetExtensionId);
extensions.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId);
extensions.Register<TransmissionOffset>(kTransmissionOffsetExtensionId);
extensions.Register<AudioLevel>(kAudioLevelExtensionId);
RtpPacketReceived packet(&extensions);
EXPECT_TRUE(packet.Parse(kPacketWithTOAndAL, sizeof(kPacketWithTOAndAL)));
int32_t time_offset;
@ -590,9 +582,8 @@ TEST(RtpPacketTest, ParseWith2Extensions) {
TEST(RtpPacketTest, ParseSecondPacketWithFewerExtensions) {
RtpPacketToSend::ExtensionManager extensions;
extensions.Register(kRtpExtensionTransmissionTimeOffset,
kTransmissionOffsetExtensionId);
extensions.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId);
extensions.Register<TransmissionOffset>(kTransmissionOffsetExtensionId);
extensions.Register<AudioLevel>(kAudioLevelExtensionId);
RtpPacketReceived packet(&extensions);
EXPECT_TRUE(packet.Parse(kPacketWithTOAndAL, sizeof(kPacketWithTOAndAL)));
EXPECT_TRUE(packet.HasExtension<TransmissionOffset>());
@ -606,9 +597,8 @@ TEST(RtpPacketTest, ParseSecondPacketWithFewerExtensions) {
TEST(RtpPacketTest, ParseWith2ExtensionsInvalidPadding) {
RtpPacketToSend::ExtensionManager extensions;
extensions.Register(kRtpExtensionTransmissionTimeOffset,
kTransmissionOffsetExtensionId);
extensions.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId);
extensions.Register<TransmissionOffset>(kTransmissionOffsetExtensionId);
extensions.Register<AudioLevel>(kAudioLevelExtensionId);
RtpPacketReceived packet(&extensions);
EXPECT_TRUE(packet.Parse(kPacketWithTOAndALInvalidPadding,
sizeof(kPacketWithTOAndALInvalidPadding)));
@ -622,9 +612,8 @@ TEST(RtpPacketTest, ParseWith2ExtensionsInvalidPadding) {
TEST(RtpPacketTest, ParseWith2ExtensionsReservedExtensionId) {
RtpPacketToSend::ExtensionManager extensions;
extensions.Register(kRtpExtensionTransmissionTimeOffset,
kTransmissionOffsetExtensionId);
extensions.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId);
extensions.Register<TransmissionOffset>(kTransmissionOffsetExtensionId);
extensions.Register<AudioLevel>(kAudioLevelExtensionId);
RtpPacketReceived packet(&extensions);
EXPECT_TRUE(packet.Parse(kPacketWithTOAndALReservedExtensionId,
sizeof(kPacketWithTOAndALReservedExtensionId)));
@ -638,8 +627,7 @@ TEST(RtpPacketTest, ParseWith2ExtensionsReservedExtensionId) {
TEST(RtpPacketTest, ParseWithAllFeatures) {
RtpPacketToSend::ExtensionManager extensions;
extensions.Register(kRtpExtensionTransmissionTimeOffset,
kTransmissionOffsetExtensionId);
extensions.Register<TransmissionOffset>(kTransmissionOffsetExtensionId);
RtpPacketReceived packet(&extensions);
EXPECT_TRUE(packet.Parse(kPacket, sizeof(kPacket)));
EXPECT_EQ(kPayloadType, packet.PayloadType());
@ -655,7 +643,7 @@ TEST(RtpPacketTest, ParseWithAllFeatures) {
TEST(RtpPacketTest, ParseTwoByteHeaderExtension) {
RtpPacketToSend::ExtensionManager extensions;
extensions.Register(kRtpExtensionTransmissionTimeOffset, kTwoByteExtensionId);
extensions.Register<TransmissionOffset>(kTwoByteExtensionId);
RtpPacketReceived packet(&extensions);
EXPECT_TRUE(packet.Parse(kPacketWithTwoByteHeaderExtension,
sizeof(kPacketWithTwoByteHeaderExtension)));
@ -666,7 +654,7 @@ TEST(RtpPacketTest, ParseTwoByteHeaderExtension) {
TEST(RtpPacketTest, ParseLongTwoByteHeaderExtension) {
RtpPacketToSend::ExtensionManager extensions;
extensions.Register(kRtpExtensionMid, kTwoByteExtensionId);
extensions.Register<RtpMid>(kTwoByteExtensionId);
RtpPacketReceived packet(&extensions);
EXPECT_TRUE(packet.Parse(kPacketWithLongTwoByteHeaderExtension,
sizeof(kPacketWithLongTwoByteHeaderExtension)));
@ -677,8 +665,8 @@ TEST(RtpPacketTest, ParseLongTwoByteHeaderExtension) {
TEST(RtpPacketTest, ParseTwoByteHeaderExtensionWithPadding) {
RtpPacketToSend::ExtensionManager extensions;
extensions.Register(kRtpExtensionTransmissionTimeOffset, kTwoByteExtensionId);
extensions.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId);
extensions.Register<TransmissionOffset>(kTwoByteExtensionId);
extensions.Register<AudioLevel>(kAudioLevelExtensionId);
RtpPacketReceived packet(&extensions);
EXPECT_TRUE(
packet.Parse(kPacketWithTwoByteHeaderExtensionWithPadding,
@ -702,8 +690,7 @@ TEST(RtpPacketTest, ParseWithExtensionDelayed) {
EXPECT_EQ(kSsrc, packet.Ssrc());
RtpPacketToSend::ExtensionManager extensions;
extensions.Register(kRtpExtensionTransmissionTimeOffset,
kTransmissionOffsetExtensionId);
extensions.Register<TransmissionOffset>(kTransmissionOffsetExtensionId);
int32_t time_offset;
EXPECT_FALSE(packet.GetExtension<TransmissionOffset>(&time_offset));
@ -767,7 +754,7 @@ TEST(RtpPacketTest, ParseWithMid) {
TEST(RtpPacketTest, CreateAndParseTimingFrameExtension) {
// Create a packet with video frame timing extension populated.
RtpPacketToSend::ExtensionManager send_extensions;
send_extensions.Register(kRtpExtensionVideoTiming, kVideoTimingExtensionId);
send_extensions.Register<VideoTimingExtension>(kVideoTimingExtensionId);
RtpPacketToSend send_packet(&send_extensions);
send_packet.SetPayloadType(kPayloadType);
send_packet.SetSequenceNumber(kSeqNum);
@ -1012,9 +999,8 @@ TEST(RtpPacketTest,
TEST(RtpPacketTest, IsExtensionReserved) {
// Register two extensions.
RtpPacketToSend::ExtensionManager extensions;
extensions.Register(kRtpExtensionTransmissionTimeOffset,
kTransmissionOffsetExtensionId);
extensions.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId);
extensions.Register<TransmissionOffset>(kTransmissionOffsetExtensionId);
extensions.Register<AudioLevel>(kAudioLevelExtensionId);
RtpPacketReceived packet(&extensions);
@ -1033,9 +1019,8 @@ TEST(RtpPacketTest, IsExtensionReserved) {
// Tests that RtpPacket::RemoveExtension can successfully remove extensions.
TEST(RtpPacketTest, RemoveMultipleExtensions) {
RtpPacketToSend::ExtensionManager extensions;
extensions.Register(kRtpExtensionTransmissionTimeOffset,
kTransmissionOffsetExtensionId);
extensions.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId);
extensions.Register<TransmissionOffset>(kTransmissionOffsetExtensionId);
extensions.Register<AudioLevel>(kAudioLevelExtensionId);
RtpPacketToSend packet(&extensions);
packet.SetPayloadType(kPayloadType);
packet.SetSequenceNumber(kSeqNum);
@ -1062,9 +1047,8 @@ TEST(RtpPacketTest, RemoveMultipleExtensions) {
// other extensions are present but not registered.
TEST(RtpPacketTest, RemoveExtensionPreservesOtherUnregisteredExtensions) {
RtpPacketToSend::ExtensionManager extensions;
extensions.Register(kRtpExtensionTransmissionTimeOffset,
kTransmissionOffsetExtensionId);
extensions.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId);
extensions.Register<TransmissionOffset>(kTransmissionOffsetExtensionId);
extensions.Register<AudioLevel>(kAudioLevelExtensionId);
RtpPacketToSend packet(&extensions);
packet.SetPayloadType(kPayloadType);
packet.SetSequenceNumber(kSeqNum);
@ -1078,7 +1062,7 @@ TEST(RtpPacketTest, RemoveExtensionPreservesOtherUnregisteredExtensions) {
// "Unregister" kRtpExtensionTransmissionTimeOffset.
RtpPacketToSend::ExtensionManager extensions1;
extensions1.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId);
extensions1.Register<AudioLevel>(kAudioLevelExtensionId);
packet.IdentifyExtensions(extensions1);
// Make sure we can not delete extension which is set but not registered.
@ -1094,9 +1078,8 @@ TEST(RtpPacketTest, RemoveExtensionPreservesOtherUnregisteredExtensions) {
// not registered and does not modify packet.
TEST(RtpPacketTest, RemoveExtensionFailure) {
RtpPacketToSend::ExtensionManager extensions;
extensions.Register(kRtpExtensionTransmissionTimeOffset,
kTransmissionOffsetExtensionId);
extensions.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId);
extensions.Register<TransmissionOffset>(kTransmissionOffsetExtensionId);
extensions.Register<AudioLevel>(kAudioLevelExtensionId);
RtpPacketToSend packet(&extensions);
packet.SetPayloadType(kPayloadType);
packet.SetSequenceNumber(kSeqNum);

View File

@ -38,8 +38,7 @@ using ::testing::ElementsAreArray;
class LoopbackTransportTest : public webrtc::Transport {
public:
LoopbackTransportTest() {
receivers_extensions_.Register(kRtpExtensionAudioLevel,
kAudioLevelExtensionId);
receivers_extensions_.Register<AudioLevel>(kAudioLevelExtensionId);
}
bool SendRtp(const uint8_t* data,

View File

@ -89,25 +89,23 @@ uint64_t ConvertMsToAbsSendTime(int64_t time_ms) {
class LoopbackTransportTest : public webrtc::Transport {
public:
LoopbackTransportTest() : total_bytes_sent_(0) {
receivers_extensions_.Register(kRtpExtensionTransmissionTimeOffset,
receivers_extensions_.Register<TransmissionOffset>(
kTransmissionTimeOffsetExtensionId);
receivers_extensions_.Register(kRtpExtensionAbsoluteSendTime,
receivers_extensions_.Register<AbsoluteSendTime>(
kAbsoluteSendTimeExtensionId);
receivers_extensions_.Register(kRtpExtensionTransportSequenceNumber,
receivers_extensions_.Register<TransportSequenceNumber>(
kTransportSequenceNumberExtensionId);
receivers_extensions_.Register(kRtpExtensionVideoRotation,
kVideoRotationExtensionId);
receivers_extensions_.Register(kRtpExtensionAudioLevel,
kAudioLevelExtensionId);
receivers_extensions_.Register(kRtpExtensionVideoTiming,
receivers_extensions_.Register<VideoOrientation>(kVideoRotationExtensionId);
receivers_extensions_.Register<AudioLevel>(kAudioLevelExtensionId);
receivers_extensions_.Register<VideoTimingExtension>(
kVideoTimingExtensionId);
receivers_extensions_.Register(kRtpExtensionMid, kMidExtensionId);
receivers_extensions_.Register(kRtpExtensionGenericFrameDescriptor00,
receivers_extensions_.Register<RtpMid>(kMidExtensionId);
receivers_extensions_.Register<RtpGenericFrameDescriptorExtension00>(
kGenericDescriptorId00);
receivers_extensions_.Register(kRtpExtensionGenericFrameDescriptor01,
receivers_extensions_.Register<RtpGenericFrameDescriptorExtension01>(
kGenericDescriptorId01);
receivers_extensions_.Register(kRtpExtensionRtpStreamId, kRidExtensionId);
receivers_extensions_.Register(kRtpExtensionRepairedRtpStreamId,
receivers_extensions_.Register<RtpStreamId>(kRidExtensionId);
receivers_extensions_.Register<RepairedRtpStreamId>(
kRepairedRidExtensionId);
}

View File

@ -57,21 +57,20 @@ constexpr int64_t kDefaultExpectedRetransmissionTimeMs = 125;
class LoopbackTransportTest : public webrtc::Transport {
public:
LoopbackTransportTest() {
receivers_extensions_.Register(kRtpExtensionTransmissionTimeOffset,
receivers_extensions_.Register<TransmissionOffset>(
kTransmissionTimeOffsetExtensionId);
receivers_extensions_.Register(kRtpExtensionAbsoluteSendTime,
receivers_extensions_.Register<AbsoluteSendTime>(
kAbsoluteSendTimeExtensionId);
receivers_extensions_.Register(kRtpExtensionTransportSequenceNumber,
receivers_extensions_.Register<TransportSequenceNumber>(
kTransportSequenceNumberExtensionId);
receivers_extensions_.Register(kRtpExtensionVideoRotation,
kVideoRotationExtensionId);
receivers_extensions_.Register(kRtpExtensionVideoTiming,
receivers_extensions_.Register<VideoOrientation>(kVideoRotationExtensionId);
receivers_extensions_.Register<VideoTimingExtension>(
kVideoTimingExtensionId);
receivers_extensions_.Register(kRtpExtensionGenericFrameDescriptor00,
receivers_extensions_.Register<RtpGenericFrameDescriptorExtension00>(
kGenericDescriptorId00);
receivers_extensions_.Register(kRtpExtensionGenericFrameDescriptor01,
receivers_extensions_.Register<RtpGenericFrameDescriptorExtension01>(
kGenericDescriptorId01);
receivers_extensions_.Register(kRtpExtensionFrameMarking,
receivers_extensions_.Register<FrameMarkingExtension>(
kFrameMarkingExtensionId);
}