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

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: Addressed comments. 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 550 matching lines...) Expand 10 before | Expand all | Expand 10 after
906 907
907 uint32_t num_calls_; 908 uint32_t num_calls_;
908 uint32_t ssrc_; 909 uint32_t ssrc_;
909 FrameCounts frame_counts_; 910 FrameCounts frame_counts_;
910 } callback; 911 } callback;
911 912
912 rtp_sender_.reset( 913 rtp_sender_.reset(
913 new RTPSender(false, &fake_clock_, &transport_, &mock_paced_sender_, 914 new RTPSender(false, &fake_clock_, &transport_, &mock_paced_sender_,
914 nullptr, nullptr, nullptr, nullptr, &callback, nullptr, 915 nullptr, nullptr, nullptr, nullptr, &callback, nullptr,
915 nullptr, nullptr, &retransmission_rate_limiter_, nullptr)); 916 nullptr, nullptr, &retransmission_rate_limiter_, nullptr));
916 917 rtp_sender_->SetSSRC(kSsrc);
917 char payload_name[RTP_PAYLOAD_NAME_SIZE] = "GENERIC"; 918 char payload_name[RTP_PAYLOAD_NAME_SIZE] = "GENERIC";
918 const uint8_t payload_type = 127; 919 const uint8_t payload_type = 127;
919 ASSERT_EQ(0, rtp_sender_->RegisterPayload(payload_name, payload_type, 90000, 920 ASSERT_EQ(0, rtp_sender_->RegisterPayload(payload_name, payload_type, 90000,
920 0, 1500)); 921 0, 1500));
921 uint8_t payload[] = {47, 11, 32, 93, 89}; 922 uint8_t payload[] = {47, 11, 32, 93, 89};
922 rtp_sender_->SetStorePacketsStatus(true, 1); 923 rtp_sender_->SetStorePacketsStatus(true, 1);
923 uint32_t ssrc = rtp_sender_->SSRC(); 924 uint32_t ssrc = rtp_sender_->SSRC();
924 925
925 EXPECT_CALL(mock_paced_sender_, InsertPacket(_, _, _, _, _, _)) 926 EXPECT_CALL(mock_paced_sender_, InsertPacket(_, _, _, _, _, _))
926 .Times(::testing::AtLeast(2)); 927 .Times(::testing::AtLeast(2));
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
968 969
969 uint32_t num_calls_; 970 uint32_t num_calls_;
970 uint32_t ssrc_; 971 uint32_t ssrc_;
971 uint32_t total_bitrate_; 972 uint32_t total_bitrate_;
972 uint32_t retransmit_bitrate_; 973 uint32_t retransmit_bitrate_;
973 } callback; 974 } callback;
974 rtp_sender_.reset(new RTPSender(false, &fake_clock_, &transport_, nullptr, 975 rtp_sender_.reset(new RTPSender(false, &fake_clock_, &transport_, nullptr,
975 nullptr, nullptr, nullptr, &callback, nullptr, 976 nullptr, nullptr, nullptr, &callback, nullptr,
976 nullptr, nullptr, nullptr, 977 nullptr, nullptr, nullptr,
977 &retransmission_rate_limiter_, nullptr)); 978 &retransmission_rate_limiter_, nullptr));
979 rtp_sender_->SetSSRC(kSsrc);
978 980
979 // Simulate kNumPackets sent with kPacketInterval ms intervals, with the 981 // Simulate kNumPackets sent with kPacketInterval ms intervals, with the
980 // number of packets selected so that we fill (but don't overflow) the one 982 // number of packets selected so that we fill (but don't overflow) the one
981 // second averaging window. 983 // second averaging window.
982 const uint32_t kWindowSizeMs = 1000; 984 const uint32_t kWindowSizeMs = 1000;
983 const uint32_t kPacketInterval = 20; 985 const uint32_t kPacketInterval = 20;
984 const uint32_t kNumPackets = 986 const uint32_t kNumPackets =
985 (kWindowSizeMs - kPacketInterval) / kPacketInterval; 987 (kWindowSizeMs - kPacketInterval) / kPacketInterval;
986 // Overhead = 12 bytes RTP header + 1 byte generic header. 988 // Overhead = 12 bytes RTP header + 1 byte generic header.
987 const uint32_t kPacketOverhead = 13; 989 const uint32_t kPacketOverhead = 13;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
1026 class RtpSenderAudioTest : public RtpSenderTest { 1028 class RtpSenderAudioTest : public RtpSenderTest {
1027 protected: 1029 protected:
1028 RtpSenderAudioTest() {} 1030 RtpSenderAudioTest() {}
1029 1031
1030 void SetUp() override { 1032 void SetUp() override {
1031 payload_ = kAudioPayload; 1033 payload_ = kAudioPayload;
1032 rtp_sender_.reset(new RTPSender(true, &fake_clock_, &transport_, nullptr, 1034 rtp_sender_.reset(new RTPSender(true, &fake_clock_, &transport_, nullptr,
1033 nullptr, nullptr, nullptr, nullptr, nullptr, 1035 nullptr, nullptr, nullptr, nullptr, nullptr,
1034 nullptr, nullptr, nullptr, 1036 nullptr, nullptr, nullptr,
1035 &retransmission_rate_limiter_, nullptr)); 1037 &retransmission_rate_limiter_, nullptr));
1038 rtp_sender_->SetSSRC(kSsrc);
1036 rtp_sender_->SetSequenceNumber(kSeqNum); 1039 rtp_sender_->SetSequenceNumber(kSeqNum);
1037 } 1040 }
1038 }; 1041 };
1039 1042
1040 TEST_F(RtpSenderTestWithoutPacer, StreamDataCountersCallbacks) { 1043 TEST_F(RtpSenderTestWithoutPacer, StreamDataCountersCallbacks) {
1041 class TestCallback : public StreamDataCountersCallback { 1044 class TestCallback : public StreamDataCountersCallback {
1042 public: 1045 public:
1043 TestCallback() : StreamDataCountersCallback(), ssrc_(0), counters_() {} 1046 TestCallback() : StreamDataCountersCallback(), ssrc_(0), counters_() {}
1044 virtual ~TestCallback() {} 1047 virtual ~TestCallback() {}
1045 1048
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after
1386 MOCK_METHOD1(OnOverheadChanged, void(size_t overhead_bytes_per_packet)); 1389 MOCK_METHOD1(OnOverheadChanged, void(size_t overhead_bytes_per_packet));
1387 }; 1390 };
1388 } // namespace 1391 } // namespace
1389 1392
1390 TEST_F(RtpSenderTest, OnOverheadChanged) { 1393 TEST_F(RtpSenderTest, OnOverheadChanged) {
1391 MockOverheadObserver mock_overhead_observer; 1394 MockOverheadObserver mock_overhead_observer;
1392 rtp_sender_.reset( 1395 rtp_sender_.reset(
1393 new RTPSender(false, &fake_clock_, &transport_, nullptr, nullptr, nullptr, 1396 new RTPSender(false, &fake_clock_, &transport_, nullptr, nullptr, nullptr,
1394 nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1397 nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
1395 &retransmission_rate_limiter_, &mock_overhead_observer)); 1398 &retransmission_rate_limiter_, &mock_overhead_observer));
1399 rtp_sender_->SetSSRC(kSsrc);
1396 1400
1397 // RTP overhead is 12B. 1401 // RTP overhead is 12B.
1398 EXPECT_CALL(mock_overhead_observer, OnOverheadChanged(12)).Times(1); 1402 EXPECT_CALL(mock_overhead_observer, OnOverheadChanged(12)).Times(1);
1399 SendGenericPayload(); 1403 SendGenericPayload();
1400 1404
1401 rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionTransmissionTimeOffset, 1405 rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionTransmissionTimeOffset,
1402 kTransmissionTimeOffsetExtensionId); 1406 kTransmissionTimeOffsetExtensionId);
1403 1407
1404 // TransmissionTimeOffset extension has a size of 8B. 1408 // TransmissionTimeOffset extension has a size of 8B.
1405 // 12B + 8B = 20B 1409 // 12B + 8B = 20B
1406 EXPECT_CALL(mock_overhead_observer, OnOverheadChanged(20)).Times(1); 1410 EXPECT_CALL(mock_overhead_observer, OnOverheadChanged(20)).Times(1);
1407 SendGenericPayload(); 1411 SendGenericPayload();
1408 } 1412 }
1409 1413
1410 TEST_F(RtpSenderTest, DoesNotUpdateOverheadOnEqualSize) { 1414 TEST_F(RtpSenderTest, DoesNotUpdateOverheadOnEqualSize) {
1411 MockOverheadObserver mock_overhead_observer; 1415 MockOverheadObserver mock_overhead_observer;
1412 rtp_sender_.reset( 1416 rtp_sender_.reset(
1413 new RTPSender(false, &fake_clock_, &transport_, nullptr, nullptr, nullptr, 1417 new RTPSender(false, &fake_clock_, &transport_, nullptr, nullptr, nullptr,
1414 nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 1418 nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
1415 &retransmission_rate_limiter_, &mock_overhead_observer)); 1419 &retransmission_rate_limiter_, &mock_overhead_observer));
1420 rtp_sender_->SetSSRC(kSsrc);
1416 1421
1417 EXPECT_CALL(mock_overhead_observer, OnOverheadChanged(_)).Times(1); 1422 EXPECT_CALL(mock_overhead_observer, OnOverheadChanged(_)).Times(1);
1418 SendGenericPayload(); 1423 SendGenericPayload();
1419 SendGenericPayload(); 1424 SendGenericPayload();
1420 } 1425 }
1421 1426
1422 TEST_F(RtpSenderTest, AddOverheadToTransportFeedbackObserver) { 1427 TEST_F(RtpSenderTest, AddOverheadToTransportFeedbackObserver) {
1423 constexpr int kRtpOverheadBytesPerPacket = 12 + 8; 1428 constexpr int kRtpOverheadBytesPerPacket = 12 + 8;
1424 test::ScopedFieldTrials override_field_trials( 1429 test::ScopedFieldTrials override_field_trials(
1425 "WebRTC-SendSideBwe-WithOverhead/Enabled/"); 1430 "WebRTC-SendSideBwe-WithOverhead/Enabled/");
1426 testing::NiceMock<MockOverheadObserver> mock_overhead_observer; 1431 testing::NiceMock<MockOverheadObserver> mock_overhead_observer;
1427 rtp_sender_.reset(new RTPSender( 1432 rtp_sender_.reset(new RTPSender(
1428 false, &fake_clock_, &transport_, nullptr, nullptr, &seq_num_allocator_, 1433 false, &fake_clock_, &transport_, nullptr, nullptr, &seq_num_allocator_,
1429 &feedback_observer_, nullptr, nullptr, nullptr, &mock_rtc_event_log_, 1434 &feedback_observer_, nullptr, nullptr, nullptr, &mock_rtc_event_log_,
1430 nullptr, &retransmission_rate_limiter_, &mock_overhead_observer)); 1435 nullptr, &retransmission_rate_limiter_, &mock_overhead_observer));
1436 rtp_sender_->SetSSRC(kSsrc);
1431 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( 1437 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
1432 kRtpExtensionTransportSequenceNumber, 1438 kRtpExtensionTransportSequenceNumber,
1433 kTransportSequenceNumberExtensionId)); 1439 kTransportSequenceNumberExtensionId));
1434 EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) 1440 EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber())
1435 .WillOnce(testing::Return(kTransportSequenceNumber)); 1441 .WillOnce(testing::Return(kTransportSequenceNumber));
1436 EXPECT_CALL(feedback_observer_, 1442 EXPECT_CALL(feedback_observer_,
1437 AddPacket(kTransportSequenceNumber, 1443 AddPacket(kTransportSequenceNumber,
1438 sizeof(kPayloadData) + kGenericHeaderLength + 1444 sizeof(kPayloadData) + kGenericHeaderLength +
1439 kRtpOverheadBytesPerPacket, 1445 kRtpOverheadBytesPerPacket,
1440 PacketInfo::kNotAProbe)) 1446 PacketInfo::kNotAProbe))
1441 .Times(1); 1447 .Times(1);
1442 EXPECT_CALL(mock_overhead_observer, 1448 EXPECT_CALL(mock_overhead_observer,
1443 OnOverheadChanged(kRtpOverheadBytesPerPacket)) 1449 OnOverheadChanged(kRtpOverheadBytesPerPacket))
1444 .Times(1); 1450 .Times(1);
1445 SendGenericPayload(); 1451 SendGenericPayload();
1446 } 1452 }
1447 1453
1448 } // namespace webrtc 1454 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698