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

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

Issue 2855143002: Removed RtcEventLog deps to call:call_interfaces. (Closed)
Patch Set: Made GetSend/ReceiveConfig private. Created 3 years, 6 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 446 matching lines...) Expand 10 before | Expand all | Expand 10 after
457 uint16_t transport_seq_no; 457 uint16_t transport_seq_no;
458 EXPECT_TRUE(packet.GetExtension<TransportSequenceNumber>(&transport_seq_no)); 458 EXPECT_TRUE(packet.GetExtension<TransportSequenceNumber>(&transport_seq_no));
459 EXPECT_EQ(kTransportSequenceNumber, transport_seq_no); 459 EXPECT_EQ(kTransportSequenceNumber, transport_seq_no);
460 EXPECT_EQ(transport_.last_packet_id_, transport_seq_no); 460 EXPECT_EQ(transport_.last_packet_id_, transport_seq_no);
461 } 461 }
462 462
463 TEST_P(RtpSenderTest, TrafficSmoothingWithExtensions) { 463 TEST_P(RtpSenderTest, TrafficSmoothingWithExtensions) {
464 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority, 464 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority,
465 kSsrc, kSeqNum, _, _, _)); 465 kSsrc, kSeqNum, _, _, _));
466 EXPECT_CALL(mock_rtc_event_log_, 466 EXPECT_CALL(mock_rtc_event_log_,
467 LogRtpHeader(PacketDirection::kOutgoingPacket, _, _, _, _)); 467 LogRtpHeader(PacketDirection::kOutgoingPacket, _, _, _));
468 468
469 rtp_sender_->SetStorePacketsStatus(true, 10); 469 rtp_sender_->SetStorePacketsStatus(true, 10);
470 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( 470 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
471 kRtpExtensionTransmissionTimeOffset, 471 kRtpExtensionTransmissionTimeOffset,
472 kTransmissionTimeOffsetExtensionId)); 472 kTransmissionTimeOffsetExtensionId));
473 EXPECT_EQ( 473 EXPECT_EQ(
474 0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime, 474 0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime,
475 kAbsoluteSendTimeExtensionId)); 475 kAbsoluteSendTimeExtensionId));
476 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds(); 476 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds();
477 auto packet = 477 auto packet =
(...skipping 24 matching lines...) Expand all
502 EXPECT_EQ(kStoredTimeInMs * 90, rtp_header.extension.transmissionTimeOffset); 502 EXPECT_EQ(kStoredTimeInMs * 90, rtp_header.extension.transmissionTimeOffset);
503 uint64_t expected_send_time = 503 uint64_t expected_send_time =
504 ConvertMsToAbsSendTime(fake_clock_.TimeInMilliseconds()); 504 ConvertMsToAbsSendTime(fake_clock_.TimeInMilliseconds());
505 EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime); 505 EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime);
506 } 506 }
507 507
508 TEST_P(RtpSenderTest, TrafficSmoothingRetransmits) { 508 TEST_P(RtpSenderTest, TrafficSmoothingRetransmits) {
509 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority, 509 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority,
510 kSsrc, kSeqNum, _, _, _)); 510 kSsrc, kSeqNum, _, _, _));
511 EXPECT_CALL(mock_rtc_event_log_, 511 EXPECT_CALL(mock_rtc_event_log_,
512 LogRtpHeader(PacketDirection::kOutgoingPacket, _, _, _, _)); 512 LogRtpHeader(PacketDirection::kOutgoingPacket, _, _, _));
513 513
514 rtp_sender_->SetStorePacketsStatus(true, 10); 514 rtp_sender_->SetStorePacketsStatus(true, 10);
515 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( 515 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
516 kRtpExtensionTransmissionTimeOffset, 516 kRtpExtensionTransmissionTimeOffset,
517 kTransmissionTimeOffsetExtensionId)); 517 kTransmissionTimeOffsetExtensionId));
518 EXPECT_EQ( 518 EXPECT_EQ(
519 0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime, 519 0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime,
520 kAbsoluteSendTimeExtensionId)); 520 kAbsoluteSendTimeExtensionId));
521 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds(); 521 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds();
522 auto packet = 522 auto packet =
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
556 EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime); 556 EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime);
557 } 557 }
558 558
559 // This test sends 1 regular video packet, then 4 padding packets, and then 559 // This test sends 1 regular video packet, then 4 padding packets, and then
560 // 1 more regular packet. 560 // 1 more regular packet.
561 TEST_P(RtpSenderTest, SendPadding) { 561 TEST_P(RtpSenderTest, SendPadding) {
562 // Make all (non-padding) packets go to send queue. 562 // Make all (non-padding) packets go to send queue.
563 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority, 563 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority,
564 kSsrc, kSeqNum, _, _, _)); 564 kSsrc, kSeqNum, _, _, _));
565 EXPECT_CALL(mock_rtc_event_log_, 565 EXPECT_CALL(mock_rtc_event_log_,
566 LogRtpHeader(PacketDirection::kOutgoingPacket, _, _, _, _)) 566 LogRtpHeader(PacketDirection::kOutgoingPacket, _, _, _))
567 .Times(1 + 4 + 1); 567 .Times(1 + 4 + 1);
568 568
569 uint16_t seq_num = kSeqNum; 569 uint16_t seq_num = kSeqNum;
570 uint32_t timestamp = kTimestamp; 570 uint32_t timestamp = kTimestamp;
571 rtp_sender_->SetStorePacketsStatus(true, 10); 571 rtp_sender_->SetStorePacketsStatus(true, 10);
572 size_t rtp_header_len = kRtpHeaderSize; 572 size_t rtp_header_len = kRtpHeaderSize;
573 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( 573 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
574 kRtpExtensionTransmissionTimeOffset, 574 kRtpExtensionTransmissionTimeOffset,
575 kTransmissionTimeOffsetExtensionId)); 575 kTransmissionTimeOffsetExtensionId));
576 rtp_header_len += 4; // 4 bytes extension. 576 rtp_header_len += 4; // 4 bytes extension.
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
757 rtp_sender_->SetRtxSsrc(1234); 757 rtp_sender_->SetRtxSsrc(1234);
758 758
759 const size_t kNumPayloadSizes = 10; 759 const size_t kNumPayloadSizes = 10;
760 const size_t kPayloadSizes[kNumPayloadSizes] = {500, 550, 600, 650, 700, 760 const size_t kPayloadSizes[kNumPayloadSizes] = {500, 550, 600, 650, 700,
761 750, 800, 850, 900, 950}; 761 750, 800, 850, 900, 950};
762 // Expect all packets go through the pacer. 762 // Expect all packets go through the pacer.
763 EXPECT_CALL(mock_paced_sender_, 763 EXPECT_CALL(mock_paced_sender_,
764 InsertPacket(RtpPacketSender::kNormalPriority, kSsrc, _, _, _, _)) 764 InsertPacket(RtpPacketSender::kNormalPriority, kSsrc, _, _, _, _))
765 .Times(kNumPayloadSizes); 765 .Times(kNumPayloadSizes);
766 EXPECT_CALL(mock_rtc_event_log_, 766 EXPECT_CALL(mock_rtc_event_log_,
767 LogRtpHeader(PacketDirection::kOutgoingPacket, _, _, _, _)) 767 LogRtpHeader(PacketDirection::kOutgoingPacket, _, _, _))
768 .Times(kNumPayloadSizes); 768 .Times(kNumPayloadSizes);
769 769
770 // Send 10 packets of increasing size. 770 // Send 10 packets of increasing size.
771 for (size_t i = 0; i < kNumPayloadSizes; ++i) { 771 for (size_t i = 0; i < kNumPayloadSizes; ++i) {
772 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds(); 772 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds();
773 EXPECT_CALL(transport, SendRtp(_, _, _)).WillOnce(testing::Return(true)); 773 EXPECT_CALL(transport, SendRtp(_, _, _)).WillOnce(testing::Return(true));
774 SendPacket(capture_time_ms, kPayloadSizes[i]); 774 SendPacket(capture_time_ms, kPayloadSizes[i]);
775 rtp_sender_->TimeToSendPacket(kSsrc, seq_num++, capture_time_ms, false, 775 rtp_sender_->TimeToSendPacket(kSsrc, seq_num++, capture_time_ms, false,
776 PacedPacketInfo()); 776 PacedPacketInfo());
777 fake_clock_.AdvanceTimeMilliseconds(33); 777 fake_clock_.AdvanceTimeMilliseconds(33);
778 } 778 }
779 779
780 EXPECT_CALL(mock_rtc_event_log_, 780 EXPECT_CALL(mock_rtc_event_log_,
781 LogRtpHeader(PacketDirection::kOutgoingPacket, _, _, _, _)) 781 LogRtpHeader(PacketDirection::kOutgoingPacket, _, _, _))
782 .Times(::testing::AtLeast(4)); 782 .Times(::testing::AtLeast(4));
783 783
784 // The amount of padding to send it too small to send a payload packet. 784 // The amount of padding to send it too small to send a payload packet.
785 EXPECT_CALL(transport, SendRtp(_, kMaxPaddingSize + rtp_header_len, _)) 785 EXPECT_CALL(transport, SendRtp(_, kMaxPaddingSize + rtp_header_len, _))
786 .WillOnce(testing::Return(true)); 786 .WillOnce(testing::Return(true));
787 EXPECT_EQ(kMaxPaddingSize, 787 EXPECT_EQ(kMaxPaddingSize,
788 rtp_sender_->TimeToSendPadding(49, PacedPacketInfo())); 788 rtp_sender_->TimeToSendPadding(49, PacedPacketInfo()));
789 789
790 EXPECT_CALL(transport, 790 EXPECT_CALL(transport,
791 SendRtp(_, kPayloadSizes[0] + rtp_header_len + kRtxHeaderSize, _)) 791 SendRtp(_, kPayloadSizes[0] + rtp_header_len + kRtxHeaderSize, _))
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
868 868
869 EXPECT_CALL(mock_paced_sender_, 869 EXPECT_CALL(mock_paced_sender_,
870 InsertPacket(RtpPacketSender::kLowPriority, kMediaSsrc, kSeqNum, 870 InsertPacket(RtpPacketSender::kLowPriority, kMediaSsrc, kSeqNum,
871 _, _, false)); 871 _, _, false));
872 uint16_t flexfec_seq_num; 872 uint16_t flexfec_seq_num;
873 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kLowPriority, 873 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kLowPriority,
874 kFlexfecSsrc, _, _, _, false)) 874 kFlexfecSsrc, _, _, _, false))
875 .WillOnce(testing::SaveArg<2>(&flexfec_seq_num)); 875 .WillOnce(testing::SaveArg<2>(&flexfec_seq_num));
876 SendGenericPayload(); 876 SendGenericPayload();
877 EXPECT_CALL(mock_rtc_event_log_, 877 EXPECT_CALL(mock_rtc_event_log_,
878 LogRtpHeader(PacketDirection::kOutgoingPacket, _, _, _, _)) 878 LogRtpHeader(PacketDirection::kOutgoingPacket, _, _, _))
879 .Times(2); 879 .Times(2);
880 EXPECT_TRUE(rtp_sender_->TimeToSendPacket(kMediaSsrc, kSeqNum, 880 EXPECT_TRUE(rtp_sender_->TimeToSendPacket(kMediaSsrc, kSeqNum,
881 fake_clock_.TimeInMilliseconds(), 881 fake_clock_.TimeInMilliseconds(),
882 false, PacedPacketInfo())); 882 false, PacedPacketInfo()));
883 EXPECT_TRUE(rtp_sender_->TimeToSendPacket(kFlexfecSsrc, flexfec_seq_num, 883 EXPECT_TRUE(rtp_sender_->TimeToSendPacket(kFlexfecSsrc, flexfec_seq_num,
884 fake_clock_.TimeInMilliseconds(), 884 fake_clock_.TimeInMilliseconds(),
885 false, PacedPacketInfo())); 885 false, PacedPacketInfo()));
886 ASSERT_EQ(2, transport_.packets_sent()); 886 ASSERT_EQ(2, transport_.packets_sent());
887 const RtpPacketReceived& media_packet = transport_.sent_packets_[0]; 887 const RtpPacketReceived& media_packet = transport_.sent_packets_[0];
888 EXPECT_EQ(kMediaPayloadType, media_packet.PayloadType()); 888 EXPECT_EQ(kMediaPayloadType, media_packet.PayloadType());
(...skipping 27 matching lines...) Expand all
916 rtp_sender_->SetSendPayloadType(kMediaPayloadType); 916 rtp_sender_->SetSendPayloadType(kMediaPayloadType);
917 917
918 // Parameters selected to generate a single FEC packet per media packet. 918 // Parameters selected to generate a single FEC packet per media packet.
919 FecProtectionParams params; 919 FecProtectionParams params;
920 params.fec_rate = 15; 920 params.fec_rate = 15;
921 params.max_fec_frames = 1; 921 params.max_fec_frames = 1;
922 params.fec_mask_type = kFecMaskRandom; 922 params.fec_mask_type = kFecMaskRandom;
923 rtp_sender_->SetFecParameters(params, params); 923 rtp_sender_->SetFecParameters(params, params);
924 924
925 EXPECT_CALL(mock_rtc_event_log_, 925 EXPECT_CALL(mock_rtc_event_log_,
926 LogRtpHeader(PacketDirection::kOutgoingPacket, _, _, _, _)) 926 LogRtpHeader(PacketDirection::kOutgoingPacket, _, _, _))
927 .Times(2); 927 .Times(2);
928 SendGenericPayload(); 928 SendGenericPayload();
929 ASSERT_EQ(2, transport_.packets_sent()); 929 ASSERT_EQ(2, transport_.packets_sent());
930 const RtpPacketReceived& media_packet = transport_.sent_packets_[0]; 930 const RtpPacketReceived& media_packet = transport_.sent_packets_[0];
931 EXPECT_EQ(kMediaPayloadType, media_packet.PayloadType()); 931 EXPECT_EQ(kMediaPayloadType, media_packet.PayloadType());
932 EXPECT_EQ(kMediaSsrc, media_packet.Ssrc()); 932 EXPECT_EQ(kMediaSsrc, media_packet.Ssrc());
933 const RtpPacketReceived& flexfec_packet = transport_.sent_packets_[1]; 933 const RtpPacketReceived& flexfec_packet = transport_.sent_packets_[1];
934 EXPECT_EQ(kFlexfecPayloadType, flexfec_packet.PayloadType()); 934 EXPECT_EQ(kFlexfecPayloadType, flexfec_packet.PayloadType());
935 EXPECT_EQ(kFlexfecSsrc, flexfec_packet.Ssrc()); 935 EXPECT_EQ(kFlexfecSsrc, flexfec_packet.Ssrc());
936 } 936 }
(...skipping 604 matching lines...) Expand 10 before | Expand all | Expand 10 after
1541 INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead, 1541 INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead,
1542 RtpSenderTestWithoutPacer, 1542 RtpSenderTestWithoutPacer,
1543 ::testing::Bool()); 1543 ::testing::Bool());
1544 INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead, 1544 INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead,
1545 RtpSenderVideoTest, 1545 RtpSenderVideoTest,
1546 ::testing::Bool()); 1546 ::testing::Bool());
1547 INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead, 1547 INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead,
1548 RtpSenderAudioTest, 1548 RtpSenderAudioTest,
1549 ::testing::Bool()); 1549 ::testing::Bool());
1550 } // namespace webrtc 1550 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_sender.cc ('k') | webrtc/tools/event_log_visualizer/analyzer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698