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

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

Issue 1923133002: Replace the remaining scoped_ptr with unique_ptr in webrtc/modules/ (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Don't remove #include "scoped_ptr.h" from .h files Created 4 years, 7 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
11 #include <list> 11 #include <list>
12 #include <memory>
12 #include <vector> 13 #include <vector>
13 14
14 #include "testing/gmock/include/gmock/gmock.h" 15 #include "testing/gmock/include/gmock/gmock.h"
15 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
16 #include "webrtc/base/buffer.h" 17 #include "webrtc/base/buffer.h"
17 #include "webrtc/base/scoped_ptr.h"
18 #include "webrtc/call/mock/mock_rtc_event_log.h" 18 #include "webrtc/call/mock/mock_rtc_event_log.h"
19 #include "webrtc/modules/rtp_rtcp/include/rtp_cvo.h" 19 #include "webrtc/modules/rtp_rtcp/include/rtp_cvo.h"
20 #include "webrtc/modules/rtp_rtcp/include/rtp_header_parser.h" 20 #include "webrtc/modules/rtp_rtcp/include/rtp_header_parser.h"
21 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" 21 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h"
22 #include "webrtc/modules/rtp_rtcp/source/rtp_format_video_generic.h" 22 #include "webrtc/modules/rtp_rtcp/source/rtp_format_video_generic.h"
23 #include "webrtc/modules/rtp_rtcp/source/rtp_header_extension.h" 23 #include "webrtc/modules/rtp_rtcp/source/rtp_header_extension.h"
24 #include "webrtc/modules/rtp_rtcp/source/rtp_sender.h" 24 #include "webrtc/modules/rtp_rtcp/source/rtp_sender.h"
25 #include "webrtc/modules/rtp_rtcp/source/rtp_sender_video.h" 25 #include "webrtc/modules/rtp_rtcp/source/rtp_sender_video.h"
26 #include "webrtc/modules/rtp_rtcp/source/rtp_utility.h" 26 #include "webrtc/modules/rtp_rtcp/source/rtp_utility.h"
27 #include "webrtc/system_wrappers/include/stl_util.h" 27 #include "webrtc/system_wrappers/include/stl_util.h"
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 pacer ? &mock_paced_sender_ : nullptr, 141 pacer ? &mock_paced_sender_ : nullptr,
142 &seq_num_allocator_, nullptr, nullptr, 142 &seq_num_allocator_, nullptr, nullptr,
143 nullptr, nullptr, &mock_rtc_event_log_)); 143 nullptr, nullptr, &mock_rtc_event_log_));
144 rtp_sender_->SetSequenceNumber(kSeqNum); 144 rtp_sender_->SetSequenceNumber(kSeqNum);
145 } 145 }
146 146
147 SimulatedClock fake_clock_; 147 SimulatedClock fake_clock_;
148 MockRtcEventLog mock_rtc_event_log_; 148 MockRtcEventLog mock_rtc_event_log_;
149 MockRtpPacketSender mock_paced_sender_; 149 MockRtpPacketSender mock_paced_sender_;
150 MockTransportSequenceNumberAllocator seq_num_allocator_; 150 MockTransportSequenceNumberAllocator seq_num_allocator_;
151 rtc::scoped_ptr<RTPSender> rtp_sender_; 151 std::unique_ptr<RTPSender> rtp_sender_;
152 int payload_; 152 int payload_;
153 LoopbackTransportTest transport_; 153 LoopbackTransportTest transport_;
154 const bool kMarkerBit; 154 const bool kMarkerBit;
155 uint8_t packet_[kMaxPacketLength]; 155 uint8_t packet_[kMaxPacketLength];
156 156
157 void VerifyRTPHeaderCommon(const RTPHeader& rtp_header) { 157 void VerifyRTPHeaderCommon(const RTPHeader& rtp_header) {
158 VerifyRTPHeaderCommon(rtp_header, kMarkerBit, 0); 158 VerifyRTPHeaderCommon(rtp_header, kMarkerBit, 0);
159 } 159 }
160 160
161 void VerifyRTPHeaderCommon(const RTPHeader& rtp_header, bool marker_bit) { 161 void VerifyRTPHeaderCommon(const RTPHeader& rtp_header, bool marker_bit) {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 }; 195 };
196 196
197 class RtpSenderVideoTest : public RtpSenderTest { 197 class RtpSenderVideoTest : public RtpSenderTest {
198 protected: 198 protected:
199 void SetUp() override { 199 void SetUp() override {
200 // TODO(pbos): Set up to use pacer. 200 // TODO(pbos): Set up to use pacer.
201 SetUpRtpSender(false); 201 SetUpRtpSender(false);
202 rtp_sender_video_.reset( 202 rtp_sender_video_.reset(
203 new RTPSenderVideo(&fake_clock_, rtp_sender_.get())); 203 new RTPSenderVideo(&fake_clock_, rtp_sender_.get()));
204 } 204 }
205 rtc::scoped_ptr<RTPSenderVideo> rtp_sender_video_; 205 std::unique_ptr<RTPSenderVideo> rtp_sender_video_;
206 206
207 void VerifyCVOPacket(uint8_t* data, 207 void VerifyCVOPacket(uint8_t* data,
208 size_t len, 208 size_t len,
209 bool expect_cvo, 209 bool expect_cvo,
210 RtpHeaderExtensionMap* map, 210 RtpHeaderExtensionMap* map,
211 uint16_t seq_num, 211 uint16_t seq_num,
212 VideoRotation rotation) { 212 VideoRotation rotation) {
213 webrtc::RtpUtility::RtpHeaderParser rtp_parser(data, len); 213 webrtc::RtpUtility::RtpHeaderParser rtp_parser(data, len);
214 214
215 webrtc::RTPHeader rtp_header; 215 webrtc::RTPHeader rtp_header;
(...skipping 626 matching lines...) Expand 10 before | Expand all | Expand 10 after
842 kRtpExtensionTransmissionTimeOffset, 842 kRtpExtensionTransmissionTimeOffset,
843 kTransmissionTimeOffsetExtensionId)); 843 kTransmissionTimeOffsetExtensionId));
844 rtp_header_len += 4; // 4 bytes extension. 844 rtp_header_len += 4; // 4 bytes extension.
845 EXPECT_EQ( 845 EXPECT_EQ(
846 0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime, 846 0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime,
847 kAbsoluteSendTimeExtensionId)); 847 kAbsoluteSendTimeExtensionId));
848 rtp_header_len += 4; // 4 bytes extension. 848 rtp_header_len += 4; // 4 bytes extension.
849 rtp_header_len += 4; // 4 extra bytes common to all extension headers. 849 rtp_header_len += 4; // 4 extra bytes common to all extension headers.
850 850
851 // Create and set up parser. 851 // Create and set up parser.
852 rtc::scoped_ptr<webrtc::RtpHeaderParser> rtp_parser( 852 std::unique_ptr<webrtc::RtpHeaderParser> rtp_parser(
853 webrtc::RtpHeaderParser::Create()); 853 webrtc::RtpHeaderParser::Create());
854 ASSERT_TRUE(rtp_parser.get() != nullptr); 854 ASSERT_TRUE(rtp_parser.get() != nullptr);
855 rtp_parser->RegisterRtpHeaderExtension(kRtpExtensionTransmissionTimeOffset, 855 rtp_parser->RegisterRtpHeaderExtension(kRtpExtensionTransmissionTimeOffset,
856 kTransmissionTimeOffsetExtensionId); 856 kTransmissionTimeOffsetExtensionId);
857 rtp_parser->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime, 857 rtp_parser->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime,
858 kAbsoluteSendTimeExtensionId); 858 kAbsoluteSendTimeExtensionId);
859 webrtc::RTPHeader rtp_header; 859 webrtc::RTPHeader rtp_header;
860 860
861 rtp_sender_->SetTargetBitrate(300000); 861 rtp_sender_->SetTargetBitrate(300000);
862 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds(); 862 int64_t capture_time_ms = fake_clock_.TimeInMilliseconds();
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
961 EXPECT_EQ( 961 EXPECT_EQ(
962 0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime, 962 0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime,
963 kAbsoluteSendTimeExtensionId)); 963 kAbsoluteSendTimeExtensionId));
964 rtp_header_len += 4; // 4 bytes extension. 964 rtp_header_len += 4; // 4 bytes extension.
965 rtp_header_len += 4; // 4 extra bytes common to all extension headers. 965 rtp_header_len += 4; // 4 extra bytes common to all extension headers.
966 966
967 rtp_sender_->SetRtxStatus(kRtxRetransmitted | kRtxRedundantPayloads); 967 rtp_sender_->SetRtxStatus(kRtxRetransmitted | kRtxRedundantPayloads);
968 rtp_sender_->SetRtxSsrc(1234); 968 rtp_sender_->SetRtxSsrc(1234);
969 969
970 // Create and set up parser. 970 // Create and set up parser.
971 rtc::scoped_ptr<webrtc::RtpHeaderParser> rtp_parser( 971 std::unique_ptr<webrtc::RtpHeaderParser> rtp_parser(
972 webrtc::RtpHeaderParser::Create()); 972 webrtc::RtpHeaderParser::Create());
973 ASSERT_TRUE(rtp_parser.get() != nullptr); 973 ASSERT_TRUE(rtp_parser.get() != nullptr);
974 rtp_parser->RegisterRtpHeaderExtension(kRtpExtensionTransmissionTimeOffset, 974 rtp_parser->RegisterRtpHeaderExtension(kRtpExtensionTransmissionTimeOffset,
975 kTransmissionTimeOffsetExtensionId); 975 kTransmissionTimeOffsetExtensionId);
976 rtp_parser->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime, 976 rtp_parser->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime,
977 kAbsoluteSendTimeExtensionId); 977 kAbsoluteSendTimeExtensionId);
978 rtp_sender_->SetTargetBitrate(300000); 978 rtp_sender_->SetTargetBitrate(300000);
979 const size_t kNumPayloadSizes = 10; 979 const size_t kNumPayloadSizes = 10;
980 const size_t kPayloadSizes[kNumPayloadSizes] = {500, 550, 600, 650, 700, 980 const size_t kPayloadSizes[kNumPayloadSizes] = {500, 550, 600, 650, 700,
981 750, 800, 850, 900, 950}; 981 750, 800, 850, 900, 950};
(...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after
1395 // timestamp. So for first call it will skip since the duration is zero. 1395 // timestamp. So for first call it will skip since the duration is zero.
1396 ASSERT_EQ(0, rtp_sender_->SendOutgoingData(kEmptyFrame, payload_type, 1396 ASSERT_EQ(0, rtp_sender_->SendOutgoingData(kEmptyFrame, payload_type,
1397 capture_time_ms, 0, nullptr, 0, 1397 capture_time_ms, 0, nullptr, 0,
1398 nullptr)); 1398 nullptr));
1399 // DTMF Sample Length is (Frequency/1000) * Duration. 1399 // DTMF Sample Length is (Frequency/1000) * Duration.
1400 // So in this case, it is (8000/1000) * 500 = 4000. 1400 // So in this case, it is (8000/1000) * 500 = 4000.
1401 // Sending it as two packets. 1401 // Sending it as two packets.
1402 ASSERT_EQ(0, rtp_sender_->SendOutgoingData(kEmptyFrame, payload_type, 1402 ASSERT_EQ(0, rtp_sender_->SendOutgoingData(kEmptyFrame, payload_type,
1403 capture_time_ms + 2000, 0, nullptr, 1403 capture_time_ms + 2000, 0, nullptr,
1404 0, nullptr)); 1404 0, nullptr));
1405 rtc::scoped_ptr<webrtc::RtpHeaderParser> rtp_parser( 1405 std::unique_ptr<webrtc::RtpHeaderParser> rtp_parser(
1406 webrtc::RtpHeaderParser::Create()); 1406 webrtc::RtpHeaderParser::Create());
1407 ASSERT_TRUE(rtp_parser.get() != nullptr); 1407 ASSERT_TRUE(rtp_parser.get() != nullptr);
1408 webrtc::RTPHeader rtp_header; 1408 webrtc::RTPHeader rtp_header;
1409 ASSERT_TRUE(rtp_parser->Parse(transport_.last_sent_packet_, 1409 ASSERT_TRUE(rtp_parser->Parse(transport_.last_sent_packet_,
1410 transport_.last_sent_packet_len_, &rtp_header)); 1410 transport_.last_sent_packet_len_, &rtp_header));
1411 // Marker Bit should be set to 1 for first packet. 1411 // Marker Bit should be set to 1 for first packet.
1412 EXPECT_TRUE(rtp_header.markerBit); 1412 EXPECT_TRUE(rtp_header.markerBit);
1413 1413
1414 ASSERT_EQ(0, rtp_sender_->SendOutgoingData(kEmptyFrame, payload_type, 1414 ASSERT_EQ(0, rtp_sender_->SendOutgoingData(kEmptyFrame, payload_type,
1415 capture_time_ms + 4000, 0, nullptr, 1415 capture_time_ms + 4000, 0, nullptr,
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
1521 reinterpret_cast<uint8_t*>(transport_.sent_packets_[0]->data()), 1521 reinterpret_cast<uint8_t*>(transport_.sent_packets_[0]->data()),
1522 transport_.sent_packets_[0]->size(), true, &map, kSeqNum, hdr.rotation); 1522 transport_.sent_packets_[0]->size(), true, &map, kSeqNum, hdr.rotation);
1523 1523
1524 // Verify that this packet does have CVO byte. 1524 // Verify that this packet does have CVO byte.
1525 VerifyCVOPacket( 1525 VerifyCVOPacket(
1526 reinterpret_cast<uint8_t*>(transport_.sent_packets_[1]->data()), 1526 reinterpret_cast<uint8_t*>(transport_.sent_packets_[1]->data()),
1527 transport_.sent_packets_[1]->size(), true, &map, kSeqNum + 1, 1527 transport_.sent_packets_[1]->size(), true, &map, kSeqNum + 1,
1528 hdr.rotation); 1528 hdr.rotation);
1529 } 1529 }
1530 } // namespace webrtc 1530 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_sender.h ('k') | webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698