diff --git a/audio/audio_send_stream_tests.cc b/audio/audio_send_stream_tests.cc index 8a83554b53..55de03dd51 100644 --- a/audio/audio_send_stream_tests.cc +++ b/audio/audio_send_stream_tests.cc @@ -8,11 +8,8 @@ * be found in the AUTHORS file in the root of the source tree. */ -#include -#include -#include - #include "test/call_test.h" +#include "test/constants.h" #include "test/field_trial.h" #include "test/gtest.h" #include "test/rtcp_packet_parser.h" @@ -21,11 +18,6 @@ namespace webrtc { namespace test { namespace { -enum : int { // The first valid value is 1. - kAudioLevelExtensionId = 1, - kTransportSequenceNumberExtensionId, -}; - class AudioSendTest : public SendTest { public: AudioSendTest() : SendTest(CallTest::kDefaultTimeoutMs) {} @@ -111,8 +103,8 @@ TEST_F(AudioSendStreamCallTest, SupportsAudioLevel) { class AudioLevelObserver : public AudioSendTest { public: AudioLevelObserver() : AudioSendTest() { - EXPECT_TRUE(parser_->RegisterRtpHeaderExtension(kRtpExtensionAudioLevel, - kAudioLevelExtensionId)); + EXPECT_TRUE(parser_->RegisterRtpHeaderExtension( + kRtpExtensionAudioLevel, test::kAudioLevelExtensionId)); } Action OnSendRtp(const uint8_t* packet, size_t length) override { @@ -135,8 +127,8 @@ TEST_F(AudioSendStreamCallTest, SupportsAudioLevel) { AudioSendStream::Config* send_config, std::vector* receive_configs) override { send_config->rtp.extensions.clear(); - send_config->rtp.extensions.push_back( - RtpExtension(RtpExtension::kAudioLevelUri, kAudioLevelExtensionId)); + send_config->rtp.extensions.push_back(RtpExtension( + RtpExtension::kAudioLevelUri, test::kAudioLevelExtensionId)); } void PerformTest() override { diff --git a/audio/test/audio_bwe_integration_test.cc b/audio/test/audio_bwe_integration_test.cc index 2e3c15861a..74eaef0ee0 100644 --- a/audio/test/audio_bwe_integration_test.cc +++ b/audio/test/audio_bwe_integration_test.cc @@ -23,10 +23,6 @@ namespace webrtc { namespace test { namespace { -enum : int { // The first valid value is 1. - kTransportSequenceNumberExtensionId = 1, -}; - // Wait a second between stopping sending and stopping receiving audio. constexpr int kExtraProcessTimeMs = 1000; } // namespace diff --git a/modules/rtp_rtcp/source/rtp_sender_audio_unittest.cc b/modules/rtp_rtcp/source/rtp_sender_audio_unittest.cc index c5ca7f01be..7f9d72f40a 100644 --- a/modules/rtp_rtcp/source/rtp_sender_audio_unittest.cc +++ b/modules/rtp_rtcp/source/rtp_sender_audio_unittest.cc @@ -22,10 +22,7 @@ namespace webrtc { namespace { -enum : int { // The first valid value is 1. - kAudioLevelExtensionId = 1, -}; - +const int kAudioLevelExtensionId = 9; const uint16_t kSeqNum = 33; const uint32_t kSsrc = 725242; const uint8_t kAudioLevel = 0x5a; diff --git a/modules/rtp_rtcp/source/rtp_sender_unittest.cc b/modules/rtp_rtcp/source/rtp_sender_unittest.cc index 0b881f877a..714fac708a 100644 --- a/modules/rtp_rtcp/source/rtp_sender_unittest.cc +++ b/modules/rtp_rtcp/source/rtp_sender_unittest.cc @@ -40,19 +40,16 @@ namespace webrtc { namespace { -enum : int { // The first valid value is 1. - kAbsoluteSendTimeExtensionId = 1, - kAudioLevelExtensionId, - kGenericDescriptorId, - kMidExtensionId, - kRepairedRidExtensionId, - kRidExtensionId, - kTransmissionTimeOffsetExtensionId, - kTransportSequenceNumberExtensionId, - kVideoRotationExtensionId, - kVideoTimingExtensionId, -}; - +const int kTransmissionTimeOffsetExtensionId = 1; +const int kAbsoluteSendTimeExtensionId = 14; +const int kTransportSequenceNumberExtensionId = 13; +const int kVideoTimingExtensionId = 12; +const int kMidExtensionId = 11; +const int kGenericDescriptorId = 10; +const int kAudioLevelExtensionId = 9; +const int kRidExtensionId = 8; +const int kRepairedRidExtensionId = 7; +const int kVideoRotationExtensionId = 5; const int kPayload = 100; const int kRtxPayload = 98; const uint32_t kTimestamp = 10; diff --git a/modules/rtp_rtcp/source/rtp_sender_video_unittest.cc b/modules/rtp_rtcp/source/rtp_sender_video_unittest.cc index 0cd0572e30..43eb4ed454 100644 --- a/modules/rtp_rtcp/source/rtp_sender_video_unittest.cc +++ b/modules/rtp_rtcp/source/rtp_sender_video_unittest.cc @@ -34,16 +34,13 @@ namespace { using ::testing::ElementsAre; -enum : int { // The first valid value is 1. - kAbsoluteSendTimeExtensionId = 1, - kFrameMarkingExtensionId, - kGenericDescriptorId, - kTransmissionTimeOffsetExtensionId, - kTransportSequenceNumberExtensionId, - kVideoRotationExtensionId, - kVideoTimingExtensionId, -}; - +constexpr int kTransmissionTimeOffsetExtensionId = 1; +constexpr int kAbsoluteSendTimeExtensionId = 14; +constexpr int kTransportSequenceNumberExtensionId = 13; +constexpr int kVideoTimingExtensionId = 12; +constexpr int kGenericDescriptorId = 10; +constexpr int kFrameMarkingExtensionId = 6; +constexpr int kVideoRotationExtensionId = 5; constexpr int kPayload = 100; constexpr uint32_t kTimestamp = 10; constexpr uint16_t kSeqNum = 33; diff --git a/test/BUILD.gn b/test/BUILD.gn index 8acc26d6f3..99c5467ed3 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -656,6 +656,8 @@ rtc_source_set("test_common") { sources = [ "call_test.cc", "call_test.h", + "constants.cc", + "constants.h", "drifting_clock.cc", "drifting_clock.h", "encoder_settings.cc", @@ -746,7 +748,6 @@ rtc_source_set("test_common") { "../video", "//testing/gtest", "//third_party/abseil-cpp/absl/memory", - "//third_party/abseil-cpp/absl/types:optional", ] if (!is_android && !build_with_chromium) { deps += [ "../modules/video_capture:video_capture_internal_impl" ] diff --git a/test/call_test.cc b/test/call_test.cc index ca0d7bbec3..57a5d9fe75 100644 --- a/test/call_test.cc +++ b/test/call_test.cc @@ -65,29 +65,6 @@ CallTest::~CallTest() { }); } -void CallTest::RegisterRtpExtension(const RtpExtension& extension) { - for (const RtpExtension& registered_extension : rtp_extensions_) { - if (registered_extension.id == extension.id) { - ASSERT_EQ(registered_extension.uri, extension.uri) - << "Different URIs associated with ID " << extension.id << "."; - ASSERT_EQ(registered_extension.encrypt, extension.encrypt) - << "Encryption mismatch associated with ID " << extension.id << "."; - return; - } else { // Different IDs. - // Different IDs referring to the same extension probably indicate - // a mistake in the test. - ASSERT_FALSE(registered_extension.uri == extension.uri && - registered_extension.encrypt == extension.encrypt) - << "URI " << extension.uri - << (extension.encrypt ? " with " : " without ") - << "encryption already registered with a different " - << "ID (" << extension.id << " vs. " << registered_extension.id - << ")."; - } - } - rtp_extensions_.push_back(extension); -} - void CallTest::RunBaseTest(BaseTest* test) { task_queue_.SendTask([this, test]() { num_video_streams_ = test->GetNumVideoStreams(); @@ -258,23 +235,25 @@ void CallTest::CreateVideoSendConfig(VideoSendStream::Config* video_config, video_config->rtp.payload_name = "FAKE"; video_config->rtp.payload_type = kFakeVideoSendPayloadType; video_config->rtp.extmap_allow_mixed = true; - AddRtpExtensionByUri(RtpExtension::kTransportSequenceNumberUri, - &video_config->rtp.extensions); - AddRtpExtensionByUri(RtpExtension::kVideoContentTypeUri, - &video_config->rtp.extensions); - AddRtpExtensionByUri(RtpExtension::kGenericFrameDescriptorUri, - &video_config->rtp.extensions); + video_config->rtp.extensions.push_back( + RtpExtension(RtpExtension::kTransportSequenceNumberUri, + kTransportSequenceNumberExtensionId)); + video_config->rtp.extensions.push_back(RtpExtension( + RtpExtension::kVideoContentTypeUri, kVideoContentTypeExtensionId)); + video_config->rtp.extensions.push_back(RtpExtension( + RtpExtension::kGenericFrameDescriptorUri, kGenericDescriptorExtensionId)); if (video_encoder_configs_.empty()) { video_encoder_configs_.emplace_back(); FillEncoderConfiguration(kVideoCodecGeneric, num_video_streams, &video_encoder_configs_.back()); } + for (size_t i = 0; i < num_video_streams; ++i) video_config->rtp.ssrcs.push_back(kVideoSendSsrcs[num_used_ssrcs + i]); - AddRtpExtensionByUri(RtpExtension::kVideoRotationUri, - &video_config->rtp.extensions); - AddRtpExtensionByUri(RtpExtension::kColorSpaceUri, - &video_config->rtp.extensions); + video_config->rtp.extensions.push_back( + RtpExtension(RtpExtension::kVideoRotationUri, kVideoRotationExtensionId)); + video_config->rtp.extensions.push_back( + RtpExtension(RtpExtension::kColorSpaceUri, kColorSpaceExtensionId)); } void CallTest::CreateAudioAndFecSendConfigs(size_t num_audio_streams, @@ -687,25 +666,6 @@ FlexfecReceiveStream::Config* CallTest::GetFlexFecConfig() { return &flexfec_receive_configs_[0]; } -absl::optional CallTest::GetRtpExtensionByUri( - const std::string& uri) const { - for (const auto& extension : rtp_extensions_) { - if (extension.uri == uri) { - return extension; - } - } - return absl::nullopt; -} - -void CallTest::AddRtpExtensionByUri( - const std::string& uri, - std::vector* extensions) const { - const absl::optional extension = GetRtpExtensionByUri(uri); - if (extension) { - extensions->push_back(*extension); - } -} - constexpr size_t CallTest::kNumSsrcs; const int CallTest::kDefaultWidth; const int CallTest::kDefaultHeight; diff --git a/test/call_test.h b/test/call_test.h index dbe8e07e97..fb2605198f 100644 --- a/test/call_test.h +++ b/test/call_test.h @@ -15,7 +15,6 @@ #include #include -#include "absl/types/optional.h" #include "api/test/video/function_video_decoder_factory.h" #include "api/test/video/function_video_encoder_factory.h" #include "api/video/video_bitrate_allocator_factory.h" @@ -72,8 +71,6 @@ class CallTest : public ::testing::Test { static const std::map payload_type_map_; protected: - void RegisterRtpExtension(const RtpExtension& extension); - // RunBaseTest overwrites the audio_state of the send and receive Call configs // to simplify test code. void RunBaseTest(BaseTest* test); @@ -219,13 +216,6 @@ class CallTest : public ::testing::Test { SingleThreadedTaskQueueForTesting task_queue_; private: - absl::optional GetRtpExtensionByUri( - const std::string& uri) const; - - void AddRtpExtensionByUri(const std::string& uri, - std::vector* extensions) const; - - std::vector rtp_extensions_; rtc::scoped_refptr apm_send_; rtc::scoped_refptr apm_recv_; rtc::scoped_refptr fake_send_audio_device_; diff --git a/test/constants.cc b/test/constants.cc new file mode 100644 index 0000000000..4f33d25291 --- /dev/null +++ b/test/constants.cc @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#include "test/constants.h" + +namespace webrtc { +namespace test { + +const int kAudioLevelExtensionId = 5; +const int kTOffsetExtensionId = 6; +const int kAbsSendTimeExtensionId = 7; +const int kTransportSequenceNumberExtensionId = 8; +const int kVideoRotationExtensionId = 9; +const int kVideoContentTypeExtensionId = 10; +const int kVideoTimingExtensionId = 11; +const int kGenericDescriptorExtensionId = 12; +const int kColorSpaceExtensionId = 13; + +} // namespace test +} // namespace webrtc diff --git a/test/constants.h b/test/constants.h new file mode 100644 index 0000000000..b1b87d6f63 --- /dev/null +++ b/test/constants.h @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +namespace webrtc { +namespace test { + +extern const int kAudioLevelExtensionId; +extern const int kTOffsetExtensionId; +extern const int kAbsSendTimeExtensionId; +extern const int kTransportSequenceNumberExtensionId; +extern const int kVideoRotationExtensionId; +extern const int kVideoContentTypeExtensionId; +extern const int kVideoTimingExtensionId; +extern const int kGenericDescriptorExtensionId; +extern const int kColorSpaceExtensionId; +} // namespace test +} // namespace webrtc diff --git a/test/rtp_rtcp_observer.h b/test/rtp_rtcp_observer.h index 830c2f12bb..7cff645a2f 100644 --- a/test/rtp_rtcp_observer.h +++ b/test/rtp_rtcp_observer.h @@ -12,7 +12,6 @@ #include #include -#include #include #include "api/test/simulated_network.h" @@ -22,6 +21,7 @@ #include "rtc_base/critical_section.h" #include "rtc_base/event.h" #include "system_wrappers/include/field_trial.h" +#include "test/constants.h" #include "test/direct_transport.h" #include "test/gtest.h" @@ -71,7 +71,14 @@ class RtpRtcpObserver { protected: RtpRtcpObserver() : RtpRtcpObserver(0) {} explicit RtpRtcpObserver(int event_timeout_ms) - : parser_(RtpHeaderParser::Create()), timeout_ms_(event_timeout_ms) {} + : parser_(RtpHeaderParser::Create()), timeout_ms_(event_timeout_ms) { + parser_->RegisterRtpHeaderExtension(kRtpExtensionTransmissionTimeOffset, + kTOffsetExtensionId); + parser_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime, + kAbsSendTimeExtensionId); + parser_->RegisterRtpHeaderExtension(kRtpExtensionTransportSequenceNumber, + kTransportSequenceNumberExtensionId); + } rtc::Event observation_complete_; const std::unique_ptr parser_; diff --git a/test/scenario/video_stream.cc b/test/scenario/video_stream.cc index 859626eda8..2f892f0995 100644 --- a/test/scenario/video_stream.cc +++ b/test/scenario/video_stream.cc @@ -27,13 +27,8 @@ namespace webrtc { namespace test { namespace { -enum : int { // The first valid value is 1. - kTransportSequenceNumberExtensionId = 1, - kVideoContentTypeExtensionId, - kVideoRotationRtpExtensionId, -}; - constexpr int kDefaultMaxQp = cricket::WebRtcVideoChannel::kDefaultQpMax; +const int kVideoRotationRtpExtensionId = 4; uint8_t CodecTypeToPayloadType(VideoCodecType codec_type) { switch (codec_type) { case VideoCodecType::kVideoCodecGeneric: diff --git a/video/end_to_end_tests/bandwidth_tests.cc b/video/end_to_end_tests/bandwidth_tests.cc index e7550a46af..17bb9853a7 100644 --- a/video/end_to_end_tests/bandwidth_tests.cc +++ b/video/end_to_end_tests/bandwidth_tests.cc @@ -26,11 +26,6 @@ #include "test/video_encoder_proxy_factory.h" namespace webrtc { -namespace { -enum : int { // The first valid value is 1. - kAbsSendTimeExtensionId = 1, -}; -} // namespace class BandwidthEndToEndTest : public test::CallTest { public: @@ -47,8 +42,8 @@ TEST_F(BandwidthEndToEndTest, ReceiveStreamSendsRemb) { std::vector* receive_configs, VideoEncoderConfig* encoder_config) override { send_config->rtp.extensions.clear(); - send_config->rtp.extensions.push_back( - RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeExtensionId)); + send_config->rtp.extensions.push_back(RtpExtension( + RtpExtension::kAbsSendTimeUri, test::kAbsSendTimeExtensionId)); (*receive_configs)[0].rtp.remb = true; (*receive_configs)[0].rtp.transport_cc = false; } @@ -92,8 +87,8 @@ class BandwidthStatsTest : public test::EndToEndTest { VideoEncoderConfig* encoder_config) override { if (!send_side_bwe_) { send_config->rtp.extensions.clear(); - send_config->rtp.extensions.push_back( - RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeExtensionId)); + send_config->rtp.extensions.push_back(RtpExtension( + RtpExtension::kAbsSendTimeUri, test::kAbsSendTimeExtensionId)); (*receive_configs)[0].rtp.remb = true; (*receive_configs)[0].rtp.transport_cc = false; } diff --git a/video/end_to_end_tests/codec_tests.cc b/video/end_to_end_tests/codec_tests.cc index eab9ef7b7c..ed303ec12f 100644 --- a/video/end_to_end_tests/codec_tests.cc +++ b/video/end_to_end_tests/codec_tests.cc @@ -27,22 +27,11 @@ #include "test/gtest.h" namespace webrtc { -namespace { -enum : int { // The first valid value is 1. - kColorSpaceExtensionId = 1, - kVideoRotationExtensionId, -}; -} // namespace class CodecEndToEndTest : public test::CallTest, public testing::WithParamInterface { public: - CodecEndToEndTest() : field_trial_(GetParam()) { - RegisterRtpExtension( - RtpExtension(RtpExtension::kColorSpaceUri, kColorSpaceExtensionId)); - RegisterRtpExtension(RtpExtension(RtpExtension::kVideoRotationUri, - kVideoRotationExtensionId)); - } + CodecEndToEndTest() : field_trial_(GetParam()) {} private: test::ScopedFieldTrials field_trial_; @@ -235,10 +224,7 @@ TEST_P(CodecEndToEndTest, SendsAndReceivesMultiplexVideoRotation90) { class EndToEndTestH264 : public test::CallTest, public testing::WithParamInterface { public: - EndToEndTestH264() : field_trial_(GetParam()) { - RegisterRtpExtension(RtpExtension(RtpExtension::kVideoRotationUri, - kVideoRotationExtensionId)); - } + EndToEndTestH264() : field_trial_(GetParam()) {} private: test::ScopedFieldTrials field_trial_; diff --git a/video/end_to_end_tests/extended_reports_tests.cc b/video/end_to_end_tests/extended_reports_tests.cc index 955f9cdf79..5b649d5636 100644 --- a/video/end_to_end_tests/extended_reports_tests.cc +++ b/video/end_to_end_tests/extended_reports_tests.cc @@ -43,20 +43,8 @@ #include "test/single_threaded_task_queue.h" namespace webrtc { -namespace { -enum : int { // The first valid value is 1. - kColorSpaceExtensionId = 1, - kTransportSequenceNumberExtensionId, -}; -} // namespace -class ExtendedReportsEndToEndTest : public test::CallTest { - public: - ExtendedReportsEndToEndTest() { - RegisterRtpExtension(RtpExtension(RtpExtension::kTransportSequenceNumberUri, - kTransportSequenceNumberExtensionId)); - } -}; +class ExtendedReportsEndToEndTest : public test::CallTest {}; class RtcpXrObserver : public test::EndToEndTest { public: diff --git a/video/end_to_end_tests/fec_tests.cc b/video/end_to_end_tests/fec_tests.cc index dbf0b2cc47..42215d3470 100644 --- a/video/end_to_end_tests/fec_tests.cc +++ b/video/end_to_end_tests/fec_tests.cc @@ -22,21 +22,10 @@ #include "test/rtcp_packet_parser.h" namespace webrtc { -namespace { -enum : int { // The first valid value is 1. - kTransportSequenceNumberExtensionId = 1, - kVideoRotationExtensionId, -}; -} // namespace class FecEndToEndTest : public test::CallTest { public: - FecEndToEndTest() { - RegisterRtpExtension(RtpExtension(RtpExtension::kTransportSequenceNumberUri, - kTransportSequenceNumberExtensionId)); - RegisterRtpExtension(RtpExtension(RtpExtension::kVideoRotationUri, - kVideoRotationExtensionId)); - } + FecEndToEndTest() = default; }; TEST_F(FecEndToEndTest, ReceivesUlpfec) { diff --git a/video/end_to_end_tests/frame_encryption_tests.cc b/video/end_to_end_tests/frame_encryption_tests.cc index 85ad7dd2cb..98b3a4b830 100644 --- a/video/end_to_end_tests/frame_encryption_tests.cc +++ b/video/end_to_end_tests/frame_encryption_tests.cc @@ -17,18 +17,10 @@ #include "test/gtest.h" namespace webrtc { -namespace { -enum : int { // The first valid value is 1. - kGenericDescriptorExtensionId = 1, -}; -} // namespace class FrameEncryptionEndToEndTest : public test::CallTest { public: - FrameEncryptionEndToEndTest() { - RegisterRtpExtension(RtpExtension(RtpExtension::kGenericFrameDescriptorUri, - kGenericDescriptorExtensionId)); - } + FrameEncryptionEndToEndTest() = default; private: // GenericDescriptor is required for FrameEncryption to work. diff --git a/video/end_to_end_tests/histogram_tests.cc b/video/end_to_end_tests/histogram_tests.cc index ef435b4512..312924c986 100644 --- a/video/end_to_end_tests/histogram_tests.cc +++ b/video/end_to_end_tests/histogram_tests.cc @@ -16,22 +16,8 @@ #include "test/gtest.h" namespace webrtc { -namespace { -enum : int { // The first valid value is 1. - kTransportSequenceNumberExtensionId = 1, - kVideoContentTypeExtensionId, -}; -} // namespace class HistogramTest : public test::CallTest { - public: - HistogramTest() { - RegisterRtpExtension(RtpExtension(RtpExtension::kTransportSequenceNumberUri, - kTransportSequenceNumberExtensionId)); - RegisterRtpExtension(RtpExtension(RtpExtension::kVideoContentTypeUri, - kVideoContentTypeExtensionId)); - } - protected: void VerifyHistogramStats(bool use_rtx, bool use_fec, bool screenshare); }; diff --git a/video/end_to_end_tests/probing_tests.cc b/video/end_to_end_tests/probing_tests.cc index dba3c3e881..80c9ebdf7a 100644 --- a/video/end_to_end_tests/probing_tests.cc +++ b/video/end_to_end_tests/probing_tests.cc @@ -15,21 +15,9 @@ #include "test/call_test.h" #include "test/field_trial.h" #include "test/gtest.h" - namespace webrtc { -namespace { -enum : int { // The first valid value is 1. - kTransportSequenceNumberExtensionId = 1, -}; -} // namespace -class ProbingEndToEndTest : public test::CallTest { - public: - ProbingEndToEndTest() { - RegisterRtpExtension(RtpExtension(RtpExtension::kTransportSequenceNumberUri, - kTransportSequenceNumberExtensionId)); - } -}; +class ProbingEndToEndTest : public test::CallTest {}; class ProbingTest : public test::EndToEndTest { public: diff --git a/video/end_to_end_tests/retransmission_tests.cc b/video/end_to_end_tests/retransmission_tests.cc index 49c3fb42f3..7d31aed96b 100644 --- a/video/end_to_end_tests/retransmission_tests.cc +++ b/video/end_to_end_tests/retransmission_tests.cc @@ -21,18 +21,9 @@ #include "test/rtcp_packet_parser.h" namespace webrtc { -namespace { -enum : int { // The first valid value is 1. - kVideoRotationExtensionId = 1, -}; -} // namespace - class RetransmissionEndToEndTest : public test::CallTest { public: - RetransmissionEndToEndTest() { - RegisterRtpExtension(RtpExtension(RtpExtension::kVideoRotationUri, - kVideoRotationExtensionId)); - } + RetransmissionEndToEndTest() = default; protected: void DecodesRetransmittedFrame(bool enable_rtx, bool enable_red); diff --git a/video/end_to_end_tests/rtp_rtcp_tests.cc b/video/end_to_end_tests/rtp_rtcp_tests.cc index d89a02464e..bef15d268e 100644 --- a/video/end_to_end_tests/rtp_rtcp_tests.cc +++ b/video/end_to_end_tests/rtp_rtcp_tests.cc @@ -18,11 +18,6 @@ #include "test/rtcp_packet_parser.h" namespace webrtc { -namespace { -enum : int { // The first valid value is 1. - kTransportSequenceNumberExtensionId = 1, -}; -} // namespace class RtpRtcpEndToEndTest : public test::CallTest { protected: @@ -535,7 +530,7 @@ TEST_F(RtpRtcpEndToEndTest, DISABLED_TestFlexfecRtpStatePreservation) { flexfec_receive_config.transport_cc = true; flexfec_receive_config.rtp_header_extensions.emplace_back( RtpExtension::kTransportSequenceNumberUri, - kTransportSequenceNumberExtensionId); + test::kTransportSequenceNumberExtensionId); flexfec_receive_configs_.push_back(flexfec_receive_config); CreateFlexfecStreams(); diff --git a/video/end_to_end_tests/stats_tests.cc b/video/end_to_end_tests/stats_tests.cc index bad04b42e2..53b181af37 100644 --- a/video/end_to_end_tests/stats_tests.cc +++ b/video/end_to_end_tests/stats_tests.cc @@ -24,19 +24,7 @@ #include "test/rtcp_packet_parser.h" namespace webrtc { -namespace { -enum : int { // The first valid value is 1. - kVideoContentTypeExtensionId = 1, -}; -} // namespace - -class StatsEndToEndTest : public test::CallTest { - public: - StatsEndToEndTest() { - RegisterRtpExtension(RtpExtension(RtpExtension::kVideoContentTypeUri, - kVideoContentTypeExtensionId)); - } -}; +class StatsEndToEndTest : public test::CallTest {}; TEST_F(StatsEndToEndTest, GetStats) { static const int kStartBitrateBps = 3000000; diff --git a/video/end_to_end_tests/transport_feedback_tests.cc b/video/end_to_end_tests/transport_feedback_tests.cc index b607bf645d..9aacd9a26f 100644 --- a/video/end_to_end_tests/transport_feedback_tests.cc +++ b/video/end_to_end_tests/transport_feedback_tests.cc @@ -21,21 +21,12 @@ #include "video/end_to_end_tests/multi_stream_tester.h" namespace webrtc { -namespace { -enum : int { // The first valid value is 1. - kTransportSequenceNumberExtensionId = 1, -}; -} // namespace -class TransportFeedbackEndToEndTest : public test::CallTest { - public: - TransportFeedbackEndToEndTest() { - RegisterRtpExtension(RtpExtension(RtpExtension::kTransportSequenceNumberUri, - kTransportSequenceNumberExtensionId)); - } -}; +class TransportFeedbackEndToEndTest : public test::CallTest {}; TEST_F(TransportFeedbackEndToEndTest, AssignsTransportSequenceNumbers) { + static const int kExtensionId = 5; + class RtpExtensionHeaderObserver : public test::DirectTransport { public: RtpExtensionHeaderObserver( @@ -59,7 +50,7 @@ TEST_F(TransportFeedbackEndToEndTest, AssignsTransportSequenceNumbers) { retransmit_observed_(false), started_(false) { parser_->RegisterRtpHeaderExtension(kRtpExtensionTransportSequenceNumber, - kTransportSequenceNumberExtensionId); + kExtensionId); } virtual ~RtpExtensionHeaderObserver() {} @@ -183,9 +174,8 @@ TEST_F(TransportFeedbackEndToEndTest, AssignsTransportSequenceNumbers) { VideoEncoderConfig* encoder_config, test::FrameGeneratorCapturer** frame_generator) override { send_config->rtp.extensions.clear(); - send_config->rtp.extensions.push_back( - RtpExtension(RtpExtension::kTransportSequenceNumberUri, - kTransportSequenceNumberExtensionId)); + send_config->rtp.extensions.push_back(RtpExtension( + RtpExtension::kTransportSequenceNumberUri, kExtensionId)); // Force some padding to be sent. Note that since we do send media // packets we can not guarantee that a padding only packet is sent. @@ -211,9 +201,8 @@ TEST_F(TransportFeedbackEndToEndTest, AssignsTransportSequenceNumbers) { 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::kTransportSequenceNumberUri, - kTransportSequenceNumberExtensionId)); + receive_config->rtp.extensions.push_back(RtpExtension( + RtpExtension::kTransportSequenceNumberUri, kExtensionId)); receive_config->renderer = &fake_renderer_; } @@ -302,14 +291,14 @@ class TransportFeedbackTester : public test::EndToEndTest { std::vector* receive_configs) override { send_config->rtp.extensions.clear(); send_config->rtp.extensions.push_back( - RtpExtension(RtpExtension::kTransportSequenceNumberUri, - kTransportSequenceNumberExtensionId)); + 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_; } private: + static const int kExtensionId = 5; const bool feedback_enabled_; const size_t num_video_streams_; const size_t num_audio_streams_; @@ -437,6 +426,7 @@ TEST_F(TransportFeedbackEndToEndTest, TEST_F(TransportFeedbackEndToEndTest, TransportSeqNumOnAudioAndVideo) { test::ScopedFieldTrials field_trials("WebRTC-Audio-SendSideBwe/Enabled/"); + static constexpr int kExtensionId = 8; static constexpr size_t kMinPacketsToWaitFor = 50; class TransportSequenceNumberTest : public test::EndToEndTest { public: @@ -445,7 +435,7 @@ TEST_F(TransportFeedbackEndToEndTest, TransportSeqNumOnAudioAndVideo) { video_observed_(false), audio_observed_(false) { parser_->RegisterRtpHeaderExtension(kRtpExtensionTransportSequenceNumber, - kTransportSequenceNumberExtensionId); + kExtensionId); } size_t GetNumVideoStreams() const override { return 1; } @@ -455,9 +445,8 @@ TEST_F(TransportFeedbackEndToEndTest, TransportSeqNumOnAudioAndVideo) { AudioSendStream::Config* send_config, std::vector* receive_configs) override { send_config->rtp.extensions.clear(); - send_config->rtp.extensions.push_back( - RtpExtension(RtpExtension::kTransportSequenceNumberUri, - kTransportSequenceNumberExtensionId)); + 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/video/video_quality_test.cc b/video/video_quality_test.cc index 494182704c..ad3224df0c 100644 --- a/video/video_quality_test.cc +++ b/video/video_quality_test.cc @@ -47,14 +47,6 @@ namespace webrtc { namespace { -enum : int { // The first valid value is 1. - kAbsSendTimeExtensionId = 1, - kGenericFrameDescriptorExtensionId, - kTransportSequenceNumberExtensionId, - kVideoContentTypeExtensionId, - kVideoTimingExtensionId, -}; - constexpr char kSyncGroup[] = "av_sync"; constexpr int kOpusMinBitrateBps = 6000; constexpr int kOpusBitrateFbBps = 32000; @@ -718,10 +710,10 @@ void VideoQualityTest::SetupVideo(Transport* send_transport, if (params_.call.send_side_bwe) { video_send_configs_[video_idx].rtp.extensions.emplace_back( RtpExtension::kTransportSequenceNumberUri, - kTransportSequenceNumberExtensionId); + test::kTransportSequenceNumberExtensionId); } else { video_send_configs_[video_idx].rtp.extensions.emplace_back( - RtpExtension::kAbsSendTimeUri, kAbsSendTimeExtensionId); + RtpExtension::kAbsSendTimeUri, test::kAbsSendTimeExtensionId); } if (params_.call.generic_descriptor) { @@ -732,13 +724,13 @@ void VideoQualityTest::SetupVideo(Transport* send_transport, video_send_configs_[video_idx].rtp.extensions.emplace_back( RtpExtension::kGenericFrameDescriptorUri, - kGenericFrameDescriptorExtensionId); + test::kGenericDescriptorExtensionId); } video_send_configs_[video_idx].rtp.extensions.emplace_back( - RtpExtension::kVideoContentTypeUri, kVideoContentTypeExtensionId); + RtpExtension::kVideoContentTypeUri, test::kVideoContentTypeExtensionId); video_send_configs_[video_idx].rtp.extensions.emplace_back( - RtpExtension::kVideoTimingUri, kVideoTimingExtensionId); + RtpExtension::kVideoTimingUri, test::kVideoTimingExtensionId); video_encoder_configs_[video_idx].video_format.name = params_.video[video_idx].codec; @@ -886,10 +878,10 @@ void VideoQualityTest::SetupVideo(Transport* send_transport, if (params_.call.send_side_bwe) { GetFlexFecConfig()->rtp_header_extensions.push_back( RtpExtension(RtpExtension::kTransportSequenceNumberUri, - kTransportSequenceNumberExtensionId)); + test::kTransportSequenceNumberExtensionId)); } else { - GetFlexFecConfig()->rtp_header_extensions.push_back( - RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeExtensionId)); + GetFlexFecConfig()->rtp_header_extensions.push_back(RtpExtension( + RtpExtension::kAbsSendTimeUri, test::kAbsSendTimeExtensionId)); } } @@ -927,10 +919,10 @@ void VideoQualityTest::SetupThumbnails(Transport* send_transport, if (params_.call.send_side_bwe) { thumbnail_send_config.rtp.extensions.push_back( RtpExtension(RtpExtension::kTransportSequenceNumberUri, - kTransportSequenceNumberExtensionId)); + test::kTransportSequenceNumberExtensionId)); } else { - thumbnail_send_config.rtp.extensions.push_back( - RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeExtensionId)); + thumbnail_send_config.rtp.extensions.push_back(RtpExtension( + RtpExtension::kAbsSendTimeUri, test::kAbsSendTimeExtensionId)); } VideoEncoderConfig thumbnail_encoder_config; @@ -1362,7 +1354,7 @@ void VideoQualityTest::SetupAudio(Transport* transport) { if (params_.call.send_side_bwe) { audio_send_config.rtp.extensions.push_back( webrtc::RtpExtension(webrtc::RtpExtension::kTransportSequenceNumberUri, - kTransportSequenceNumberExtensionId)); + test::kTransportSequenceNumberExtensionId)); audio_send_config.min_bitrate_bps = kOpusMinBitrateBps; audio_send_config.max_bitrate_bps = kOpusBitrateFbBps; audio_send_config.send_codec_spec->transport_cc_enabled = true; diff --git a/video/video_send_stream_tests.cc b/video/video_send_stream_tests.cc index 0beefec050..057fd9538e 100644 --- a/video/video_send_stream_tests.cc +++ b/video/video_send_stream_tests.cc @@ -73,15 +73,6 @@ class VideoSendStreamPeer { } // namespace test namespace { -enum : int { // The first valid value is 1. - kAbsSendTimeExtensionId = 1, - kTimestampOffsetExtensionId, - kTransportSequenceNumberExtensionId, - kVideoContentTypeExtensionId, - kVideoRotationExtensionId, - kVideoTimingExtensionId, -}; - constexpr int64_t kRtcpIntervalMs = 1000; enum VideoFormat { @@ -93,12 +84,6 @@ enum VideoFormat { VideoFrame CreateVideoFrame(int width, int height, uint8_t data); class VideoSendStreamTest : public test::CallTest { - public: - VideoSendStreamTest() { - RegisterRtpExtension(RtpExtension(RtpExtension::kTransportSequenceNumberUri, - kTransportSequenceNumberExtensionId)); - } - protected: void TestNackRetransmission(uint32_t retransmit_ssrc, uint8_t retransmit_payload_type); @@ -178,7 +163,7 @@ TEST_F(VideoSendStreamTest, SupportsAbsoluteSendTime) { public: AbsoluteSendTimeObserver() : SendTest(kDefaultTimeoutMs) { EXPECT_TRUE(parser_->RegisterRtpHeaderExtension( - kRtpExtensionAbsoluteSendTime, kAbsSendTimeExtensionId)); + kRtpExtensionAbsoluteSendTime, test::kAbsSendTimeExtensionId)); } Action OnSendRtp(const uint8_t* packet, size_t length) override { @@ -208,8 +193,8 @@ TEST_F(VideoSendStreamTest, SupportsAbsoluteSendTime) { std::vector* receive_configs, VideoEncoderConfig* encoder_config) override { send_config->rtp.extensions.clear(); - send_config->rtp.extensions.push_back( - RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeExtensionId)); + send_config->rtp.extensions.push_back(RtpExtension( + RtpExtension::kAbsSendTimeUri, test::kAbsSendTimeExtensionId)); } void PerformTest() override { @@ -230,7 +215,7 @@ TEST_F(VideoSendStreamTest, SupportsTransmissionTimeOffset) { Clock::GetRealTimeClock(), kEncodeDelayMs); }) { EXPECT_TRUE(parser_->RegisterRtpHeaderExtension( - kRtpExtensionTransmissionTimeOffset, kTimestampOffsetExtensionId)); + kRtpExtensionTransmissionTimeOffset, test::kTOffsetExtensionId)); } private: @@ -254,7 +239,7 @@ TEST_F(VideoSendStreamTest, SupportsTransmissionTimeOffset) { send_config->encoder_settings.encoder_factory = &encoder_factory_; send_config->rtp.extensions.clear(); send_config->rtp.extensions.push_back(RtpExtension( - RtpExtension::kTimestampOffsetUri, kTimestampOffsetExtensionId)); + RtpExtension::kTimestampOffsetUri, test::kTOffsetExtensionId)); } void PerformTest() override { @@ -268,7 +253,7 @@ TEST_F(VideoSendStreamTest, SupportsTransmissionTimeOffset) { } TEST_F(VideoSendStreamTest, SupportsTransportWideSequenceNumbers) { - static const uint8_t kExtensionId = kTransportSequenceNumberExtensionId; + static const uint8_t kExtensionId = test::kTransportSequenceNumberExtensionId; class TransportWideSequenceNumberObserver : public test::SendTest { public: TransportWideSequenceNumberObserver() @@ -316,7 +301,7 @@ TEST_F(VideoSendStreamTest, SupportsVideoRotation) { public: VideoRotationObserver() : SendTest(kDefaultTimeoutMs) { EXPECT_TRUE(parser_->RegisterRtpHeaderExtension( - kRtpExtensionVideoRotation, kVideoRotationExtensionId)); + kRtpExtensionVideoRotation, test::kVideoRotationExtensionId)); } Action OnSendRtp(const uint8_t* packet, size_t length) override { @@ -337,7 +322,7 @@ TEST_F(VideoSendStreamTest, SupportsVideoRotation) { VideoEncoderConfig* encoder_config) override { send_config->rtp.extensions.clear(); send_config->rtp.extensions.push_back(RtpExtension( - RtpExtension::kVideoRotationUri, kVideoRotationExtensionId)); + RtpExtension::kVideoRotationUri, test::kVideoRotationExtensionId)); } void OnFrameGeneratorCapturerCreated( @@ -359,7 +344,7 @@ TEST_F(VideoSendStreamTest, SupportsVideoContentType) { VideoContentTypeObserver() : SendTest(kDefaultTimeoutMs), first_frame_sent_(false) { EXPECT_TRUE(parser_->RegisterRtpHeaderExtension( - kRtpExtensionVideoContentType, kVideoContentTypeExtensionId)); + kRtpExtensionVideoContentType, test::kVideoContentTypeExtensionId)); } Action OnSendRtp(const uint8_t* packet, size_t length) override { @@ -382,8 +367,9 @@ TEST_F(VideoSendStreamTest, SupportsVideoContentType) { std::vector* receive_configs, VideoEncoderConfig* encoder_config) override { send_config->rtp.extensions.clear(); - send_config->rtp.extensions.push_back(RtpExtension( - RtpExtension::kVideoContentTypeUri, kVideoContentTypeExtensionId)); + send_config->rtp.extensions.push_back( + RtpExtension(RtpExtension::kVideoContentTypeUri, + test::kVideoContentTypeExtensionId)); encoder_config->content_type = VideoEncoderConfig::ContentType::kScreen; } @@ -403,8 +389,8 @@ TEST_F(VideoSendStreamTest, SupportsVideoTimingFrames) { public: VideoTimingObserver() : SendTest(kDefaultTimeoutMs), first_frame_sent_(false) { - EXPECT_TRUE(parser_->RegisterRtpHeaderExtension(kRtpExtensionVideoTiming, - kVideoTimingExtensionId)); + EXPECT_TRUE(parser_->RegisterRtpHeaderExtension( + kRtpExtensionVideoTiming, test::kVideoTimingExtensionId)); } Action OnSendRtp(const uint8_t* packet, size_t length) override { @@ -426,8 +412,8 @@ TEST_F(VideoSendStreamTest, SupportsVideoTimingFrames) { std::vector* receive_configs, VideoEncoderConfig* encoder_config) override { send_config->rtp.extensions.clear(); - send_config->rtp.extensions.push_back( - RtpExtension(RtpExtension::kVideoTimingUri, kVideoTimingExtensionId)); + send_config->rtp.extensions.push_back(RtpExtension( + RtpExtension::kVideoTimingUri, test::kVideoTimingExtensionId)); } void PerformTest() override { @@ -478,12 +464,7 @@ class UlpfecObserver : public test::EndToEndTest { expect_ulpfec_(expect_ulpfec), sent_media_(false), sent_ulpfec_(false), - header_extensions_enabled_(header_extensions_enabled) { - parser_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime, - kAbsSendTimeExtensionId); - parser_->RegisterRtpHeaderExtension(kRtpExtensionTransportSequenceNumber, - kTransportSequenceNumberExtensionId); - } + header_extensions_enabled_(header_extensions_enabled) {} // Some of the test cases are expected to time out and thus we are using // a shorter timeout window than the default here. @@ -583,11 +564,12 @@ class UlpfecObserver : public test::EndToEndTest { VideoSendStreamTest::kRedPayloadType; send_config->rtp.ulpfec.ulpfec_payload_type = VideoSendStreamTest::kUlpfecPayloadType; + EXPECT_FALSE(send_config->rtp.extensions.empty()); if (!header_extensions_enabled_) { send_config->rtp.extensions.clear(); } else { - send_config->rtp.extensions.push_back( - RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeExtensionId)); + send_config->rtp.extensions.push_back(RtpExtension( + RtpExtension::kAbsSendTimeUri, test::kAbsSendTimeExtensionId)); } encoder_config->codec_type = PayloadStringToCodecType(payload_name_); (*receive_configs)[0].rtp.red_payload_type = @@ -705,14 +687,7 @@ class FlexfecObserver : public test::EndToEndTest { sent_media_(false), sent_flexfec_(false), header_extensions_enabled_(header_extensions_enabled), - num_video_streams_(num_video_streams) { - parser_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime, - kAbsSendTimeExtensionId); - parser_->RegisterRtpHeaderExtension(kRtpExtensionTransmissionTimeOffset, - kTimestampOffsetExtensionId); - parser_->RegisterRtpHeaderExtension(kRtpExtensionTransportSequenceNumber, - kTransportSequenceNumberExtensionId); - } + num_video_streams_(num_video_streams) {} size_t GetNumFlexfecStreams() const override { return 1; } size_t GetNumVideoStreams() const override { return num_video_streams_; } @@ -776,10 +751,10 @@ class FlexfecObserver : public test::EndToEndTest { send_config->encoder_settings.encoder_factory = encoder_factory_; send_config->rtp.payload_name = payload_name_; if (header_extensions_enabled_) { - send_config->rtp.extensions.push_back( - RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeExtensionId)); send_config->rtp.extensions.push_back(RtpExtension( - RtpExtension::kTimestampOffsetUri, kTimestampOffsetExtensionId)); + RtpExtension::kAbsSendTimeUri, test::kAbsSendTimeExtensionId)); + send_config->rtp.extensions.push_back(RtpExtension( + RtpExtension::kTimestampOffsetUri, test::kTOffsetExtensionId)); } else { send_config->rtp.extensions.clear(); } @@ -1653,7 +1628,7 @@ TEST_F(VideoSendStreamTest, MinTransmitBitrateRespectsRemb) { TEST_F(VideoSendStreamTest, ChangingNetworkRoute) { static const int kStartBitrateBps = 300000; static const int kNewMaxBitrateBps = 1234567; - static const uint8_t kExtensionId = kTransportSequenceNumberExtensionId; + static const uint8_t kExtensionId = test::kTransportSequenceNumberExtensionId; class ChangingNetworkRouteTest : public test::EndToEndTest { public: explicit ChangingNetworkRouteTest(