Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(145)

Side by Side Diff: webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc

Issue 2644303002: Delete class SSRCDatabase, and its global ssrc registry. (Closed)
Patch Set: Fix comment typo. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 ASSERT_EQ(1u, transport_.sent_packets_.size()); 336 ASSERT_EQ(1u, transport_.sent_packets_.size());
337 // Verify padding packet timestamp. 337 // Verify padding packet timestamp.
338 EXPECT_EQ(kTimestamp, transport_.last_sent_packet().Timestamp()); 338 EXPECT_EQ(kTimestamp, transport_.last_sent_packet().Timestamp());
339 } 339 }
340 340
341 TEST_F(RtpSenderTestWithoutPacer, SendsPacketsWithTransportSequenceNumber) { 341 TEST_F(RtpSenderTestWithoutPacer, SendsPacketsWithTransportSequenceNumber) {
342 rtp_sender_.reset(new RTPSender( 342 rtp_sender_.reset(new RTPSender(
343 false, &fake_clock_, &transport_, nullptr, nullptr, &seq_num_allocator_, 343 false, &fake_clock_, &transport_, nullptr, nullptr, &seq_num_allocator_,
344 &feedback_observer_, nullptr, nullptr, nullptr, &mock_rtc_event_log_, 344 &feedback_observer_, nullptr, nullptr, nullptr, &mock_rtc_event_log_,
345 &send_packet_observer_, &retransmission_rate_limiter_, nullptr)); 345 &send_packet_observer_, &retransmission_rate_limiter_, nullptr));
346 rtp_sender_->SetSSRC(kSsrc);
346 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( 347 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
347 kRtpExtensionTransportSequenceNumber, 348 kRtpExtensionTransportSequenceNumber,
348 kTransportSequenceNumberExtensionId)); 349 kTransportSequenceNumberExtensionId));
349 350
350 EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) 351 EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber())
351 .WillOnce(testing::Return(kTransportSequenceNumber)); 352 .WillOnce(testing::Return(kTransportSequenceNumber));
352 EXPECT_CALL(send_packet_observer_, 353 EXPECT_CALL(send_packet_observer_,
353 OnSendPacket(kTransportSequenceNumber, _, _)) 354 OnSendPacket(kTransportSequenceNumber, _, _))
354 .Times(1); 355 .Times(1);
355 EXPECT_CALL(feedback_observer_, 356 EXPECT_CALL(feedback_observer_,
(...skipping 596 matching lines...) Expand 10 before | Expand all | Expand 10 after
952 953
953 uint32_t num_calls_; 954 uint32_t num_calls_;
954 uint32_t ssrc_; 955 uint32_t ssrc_;
955 FrameCounts frame_counts_; 956 FrameCounts frame_counts_;
956 } callback; 957 } callback;
957 958
958 rtp_sender_.reset( 959 rtp_sender_.reset(
959 new RTPSender(false, &fake_clock_, &transport_, &mock_paced_sender_, 960 new RTPSender(false, &fake_clock_, &transport_, &mock_paced_sender_,
960 nullptr, nullptr, nullptr, nullptr, &callback, nullptr, 961 nullptr, nullptr, nullptr, nullptr, &callback, nullptr,
961 nullptr, nullptr, &retransmission_rate_limiter_, nullptr)); 962 nullptr, nullptr, &retransmission_rate_limiter_, nullptr));
962 963 rtp_sender_->SetSSRC(kSsrc);
963 char payload_name[RTP_PAYLOAD_NAME_SIZE] = "GENERIC"; 964 char payload_name[RTP_PAYLOAD_NAME_SIZE] = "GENERIC";
964 const uint8_t payload_type = 127; 965 const uint8_t payload_type = 127;
965 ASSERT_EQ(0, rtp_sender_->RegisterPayload(payload_name, payload_type, 90000, 966 ASSERT_EQ(0, rtp_sender_->RegisterPayload(payload_name, payload_type, 90000,
966 0, 1500)); 967 0, 1500));
967 uint8_t payload[] = {47, 11, 32, 93, 89}; 968 uint8_t payload[] = {47, 11, 32, 93, 89};
968 rtp_sender_->SetStorePacketsStatus(true, 1); 969 rtp_sender_->SetStorePacketsStatus(true, 1);
969 uint32_t ssrc = rtp_sender_->SSRC(); 970 uint32_t ssrc = rtp_sender_->SSRC();
970 971
971 EXPECT_CALL(mock_paced_sender_, InsertPacket(_, _, _, _, _, _)) 972 EXPECT_CALL(mock_paced_sender_, InsertPacket(_, _, _, _, _, _))
972 .Times(::testing::AtLeast(2)); 973 .Times(::testing::AtLeast(2));
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
1014 1015
1015 uint32_t num_calls_; 1016 uint32_t num_calls_;
1016 uint32_t ssrc_; 1017 uint32_t ssrc_;
1017 uint32_t total_bitrate_; 1018 uint32_t total_bitrate_;
1018 uint32_t retransmit_bitrate_; 1019 uint32_t retransmit_bitrate_;
1019 } callback; 1020 } callback;
1020 rtp_sender_.reset(new RTPSender(false, &fake_clock_, &transport_, nullptr, 1021 rtp_sender_.reset(new RTPSender(false, &fake_clock_, &transport_, nullptr,
1021 nullptr, nullptr, nullptr, &callback, nullptr, 1022 nullptr, nullptr, nullptr, &callback, nullptr,
1022 nullptr, nullptr, nullptr, 1023 nullptr, nullptr, nullptr,
1023 &retransmission_rate_limiter_, nullptr)); 1024 &retransmission_rate_limiter_, nullptr));
1025 rtp_sender_->SetSSRC(kSsrc);
1024 1026
1025 // Simulate kNumPackets sent with kPacketInterval ms intervals, with the 1027 // Simulate kNumPackets sent with kPacketInterval ms intervals, with the
1026 // number of packets selected so that we fill (but don't overflow) the one 1028 // number of packets selected so that we fill (but don't overflow) the one
1027 // second averaging window. 1029 // second averaging window.
1028 const uint32_t kWindowSizeMs = 1000; 1030 const uint32_t kWindowSizeMs = 1000;
1029 const uint32_t kPacketInterval = 20; 1031 const uint32_t kPacketInterval = 20;
1030 const uint32_t kNumPackets = 1032 const uint32_t kNumPackets =
1031 (kWindowSizeMs - kPacketInterval) / kPacketInterval; 1033 (kWindowSizeMs - kPacketInterval) / kPacketInterval;
1032 // Overhead = 12 bytes RTP header + 1 byte generic header. 1034 // Overhead = 12 bytes RTP header + 1 byte generic header.
1033 const uint32_t kPacketOverhead = 13; 1035 const uint32_t kPacketOverhead = 13;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
1072 class RtpSenderAudioTest : public RtpSenderTest { 1074 class RtpSenderAudioTest : public RtpSenderTest {
1073 protected: 1075 protected:
1074 RtpSenderAudioTest() {} 1076 RtpSenderAudioTest() {}
1075 1077
1076 void SetUp() override { 1078 void SetUp() override {
1077 payload_ = kAudioPayload; 1079 payload_ = kAudioPayload;
1078 rtp_sender_.reset(new RTPSender(true, &fake_clock_, &transport_, nullptr, 1080 rtp_sender_.reset(new RTPSender(true, &fake_clock_, &transport_, nullptr,
1079 nullptr, nullptr, nullptr, nullptr, nullptr, 1081 nullptr, nullptr, nullptr, nullptr, nullptr,
1080 nullptr, nullptr, nullptr, 1082 nullptr, nullptr, nullptr,
1081 &retransmission_rate_limiter_, nullptr)); 1083 &retransmission_rate_limiter_, nullptr));
1084 rtp_sender_->SetSSRC(kSsrc);
1082 rtp_sender_->SetSequenceNumber(kSeqNum); 1085 rtp_sender_->SetSequenceNumber(kSeqNum);
1083 } 1086 }
1084 }; 1087 };
1085 1088
1086 TEST_F(RtpSenderTestWithoutPacer, StreamDataCountersCallbacks) { 1089 TEST_F(RtpSenderTestWithoutPacer, StreamDataCountersCallbacks) {
1087 class TestCallback : public StreamDataCountersCallback { 1090 class TestCallback : public StreamDataCountersCallback {
1088 public: 1091 public:
1089 TestCallback() : StreamDataCountersCallback(), ssrc_(0), counters_() {} 1092 TestCallback() : StreamDataCountersCallback(), ssrc_(0), counters_() {}
1090 virtual ~TestCallback() {} 1093 virtual ~TestCallback() {}
1091 1094
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after
1432 MOCK_METHOD1(OnOverheadChanged, void(size_t overhead_bytes_per_packet)); 1435 MOCK_METHOD1(OnOverheadChanged, void(size_t overhead_bytes_per_packet));
1433 }; 1436 };
1434 } // namespace 1437 } // namespace
1435 1438
1436 TEST_F(RtpSenderTest, OnOverheadChanged) { 1439 TEST_F(RtpSenderTest, OnOverheadChanged) {
1437 MockOverheadObserver mock_overhead_observer; 1440 MockOverheadObserver mock_overhead_observer;
1438 rtp_sender_.reset( 1441 rtp_sender_.reset(
1439 new RTPSender(false, &fake_clock_, &transport_, nullptr, nullptr, nullptr, 1442 new RTPSender(false, &fake_clock_, &transport_, nullptr, nullptr, nullptr,
1440 nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1443 nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
1441 &retransmission_rate_limiter_, &mock_overhead_observer)); 1444 &retransmission_rate_limiter_, &mock_overhead_observer));
1445 rtp_sender_->SetSSRC(kSsrc);
1442 1446
1443 // RTP overhead is 12B. 1447 // RTP overhead is 12B.
1444 EXPECT_CALL(mock_overhead_observer, OnOverheadChanged(12)).Times(1); 1448 EXPECT_CALL(mock_overhead_observer, OnOverheadChanged(12)).Times(1);
1445 SendGenericPayload(); 1449 SendGenericPayload();
1446 1450
1447 rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionTransmissionTimeOffset, 1451 rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionTransmissionTimeOffset,
1448 kTransmissionTimeOffsetExtensionId); 1452 kTransmissionTimeOffsetExtensionId);
1449 1453
1450 // TransmissionTimeOffset extension has a size of 8B. 1454 // TransmissionTimeOffset extension has a size of 8B.
1451 // 12B + 8B = 20B 1455 // 12B + 8B = 20B
1452 EXPECT_CALL(mock_overhead_observer, OnOverheadChanged(20)).Times(1); 1456 EXPECT_CALL(mock_overhead_observer, OnOverheadChanged(20)).Times(1);
1453 SendGenericPayload(); 1457 SendGenericPayload();
1454 } 1458 }
1455 1459
1456 TEST_F(RtpSenderTest, DoesNotUpdateOverheadOnEqualSize) { 1460 TEST_F(RtpSenderTest, DoesNotUpdateOverheadOnEqualSize) {
1457 MockOverheadObserver mock_overhead_observer; 1461 MockOverheadObserver mock_overhead_observer;
1458 rtp_sender_.reset( 1462 rtp_sender_.reset(
1459 new RTPSender(false, &fake_clock_, &transport_, nullptr, nullptr, nullptr, 1463 new RTPSender(false, &fake_clock_, &transport_, nullptr, nullptr, nullptr,
1460 nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1464 nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
1461 &retransmission_rate_limiter_, &mock_overhead_observer)); 1465 &retransmission_rate_limiter_, &mock_overhead_observer));
1466 rtp_sender_->SetSSRC(kSsrc);
1462 1467
1463 EXPECT_CALL(mock_overhead_observer, OnOverheadChanged(_)).Times(1); 1468 EXPECT_CALL(mock_overhead_observer, OnOverheadChanged(_)).Times(1);
1464 SendGenericPayload(); 1469 SendGenericPayload();
1465 SendGenericPayload(); 1470 SendGenericPayload();
1466 } 1471 }
1467 1472
1468 TEST_F(RtpSenderTest, AddOverheadToTransportFeedbackObserver) { 1473 TEST_F(RtpSenderTest, AddOverheadToTransportFeedbackObserver) {
1469 constexpr int kRtpOverheadBytesPerPacket = 12 + 8; 1474 constexpr int kRtpOverheadBytesPerPacket = 12 + 8;
1470 test::ScopedFieldTrials override_field_trials( 1475 test::ScopedFieldTrials override_field_trials(
1471 "WebRTC-SendSideBwe-WithOverhead/Enabled/"); 1476 "WebRTC-SendSideBwe-WithOverhead/Enabled/");
1472 testing::NiceMock<MockOverheadObserver> mock_overhead_observer; 1477 testing::NiceMock<MockOverheadObserver> mock_overhead_observer;
1473 rtp_sender_.reset(new RTPSender( 1478 rtp_sender_.reset(new RTPSender(
1474 false, &fake_clock_, &transport_, nullptr, nullptr, &seq_num_allocator_, 1479 false, &fake_clock_, &transport_, nullptr, nullptr, &seq_num_allocator_,
1475 &feedback_observer_, nullptr, nullptr, nullptr, &mock_rtc_event_log_, 1480 &feedback_observer_, nullptr, nullptr, nullptr, &mock_rtc_event_log_,
1476 nullptr, &retransmission_rate_limiter_, &mock_overhead_observer)); 1481 nullptr, &retransmission_rate_limiter_, &mock_overhead_observer));
1482 rtp_sender_->SetSSRC(kSsrc);
1477 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( 1483 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
1478 kRtpExtensionTransportSequenceNumber, 1484 kRtpExtensionTransportSequenceNumber,
1479 kTransportSequenceNumberExtensionId)); 1485 kTransportSequenceNumberExtensionId));
1480 EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) 1486 EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber())
1481 .WillOnce(testing::Return(kTransportSequenceNumber)); 1487 .WillOnce(testing::Return(kTransportSequenceNumber));
1482 EXPECT_CALL(feedback_observer_, 1488 EXPECT_CALL(feedback_observer_,
1483 AddPacket(kTransportSequenceNumber, 1489 AddPacket(kTransportSequenceNumber,
1484 sizeof(kPayloadData) + kGenericHeaderLength + 1490 sizeof(kPayloadData) + kGenericHeaderLength +
1485 kRtpOverheadBytesPerPacket, 1491 kRtpOverheadBytesPerPacket,
1486 PacketInfo::kNotAProbe)) 1492 PacketInfo::kNotAProbe))
(...skipping 23 matching lines...) Expand all
1510 kPaddingSize, PacketInfo::kNotAProbe)); 1516 kPaddingSize, PacketInfo::kNotAProbe));
1511 1517
1512 // Requested padding size is too small, will send a larger one. 1518 // Requested padding size is too small, will send a larger one.
1513 const size_t kMinPaddingSize = 50; 1519 const size_t kMinPaddingSize = 50;
1514 EXPECT_CALL(transport, SendRtp(_, kMinPaddingSize + kRtpHeaderSize, _)) 1520 EXPECT_CALL(transport, SendRtp(_, kMinPaddingSize + kRtpHeaderSize, _))
1515 .WillOnce(testing::Return(true)); 1521 .WillOnce(testing::Return(true));
1516 EXPECT_EQ(kMinPaddingSize, rtp_sender_->TimeToSendPadding( 1522 EXPECT_EQ(kMinPaddingSize, rtp_sender_->TimeToSendPadding(
1517 kMinPaddingSize - 5, PacketInfo::kNotAProbe)); 1523 kMinPaddingSize - 5, PacketInfo::kNotAProbe));
1518 } 1524 }
1519 } // namespace webrtc 1525 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698