OLD | NEW |
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 495 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
506 | 506 |
507 transport_.last_sent_packet().GetHeader(&rtp_header); | 507 transport_.last_sent_packet().GetHeader(&rtp_header); |
508 EXPECT_TRUE(rtp_header.extension.has_video_timing); | 508 EXPECT_TRUE(rtp_header.extension.has_video_timing); |
509 EXPECT_EQ(kStoredTimeInMs * 2, | 509 EXPECT_EQ(kStoredTimeInMs * 2, |
510 rtp_header.extension.video_timing.pacer_exit_delta_ms); | 510 rtp_header.extension.video_timing.pacer_exit_delta_ms); |
511 } | 511 } |
512 | 512 |
513 TEST_P(RtpSenderTest, TrafficSmoothingWithExtensions) { | 513 TEST_P(RtpSenderTest, TrafficSmoothingWithExtensions) { |
514 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority, | 514 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority, |
515 kSsrc, kSeqNum, _, _, _)); | 515 kSsrc, kSeqNum, _, _, _)); |
516 EXPECT_CALL(mock_rtc_event_log_, | 516 EXPECT_CALL(mock_rtc_event_log_, LogOutgoingRtpHeader(_, _)); |
517 LogRtpHeader(PacketDirection::kOutgoingPacket, _, _, _)); | |
518 | 517 |
519 rtp_sender_->SetStorePacketsStatus(true, 10); | 518 rtp_sender_->SetStorePacketsStatus(true, 10); |
520 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( | 519 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( |
521 kRtpExtensionTransmissionTimeOffset, | 520 kRtpExtensionTransmissionTimeOffset, |
522 kTransmissionTimeOffsetExtensionId)); | 521 kTransmissionTimeOffsetExtensionId)); |
523 EXPECT_EQ( | 522 EXPECT_EQ( |
524 0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime, | 523 0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime, |
525 kAbsoluteSendTimeExtensionId)); | 524 kAbsoluteSendTimeExtensionId)); |
526 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds(); | 525 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds(); |
527 auto packet = | 526 auto packet = |
(...skipping 23 matching lines...) Expand all Loading... |
551 // Verify transmission time offset. | 550 // Verify transmission time offset. |
552 EXPECT_EQ(kStoredTimeInMs * 90, rtp_header.extension.transmissionTimeOffset); | 551 EXPECT_EQ(kStoredTimeInMs * 90, rtp_header.extension.transmissionTimeOffset); |
553 uint64_t expected_send_time = | 552 uint64_t expected_send_time = |
554 ConvertMsToAbsSendTime(fake_clock_.TimeInMilliseconds()); | 553 ConvertMsToAbsSendTime(fake_clock_.TimeInMilliseconds()); |
555 EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime); | 554 EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime); |
556 } | 555 } |
557 | 556 |
558 TEST_P(RtpSenderTest, TrafficSmoothingRetransmits) { | 557 TEST_P(RtpSenderTest, TrafficSmoothingRetransmits) { |
559 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority, | 558 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority, |
560 kSsrc, kSeqNum, _, _, _)); | 559 kSsrc, kSeqNum, _, _, _)); |
561 EXPECT_CALL(mock_rtc_event_log_, | 560 EXPECT_CALL(mock_rtc_event_log_, LogOutgoingRtpHeader(_, _)); |
562 LogRtpHeader(PacketDirection::kOutgoingPacket, _, _, _)); | |
563 | 561 |
564 rtp_sender_->SetStorePacketsStatus(true, 10); | 562 rtp_sender_->SetStorePacketsStatus(true, 10); |
565 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( | 563 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( |
566 kRtpExtensionTransmissionTimeOffset, | 564 kRtpExtensionTransmissionTimeOffset, |
567 kTransmissionTimeOffsetExtensionId)); | 565 kTransmissionTimeOffsetExtensionId)); |
568 EXPECT_EQ( | 566 EXPECT_EQ( |
569 0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime, | 567 0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime, |
570 kAbsoluteSendTimeExtensionId)); | 568 kAbsoluteSendTimeExtensionId)); |
571 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds(); | 569 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds(); |
572 auto packet = | 570 auto packet = |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
605 ConvertMsToAbsSendTime(fake_clock_.TimeInMilliseconds()); | 603 ConvertMsToAbsSendTime(fake_clock_.TimeInMilliseconds()); |
606 EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime); | 604 EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime); |
607 } | 605 } |
608 | 606 |
609 // This test sends 1 regular video packet, then 4 padding packets, and then | 607 // This test sends 1 regular video packet, then 4 padding packets, and then |
610 // 1 more regular packet. | 608 // 1 more regular packet. |
611 TEST_P(RtpSenderTest, SendPadding) { | 609 TEST_P(RtpSenderTest, SendPadding) { |
612 // Make all (non-padding) packets go to send queue. | 610 // Make all (non-padding) packets go to send queue. |
613 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority, | 611 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority, |
614 kSsrc, kSeqNum, _, _, _)); | 612 kSsrc, kSeqNum, _, _, _)); |
615 EXPECT_CALL(mock_rtc_event_log_, | 613 EXPECT_CALL(mock_rtc_event_log_, LogOutgoingRtpHeader(_, _)).Times(1 + 4 + 1); |
616 LogRtpHeader(PacketDirection::kOutgoingPacket, _, _, _)) | |
617 .Times(1 + 4 + 1); | |
618 | 614 |
619 uint16_t seq_num = kSeqNum; | 615 uint16_t seq_num = kSeqNum; |
620 uint32_t timestamp = kTimestamp; | 616 uint32_t timestamp = kTimestamp; |
621 rtp_sender_->SetStorePacketsStatus(true, 10); | 617 rtp_sender_->SetStorePacketsStatus(true, 10); |
622 size_t rtp_header_len = kRtpHeaderSize; | 618 size_t rtp_header_len = kRtpHeaderSize; |
623 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( | 619 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( |
624 kRtpExtensionTransmissionTimeOffset, | 620 kRtpExtensionTransmissionTimeOffset, |
625 kTransmissionTimeOffsetExtensionId)); | 621 kTransmissionTimeOffsetExtensionId)); |
626 rtp_header_len += 4; // 4 bytes extension. | 622 rtp_header_len += 4; // 4 bytes extension. |
627 EXPECT_EQ( | 623 EXPECT_EQ( |
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
806 rtp_sender_->SetRtxStatus(kRtxRetransmitted | kRtxRedundantPayloads); | 802 rtp_sender_->SetRtxStatus(kRtxRetransmitted | kRtxRedundantPayloads); |
807 rtp_sender_->SetRtxSsrc(1234); | 803 rtp_sender_->SetRtxSsrc(1234); |
808 | 804 |
809 const size_t kNumPayloadSizes = 10; | 805 const size_t kNumPayloadSizes = 10; |
810 const size_t kPayloadSizes[kNumPayloadSizes] = {500, 550, 600, 650, 700, | 806 const size_t kPayloadSizes[kNumPayloadSizes] = {500, 550, 600, 650, 700, |
811 750, 800, 850, 900, 950}; | 807 750, 800, 850, 900, 950}; |
812 // Expect all packets go through the pacer. | 808 // Expect all packets go through the pacer. |
813 EXPECT_CALL(mock_paced_sender_, | 809 EXPECT_CALL(mock_paced_sender_, |
814 InsertPacket(RtpPacketSender::kNormalPriority, kSsrc, _, _, _, _)) | 810 InsertPacket(RtpPacketSender::kNormalPriority, kSsrc, _, _, _, _)) |
815 .Times(kNumPayloadSizes); | 811 .Times(kNumPayloadSizes); |
816 EXPECT_CALL(mock_rtc_event_log_, | 812 EXPECT_CALL(mock_rtc_event_log_, LogOutgoingRtpHeader(_, _)) |
817 LogRtpHeader(PacketDirection::kOutgoingPacket, _, _, _)) | |
818 .Times(kNumPayloadSizes); | 813 .Times(kNumPayloadSizes); |
819 | 814 |
820 // Send 10 packets of increasing size. | 815 // Send 10 packets of increasing size. |
821 for (size_t i = 0; i < kNumPayloadSizes; ++i) { | 816 for (size_t i = 0; i < kNumPayloadSizes; ++i) { |
822 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds(); | 817 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds(); |
823 EXPECT_CALL(transport, SendRtp(_, _, _)).WillOnce(testing::Return(true)); | 818 EXPECT_CALL(transport, SendRtp(_, _, _)).WillOnce(testing::Return(true)); |
824 SendPacket(capture_time_ms, kPayloadSizes[i]); | 819 SendPacket(capture_time_ms, kPayloadSizes[i]); |
825 rtp_sender_->TimeToSendPacket(kSsrc, seq_num++, capture_time_ms, false, | 820 rtp_sender_->TimeToSendPacket(kSsrc, seq_num++, capture_time_ms, false, |
826 PacedPacketInfo()); | 821 PacedPacketInfo()); |
827 fake_clock_.AdvanceTimeMilliseconds(33); | 822 fake_clock_.AdvanceTimeMilliseconds(33); |
828 } | 823 } |
829 | 824 |
830 EXPECT_CALL(mock_rtc_event_log_, | 825 EXPECT_CALL(mock_rtc_event_log_, LogOutgoingRtpHeader(_, _)) |
831 LogRtpHeader(PacketDirection::kOutgoingPacket, _, _, _)) | |
832 .Times(::testing::AtLeast(4)); | 826 .Times(::testing::AtLeast(4)); |
833 | 827 |
834 // The amount of padding to send it too small to send a payload packet. | 828 // The amount of padding to send it too small to send a payload packet. |
835 EXPECT_CALL(transport, SendRtp(_, kMaxPaddingSize + rtp_header_len, _)) | 829 EXPECT_CALL(transport, SendRtp(_, kMaxPaddingSize + rtp_header_len, _)) |
836 .WillOnce(testing::Return(true)); | 830 .WillOnce(testing::Return(true)); |
837 EXPECT_EQ(kMaxPaddingSize, | 831 EXPECT_EQ(kMaxPaddingSize, |
838 rtp_sender_->TimeToSendPadding(49, PacedPacketInfo())); | 832 rtp_sender_->TimeToSendPadding(49, PacedPacketInfo())); |
839 | 833 |
840 EXPECT_CALL(transport, | 834 EXPECT_CALL(transport, |
841 SendRtp(_, kPayloadSizes[0] + rtp_header_len + kRtxHeaderSize, _)) | 835 SendRtp(_, kPayloadSizes[0] + rtp_header_len + kRtxHeaderSize, _)) |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
917 rtp_sender_->SetFecParameters(params, params); | 911 rtp_sender_->SetFecParameters(params, params); |
918 | 912 |
919 EXPECT_CALL(mock_paced_sender_, | 913 EXPECT_CALL(mock_paced_sender_, |
920 InsertPacket(RtpPacketSender::kLowPriority, kMediaSsrc, kSeqNum, | 914 InsertPacket(RtpPacketSender::kLowPriority, kMediaSsrc, kSeqNum, |
921 _, _, false)); | 915 _, _, false)); |
922 uint16_t flexfec_seq_num; | 916 uint16_t flexfec_seq_num; |
923 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kLowPriority, | 917 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kLowPriority, |
924 kFlexfecSsrc, _, _, _, false)) | 918 kFlexfecSsrc, _, _, _, false)) |
925 .WillOnce(testing::SaveArg<2>(&flexfec_seq_num)); | 919 .WillOnce(testing::SaveArg<2>(&flexfec_seq_num)); |
926 SendGenericPayload(); | 920 SendGenericPayload(); |
927 EXPECT_CALL(mock_rtc_event_log_, | 921 EXPECT_CALL(mock_rtc_event_log_, LogOutgoingRtpHeader(_, _)).Times(2); |
928 LogRtpHeader(PacketDirection::kOutgoingPacket, _, _, _)) | |
929 .Times(2); | |
930 EXPECT_TRUE(rtp_sender_->TimeToSendPacket(kMediaSsrc, kSeqNum, | 922 EXPECT_TRUE(rtp_sender_->TimeToSendPacket(kMediaSsrc, kSeqNum, |
931 fake_clock_.TimeInMilliseconds(), | 923 fake_clock_.TimeInMilliseconds(), |
932 false, PacedPacketInfo())); | 924 false, PacedPacketInfo())); |
933 EXPECT_TRUE(rtp_sender_->TimeToSendPacket(kFlexfecSsrc, flexfec_seq_num, | 925 EXPECT_TRUE(rtp_sender_->TimeToSendPacket(kFlexfecSsrc, flexfec_seq_num, |
934 fake_clock_.TimeInMilliseconds(), | 926 fake_clock_.TimeInMilliseconds(), |
935 false, PacedPacketInfo())); | 927 false, PacedPacketInfo())); |
936 ASSERT_EQ(2, transport_.packets_sent()); | 928 ASSERT_EQ(2, transport_.packets_sent()); |
937 const RtpPacketReceived& media_packet = transport_.sent_packets_[0]; | 929 const RtpPacketReceived& media_packet = transport_.sent_packets_[0]; |
938 EXPECT_EQ(kMediaPayloadType, media_packet.PayloadType()); | 930 EXPECT_EQ(kMediaPayloadType, media_packet.PayloadType()); |
939 EXPECT_EQ(kSeqNum, media_packet.SequenceNumber()); | 931 EXPECT_EQ(kSeqNum, media_packet.SequenceNumber()); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
993 char payload_name[RTP_PAYLOAD_NAME_SIZE] = "GENERIC"; | 985 char payload_name[RTP_PAYLOAD_NAME_SIZE] = "GENERIC"; |
994 EXPECT_EQ(0, rtp_sender_->RegisterPayload(payload_name, kPayloadType, 90000, | 986 EXPECT_EQ(0, rtp_sender_->RegisterPayload(payload_name, kPayloadType, 90000, |
995 0, 1500)); | 987 0, 1500)); |
996 RTPVideoHeader video_header; | 988 RTPVideoHeader video_header; |
997 memset(&video_header, 0, sizeof(RTPVideoHeader)); | 989 memset(&video_header, 0, sizeof(RTPVideoHeader)); |
998 video_header.video_timing.flags = TimingFrameFlags::kTriggeredByTimer; | 990 video_header.video_timing.flags = TimingFrameFlags::kTriggeredByTimer; |
999 EXPECT_TRUE(rtp_sender_->SendOutgoingData( | 991 EXPECT_TRUE(rtp_sender_->SendOutgoingData( |
1000 kVideoFrameKey, kPayloadType, kTimestamp, kCaptureTimeMs, kPayloadData, | 992 kVideoFrameKey, kPayloadType, kTimestamp, kCaptureTimeMs, kPayloadData, |
1001 sizeof(kPayloadData), nullptr, &video_header, nullptr)); | 993 sizeof(kPayloadData), nullptr, &video_header, nullptr)); |
1002 | 994 |
1003 EXPECT_CALL(mock_rtc_event_log_, | 995 EXPECT_CALL(mock_rtc_event_log_, LogOutgoingRtpHeader(_, _)).Times(1); |
1004 LogRtpHeader(PacketDirection::kOutgoingPacket, _, _, _)) | |
1005 .Times(1); | |
1006 EXPECT_TRUE(rtp_sender_->TimeToSendPacket(kMediaSsrc, kSeqNum, | 996 EXPECT_TRUE(rtp_sender_->TimeToSendPacket(kMediaSsrc, kSeqNum, |
1007 fake_clock_.TimeInMilliseconds(), | 997 fake_clock_.TimeInMilliseconds(), |
1008 false, PacedPacketInfo())); | 998 false, PacedPacketInfo())); |
1009 ASSERT_EQ(1, transport_.packets_sent()); | 999 ASSERT_EQ(1, transport_.packets_sent()); |
1010 const RtpPacketReceived& media_packet = transport_.sent_packets_[0]; | 1000 const RtpPacketReceived& media_packet = transport_.sent_packets_[0]; |
1011 EXPECT_EQ(kMediaPayloadType, media_packet.PayloadType()); | 1001 EXPECT_EQ(kMediaPayloadType, media_packet.PayloadType()); |
1012 EXPECT_EQ(kSeqNum, media_packet.SequenceNumber()); | 1002 EXPECT_EQ(kSeqNum, media_packet.SequenceNumber()); |
1013 EXPECT_EQ(kMediaSsrc, media_packet.Ssrc()); | 1003 EXPECT_EQ(kMediaSsrc, media_packet.Ssrc()); |
1014 | 1004 |
1015 // Now try to send not a timing frame. | 1005 // Now try to send not a timing frame. |
1016 uint16_t flexfec_seq_num; | 1006 uint16_t flexfec_seq_num; |
1017 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kLowPriority, | 1007 EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kLowPriority, |
1018 kFlexfecSsrc, _, _, _, false)) | 1008 kFlexfecSsrc, _, _, _, false)) |
1019 .WillOnce(testing::SaveArg<2>(&flexfec_seq_num)); | 1009 .WillOnce(testing::SaveArg<2>(&flexfec_seq_num)); |
1020 EXPECT_CALL(mock_paced_sender_, | 1010 EXPECT_CALL(mock_paced_sender_, |
1021 InsertPacket(RtpPacketSender::kLowPriority, kMediaSsrc, | 1011 InsertPacket(RtpPacketSender::kLowPriority, kMediaSsrc, |
1022 kSeqNum + 1, _, _, false)); | 1012 kSeqNum + 1, _, _, false)); |
1023 video_header.video_timing.flags = TimingFrameFlags::kInvalid; | 1013 video_header.video_timing.flags = TimingFrameFlags::kInvalid; |
1024 EXPECT_TRUE(rtp_sender_->SendOutgoingData( | 1014 EXPECT_TRUE(rtp_sender_->SendOutgoingData( |
1025 kVideoFrameKey, kPayloadType, kTimestamp + 1, kCaptureTimeMs + 1, | 1015 kVideoFrameKey, kPayloadType, kTimestamp + 1, kCaptureTimeMs + 1, |
1026 kPayloadData, sizeof(kPayloadData), nullptr, &video_header, nullptr)); | 1016 kPayloadData, sizeof(kPayloadData), nullptr, &video_header, nullptr)); |
1027 | 1017 |
1028 EXPECT_CALL(mock_rtc_event_log_, | 1018 EXPECT_CALL(mock_rtc_event_log_, LogOutgoingRtpHeader(_, _)).Times(2); |
1029 LogRtpHeader(PacketDirection::kOutgoingPacket, _, _, _)) | |
1030 .Times(2); | |
1031 EXPECT_TRUE(rtp_sender_->TimeToSendPacket(kMediaSsrc, kSeqNum + 1, | 1019 EXPECT_TRUE(rtp_sender_->TimeToSendPacket(kMediaSsrc, kSeqNum + 1, |
1032 fake_clock_.TimeInMilliseconds(), | 1020 fake_clock_.TimeInMilliseconds(), |
1033 false, PacedPacketInfo())); | 1021 false, PacedPacketInfo())); |
1034 EXPECT_TRUE(rtp_sender_->TimeToSendPacket(kFlexfecSsrc, flexfec_seq_num, | 1022 EXPECT_TRUE(rtp_sender_->TimeToSendPacket(kFlexfecSsrc, flexfec_seq_num, |
1035 fake_clock_.TimeInMilliseconds(), | 1023 fake_clock_.TimeInMilliseconds(), |
1036 false, PacedPacketInfo())); | 1024 false, PacedPacketInfo())); |
1037 ASSERT_EQ(3, transport_.packets_sent()); | 1025 ASSERT_EQ(3, transport_.packets_sent()); |
1038 const RtpPacketReceived& media_packet2 = transport_.sent_packets_[1]; | 1026 const RtpPacketReceived& media_packet2 = transport_.sent_packets_[1]; |
1039 EXPECT_EQ(kMediaPayloadType, media_packet2.PayloadType()); | 1027 EXPECT_EQ(kMediaPayloadType, media_packet2.PayloadType()); |
1040 EXPECT_EQ(kSeqNum + 1, media_packet2.SequenceNumber()); | 1028 EXPECT_EQ(kSeqNum + 1, media_packet2.SequenceNumber()); |
(...skipping 25 matching lines...) Expand all Loading... |
1066 rtp_sender_->SetSequenceNumber(kSeqNum); | 1054 rtp_sender_->SetSequenceNumber(kSeqNum); |
1067 rtp_sender_->SetSendPayloadType(kMediaPayloadType); | 1055 rtp_sender_->SetSendPayloadType(kMediaPayloadType); |
1068 | 1056 |
1069 // Parameters selected to generate a single FEC packet per media packet. | 1057 // Parameters selected to generate a single FEC packet per media packet. |
1070 FecProtectionParams params; | 1058 FecProtectionParams params; |
1071 params.fec_rate = 15; | 1059 params.fec_rate = 15; |
1072 params.max_fec_frames = 1; | 1060 params.max_fec_frames = 1; |
1073 params.fec_mask_type = kFecMaskRandom; | 1061 params.fec_mask_type = kFecMaskRandom; |
1074 rtp_sender_->SetFecParameters(params, params); | 1062 rtp_sender_->SetFecParameters(params, params); |
1075 | 1063 |
1076 EXPECT_CALL(mock_rtc_event_log_, | 1064 EXPECT_CALL(mock_rtc_event_log_, LogOutgoingRtpHeader(_, _)).Times(2); |
1077 LogRtpHeader(PacketDirection::kOutgoingPacket, _, _, _)) | |
1078 .Times(2); | |
1079 SendGenericPayload(); | 1065 SendGenericPayload(); |
1080 ASSERT_EQ(2, transport_.packets_sent()); | 1066 ASSERT_EQ(2, transport_.packets_sent()); |
1081 const RtpPacketReceived& media_packet = transport_.sent_packets_[0]; | 1067 const RtpPacketReceived& media_packet = transport_.sent_packets_[0]; |
1082 EXPECT_EQ(kMediaPayloadType, media_packet.PayloadType()); | 1068 EXPECT_EQ(kMediaPayloadType, media_packet.PayloadType()); |
1083 EXPECT_EQ(kMediaSsrc, media_packet.Ssrc()); | 1069 EXPECT_EQ(kMediaSsrc, media_packet.Ssrc()); |
1084 const RtpPacketReceived& flexfec_packet = transport_.sent_packets_[1]; | 1070 const RtpPacketReceived& flexfec_packet = transport_.sent_packets_[1]; |
1085 EXPECT_EQ(kFlexfecPayloadType, flexfec_packet.PayloadType()); | 1071 EXPECT_EQ(kFlexfecPayloadType, flexfec_packet.PayloadType()); |
1086 EXPECT_EQ(kFlexfecSsrc, flexfec_packet.Ssrc()); | 1072 EXPECT_EQ(kFlexfecSsrc, flexfec_packet.Ssrc()); |
1087 } | 1073 } |
1088 | 1074 |
(...skipping 664 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1753 INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead, | 1739 INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead, |
1754 RtpSenderTestWithoutPacer, | 1740 RtpSenderTestWithoutPacer, |
1755 ::testing::Bool()); | 1741 ::testing::Bool()); |
1756 INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead, | 1742 INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead, |
1757 RtpSenderVideoTest, | 1743 RtpSenderVideoTest, |
1758 ::testing::Bool()); | 1744 ::testing::Bool()); |
1759 INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead, | 1745 INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead, |
1760 RtpSenderAudioTest, | 1746 RtpSenderAudioTest, |
1761 ::testing::Bool()); | 1747 ::testing::Bool()); |
1762 } // namespace webrtc | 1748 } // namespace webrtc |
OLD | NEW |