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 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
71 public: | 71 public: |
72 LoopbackTransportTest() | 72 LoopbackTransportTest() |
73 : packets_sent_(0), | 73 : packets_sent_(0), |
74 last_sent_packet_len_(0), | 74 last_sent_packet_len_(0), |
75 total_bytes_sent_(0), | 75 total_bytes_sent_(0), |
76 last_sent_packet_(nullptr) {} | 76 last_sent_packet_(nullptr) {} |
77 | 77 |
78 ~LoopbackTransportTest() { | 78 ~LoopbackTransportTest() { |
79 STLDeleteContainerPointers(sent_packets_.begin(), sent_packets_.end()); | 79 STLDeleteContainerPointers(sent_packets_.begin(), sent_packets_.end()); |
80 } | 80 } |
81 int SendPacket(const void *data, size_t len) override { | 81 bool SendRtp(const uint8_t *data, size_t len) override { |
82 packets_sent_++; | 82 packets_sent_++; |
83 rtc::Buffer* buffer = | 83 rtc::Buffer* buffer = |
84 new rtc::Buffer(reinterpret_cast<const uint8_t*>(data), len); | 84 new rtc::Buffer(reinterpret_cast<const uint8_t*>(data), len); |
85 last_sent_packet_ = buffer->data(); | 85 last_sent_packet_ = buffer->data(); |
86 last_sent_packet_len_ = len; | 86 last_sent_packet_len_ = len; |
87 total_bytes_sent_ += len; | 87 total_bytes_sent_ += len; |
88 sent_packets_.push_back(buffer); | 88 sent_packets_.push_back(buffer); |
89 return static_cast<int>(len); | 89 return true; |
90 } | 90 } |
91 int SendRTCPPacket(const void* data, size_t len) override { | 91 bool SendRtcp(const uint8_t* data, size_t len) override { |
92 return -1; | 92 return false; |
93 } | 93 } |
94 int packets_sent_; | 94 int packets_sent_; |
95 size_t last_sent_packet_len_; | 95 size_t last_sent_packet_len_; |
96 size_t total_bytes_sent_; | 96 size_t total_bytes_sent_; |
97 uint8_t* last_sent_packet_; | 97 uint8_t* last_sent_packet_; |
98 std::vector<rtc::Buffer*> sent_packets_; | 98 std::vector<rtc::Buffer*> sent_packets_; |
99 }; | 99 }; |
100 | 100 |
101 } // namespace | 101 } // namespace |
102 | 102 |
(...skipping 754 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
857 kTransmissionTimeOffsetExtensionId); | 857 kTransmissionTimeOffsetExtensionId); |
858 rtp_parser->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime, | 858 rtp_parser->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime, |
859 kAbsoluteSendTimeExtensionId); | 859 kAbsoluteSendTimeExtensionId); |
860 rtp_sender_->SetTargetBitrate(300000); | 860 rtp_sender_->SetTargetBitrate(300000); |
861 const size_t kNumPayloadSizes = 10; | 861 const size_t kNumPayloadSizes = 10; |
862 const size_t kPayloadSizes[kNumPayloadSizes] = {500, 550, 600, 650, 700, 750, | 862 const size_t kPayloadSizes[kNumPayloadSizes] = {500, 550, 600, 650, 700, 750, |
863 800, 850, 900, 950}; | 863 800, 850, 900, 950}; |
864 // Send 10 packets of increasing size. | 864 // Send 10 packets of increasing size. |
865 for (size_t i = 0; i < kNumPayloadSizes; ++i) { | 865 for (size_t i = 0; i < kNumPayloadSizes; ++i) { |
866 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds(); | 866 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds(); |
867 EXPECT_CALL(transport, SendPacket(_, _)).WillOnce(testing::ReturnArg<1>()); | 867 EXPECT_CALL(transport, SendRtp(_, _)).WillOnce(testing::Return(true)); |
868 SendPacket(capture_time_ms, kPayloadSizes[i]); | 868 SendPacket(capture_time_ms, kPayloadSizes[i]); |
869 rtp_sender_->TimeToSendPacket(seq_num++, capture_time_ms, false); | 869 rtp_sender_->TimeToSendPacket(seq_num++, capture_time_ms, false); |
870 fake_clock_.AdvanceTimeMilliseconds(33); | 870 fake_clock_.AdvanceTimeMilliseconds(33); |
871 } | 871 } |
872 // The amount of padding to send it too small to send a payload packet. | 872 // The amount of padding to send it too small to send a payload packet. |
873 EXPECT_CALL(transport, SendPacket(_, kMaxPaddingSize + rtp_header_len)) | 873 EXPECT_CALL(transport, SendRtp(_, kMaxPaddingSize + rtp_header_len)) |
874 .WillOnce(testing::ReturnArg<1>()); | 874 .WillOnce(testing::Return(true)); |
875 EXPECT_EQ(kMaxPaddingSize, rtp_sender_->TimeToSendPadding(49)); | 875 EXPECT_EQ(kMaxPaddingSize, rtp_sender_->TimeToSendPadding(49)); |
876 | 876 |
877 EXPECT_CALL(transport, | 877 EXPECT_CALL(transport, |
878 SendPacket(_, kPayloadSizes[0] + rtp_header_len + kRtxHeaderSize)) | 878 SendRtp(_, kPayloadSizes[0] + rtp_header_len + kRtxHeaderSize)) |
879 .WillOnce(testing::ReturnArg<1>()); | 879 .WillOnce(testing::Return(true)); |
880 EXPECT_EQ(kPayloadSizes[0], rtp_sender_->TimeToSendPadding(500)); | 880 EXPECT_EQ(kPayloadSizes[0], rtp_sender_->TimeToSendPadding(500)); |
881 | 881 |
882 EXPECT_CALL(transport, SendPacket(_, kPayloadSizes[kNumPayloadSizes - 1] + | 882 EXPECT_CALL(transport, SendRtp(_, kPayloadSizes[kNumPayloadSizes - 1] + |
883 rtp_header_len + kRtxHeaderSize)) | 883 rtp_header_len + kRtxHeaderSize)) |
884 .WillOnce(testing::ReturnArg<1>()); | 884 .WillOnce(testing::Return(true)); |
885 EXPECT_CALL(transport, SendPacket(_, kMaxPaddingSize + rtp_header_len)) | 885 EXPECT_CALL(transport, SendRtp(_, kMaxPaddingSize + rtp_header_len)) |
886 .WillOnce(testing::ReturnArg<1>()); | 886 .WillOnce(testing::Return(true)); |
887 EXPECT_EQ(kPayloadSizes[kNumPayloadSizes - 1] + kMaxPaddingSize, | 887 EXPECT_EQ(kPayloadSizes[kNumPayloadSizes - 1] + kMaxPaddingSize, |
888 rtp_sender_->TimeToSendPadding(999)); | 888 rtp_sender_->TimeToSendPadding(999)); |
889 } | 889 } |
890 | 890 |
891 TEST_F(RtpSenderTest, SendGenericVideo) { | 891 TEST_F(RtpSenderTest, SendGenericVideo) { |
892 char payload_name[RTP_PAYLOAD_NAME_SIZE] = "GENERIC"; | 892 char payload_name[RTP_PAYLOAD_NAME_SIZE] = "GENERIC"; |
893 const uint8_t payload_type = 127; | 893 const uint8_t payload_type = 127; |
894 ASSERT_EQ(0, rtp_sender_->RegisterPayload(payload_name, payload_type, 90000, | 894 ASSERT_EQ(0, rtp_sender_->RegisterPayload(payload_name, payload_type, 90000, |
895 0, 1500)); | 895 0, 1500)); |
896 uint8_t payload[] = {47, 11, 32, 93, 89}; | 896 uint8_t payload[] = {47, 11, 32, 93, 89}; |
(...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1373 reinterpret_cast<uint8_t*>(transport_.sent_packets_[0]->data()), | 1373 reinterpret_cast<uint8_t*>(transport_.sent_packets_[0]->data()), |
1374 transport_.sent_packets_[0]->size(), true, &map, kSeqNum, hdr.rotation); | 1374 transport_.sent_packets_[0]->size(), true, &map, kSeqNum, hdr.rotation); |
1375 | 1375 |
1376 // Verify that this packet does have CVO byte. | 1376 // Verify that this packet does have CVO byte. |
1377 VerifyCVOPacket( | 1377 VerifyCVOPacket( |
1378 reinterpret_cast<uint8_t*>(transport_.sent_packets_[1]->data()), | 1378 reinterpret_cast<uint8_t*>(transport_.sent_packets_[1]->data()), |
1379 transport_.sent_packets_[1]->size(), true, &map, kSeqNum + 1, | 1379 transport_.sent_packets_[1]->size(), true, &map, kSeqNum + 1, |
1380 hdr.rotation); | 1380 hdr.rotation); |
1381 } | 1381 } |
1382 } // namespace webrtc | 1382 } // namespace webrtc |
OLD | NEW |