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

Side by Side Diff: webrtc/media/base/rtpdataengine_unittest.cc

Issue 1728503002: Replace scoped_ptr with unique_ptr in webrtc/media/ (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@up1
Patch Set: Created 4 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
« no previous file with comments | « webrtc/media/base/rtpdataengine.h ('k') | webrtc/media/base/rtpdump_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <memory>
11 #include <string> 12 #include <string>
12 13
13 #include "webrtc/base/buffer.h" 14 #include "webrtc/base/buffer.h"
14 #include "webrtc/base/gunit.h" 15 #include "webrtc/base/gunit.h"
15 #include "webrtc/base/helpers.h" 16 #include "webrtc/base/helpers.h"
16 #include "webrtc/base/scoped_ptr.h"
17 #include "webrtc/base/ssladapter.h" 17 #include "webrtc/base/ssladapter.h"
18 #include "webrtc/base/timing.h" 18 #include "webrtc/base/timing.h"
19 #include "webrtc/media/base/constants.h" 19 #include "webrtc/media/base/constants.h"
20 #include "webrtc/media/base/fakenetworkinterface.h" 20 #include "webrtc/media/base/fakenetworkinterface.h"
21 #include "webrtc/media/base/rtpdataengine.h" 21 #include "webrtc/media/base/rtpdataengine.h"
22 #include "webrtc/media/base/rtputils.h" 22 #include "webrtc/media/base/rtputils.h"
23 23
24 class FakeTiming : public rtc::Timing { 24 class FakeTiming : public rtc::Timing {
25 public: 25 public:
26 FakeTiming() : now_(0.0) {} 26 FakeTiming() : now_(0.0) {}
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 cricket::ReceiveDataParams GetReceivedDataParams() { 117 cricket::ReceiveDataParams GetReceivedDataParams() {
118 return receiver_->last_received_data_params(); 118 return receiver_->last_received_data_params();
119 } 119 }
120 120
121 bool HasSentData(int count) { 121 bool HasSentData(int count) {
122 return (iface_->NumRtpPackets() > count); 122 return (iface_->NumRtpPackets() > count);
123 } 123 }
124 124
125 std::string GetSentData(int index) { 125 std::string GetSentData(int index) {
126 // Assume RTP header of length 12 126 // Assume RTP header of length 12
127 rtc::scoped_ptr<const rtc::Buffer> packet( 127 std::unique_ptr<const rtc::Buffer> packet(
128 iface_->GetRtpPacket(index)); 128 iface_->GetRtpPacket(index));
129 if (packet->size() > 12) { 129 if (packet->size() > 12) {
130 return std::string(packet->data<char>() + 12, packet->size() - 12); 130 return std::string(packet->data<char>() + 12, packet->size() - 12);
131 } else { 131 } else {
132 return ""; 132 return "";
133 } 133 }
134 } 134 }
135 135
136 cricket::RtpHeader GetSentDataHeader(int index) { 136 cricket::RtpHeader GetSentDataHeader(int index) {
137 rtc::scoped_ptr<const rtc::Buffer> packet( 137 std::unique_ptr<const rtc::Buffer> packet(
138 iface_->GetRtpPacket(index)); 138 iface_->GetRtpPacket(index));
139 cricket::RtpHeader header; 139 cricket::RtpHeader header;
140 GetRtpHeader(packet->data(), packet->size(), &header); 140 GetRtpHeader(packet->data(), packet->size(), &header);
141 return header; 141 return header;
142 } 142 }
143 143
144 private: 144 private:
145 rtc::scoped_ptr<cricket::RtpDataEngine> dme_; 145 std::unique_ptr<cricket::RtpDataEngine> dme_;
146 // Timing passed into dme_. Owned by dme_; 146 // Timing passed into dme_. Owned by dme_;
147 FakeTiming* timing_; 147 FakeTiming* timing_;
148 rtc::scoped_ptr<cricket::FakeNetworkInterface> iface_; 148 std::unique_ptr<cricket::FakeNetworkInterface> iface_;
149 rtc::scoped_ptr<FakeDataReceiver> receiver_; 149 std::unique_ptr<FakeDataReceiver> receiver_;
150 }; 150 };
151 151
152 TEST_F(RtpDataMediaChannelTest, SetUnknownCodecs) { 152 TEST_F(RtpDataMediaChannelTest, SetUnknownCodecs) {
153 rtc::scoped_ptr<cricket::RtpDataMediaChannel> dmc(CreateChannel()); 153 std::unique_ptr<cricket::RtpDataMediaChannel> dmc(CreateChannel());
154 154
155 cricket::DataCodec known_codec; 155 cricket::DataCodec known_codec;
156 known_codec.id = 103; 156 known_codec.id = 103;
157 known_codec.name = "google-data"; 157 known_codec.name = "google-data";
158 cricket::DataCodec unknown_codec; 158 cricket::DataCodec unknown_codec;
159 unknown_codec.id = 104; 159 unknown_codec.id = 104;
160 unknown_codec.name = "unknown-data"; 160 unknown_codec.name = "unknown-data";
161 161
162 cricket::DataSendParameters send_parameters_known; 162 cricket::DataSendParameters send_parameters_known;
163 send_parameters_known.codecs.push_back(known_codec); 163 send_parameters_known.codecs.push_back(known_codec);
(...skipping 14 matching lines...) Expand all
178 178
179 EXPECT_TRUE(dmc->SetSendParameters(send_parameters_known)); 179 EXPECT_TRUE(dmc->SetSendParameters(send_parameters_known));
180 EXPECT_FALSE(dmc->SetSendParameters(send_parameters_unknown)); 180 EXPECT_FALSE(dmc->SetSendParameters(send_parameters_unknown));
181 EXPECT_TRUE(dmc->SetSendParameters(send_parameters_mixed)); 181 EXPECT_TRUE(dmc->SetSendParameters(send_parameters_mixed));
182 EXPECT_TRUE(dmc->SetRecvParameters(recv_parameters_known)); 182 EXPECT_TRUE(dmc->SetRecvParameters(recv_parameters_known));
183 EXPECT_FALSE(dmc->SetRecvParameters(recv_parameters_unknown)); 183 EXPECT_FALSE(dmc->SetRecvParameters(recv_parameters_unknown));
184 EXPECT_FALSE(dmc->SetRecvParameters(recv_parameters_mixed)); 184 EXPECT_FALSE(dmc->SetRecvParameters(recv_parameters_mixed));
185 } 185 }
186 186
187 TEST_F(RtpDataMediaChannelTest, AddRemoveSendStream) { 187 TEST_F(RtpDataMediaChannelTest, AddRemoveSendStream) {
188 rtc::scoped_ptr<cricket::RtpDataMediaChannel> dmc(CreateChannel()); 188 std::unique_ptr<cricket::RtpDataMediaChannel> dmc(CreateChannel());
189 189
190 cricket::StreamParams stream1; 190 cricket::StreamParams stream1;
191 stream1.add_ssrc(41); 191 stream1.add_ssrc(41);
192 EXPECT_TRUE(dmc->AddSendStream(stream1)); 192 EXPECT_TRUE(dmc->AddSendStream(stream1));
193 cricket::StreamParams stream2; 193 cricket::StreamParams stream2;
194 stream2.add_ssrc(42); 194 stream2.add_ssrc(42);
195 EXPECT_TRUE(dmc->AddSendStream(stream2)); 195 EXPECT_TRUE(dmc->AddSendStream(stream2));
196 196
197 EXPECT_TRUE(dmc->RemoveSendStream(41)); 197 EXPECT_TRUE(dmc->RemoveSendStream(41));
198 EXPECT_TRUE(dmc->RemoveSendStream(42)); 198 EXPECT_TRUE(dmc->RemoveSendStream(42));
199 EXPECT_FALSE(dmc->RemoveSendStream(43)); 199 EXPECT_FALSE(dmc->RemoveSendStream(43));
200 } 200 }
201 201
202 TEST_F(RtpDataMediaChannelTest, AddRemoveRecvStream) { 202 TEST_F(RtpDataMediaChannelTest, AddRemoveRecvStream) {
203 rtc::scoped_ptr<cricket::RtpDataMediaChannel> dmc(CreateChannel()); 203 std::unique_ptr<cricket::RtpDataMediaChannel> dmc(CreateChannel());
204 204
205 cricket::StreamParams stream1; 205 cricket::StreamParams stream1;
206 stream1.add_ssrc(41); 206 stream1.add_ssrc(41);
207 EXPECT_TRUE(dmc->AddRecvStream(stream1)); 207 EXPECT_TRUE(dmc->AddRecvStream(stream1));
208 cricket::StreamParams stream2; 208 cricket::StreamParams stream2;
209 stream2.add_ssrc(42); 209 stream2.add_ssrc(42);
210 EXPECT_TRUE(dmc->AddRecvStream(stream2)); 210 EXPECT_TRUE(dmc->AddRecvStream(stream2));
211 EXPECT_FALSE(dmc->AddRecvStream(stream2)); 211 EXPECT_FALSE(dmc->AddRecvStream(stream2));
212 212
213 EXPECT_TRUE(dmc->RemoveRecvStream(41)); 213 EXPECT_TRUE(dmc->RemoveRecvStream(41));
214 EXPECT_TRUE(dmc->RemoveRecvStream(42)); 214 EXPECT_TRUE(dmc->RemoveRecvStream(42));
215 } 215 }
216 216
217 TEST_F(RtpDataMediaChannelTest, SendData) { 217 TEST_F(RtpDataMediaChannelTest, SendData) {
218 rtc::scoped_ptr<cricket::RtpDataMediaChannel> dmc(CreateChannel()); 218 std::unique_ptr<cricket::RtpDataMediaChannel> dmc(CreateChannel());
219 219
220 cricket::SendDataParams params; 220 cricket::SendDataParams params;
221 params.ssrc = 42; 221 params.ssrc = 42;
222 unsigned char data[] = "food"; 222 unsigned char data[] = "food";
223 rtc::Buffer payload(data, 4); 223 rtc::Buffer payload(data, 4);
224 unsigned char padded_data[] = { 224 unsigned char padded_data[] = {
225 0x00, 0x00, 0x00, 0x00, 225 0x00, 0x00, 0x00, 0x00,
226 'f', 'o', 'o', 'd', 226 'f', 'o', 'o', 'd',
227 }; 227 };
228 cricket::SendDataResult result; 228 cricket::SendDataResult result;
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 EXPECT_EQ(header1.ssrc, 42U); 286 EXPECT_EQ(header1.ssrc, 42U);
287 EXPECT_EQ(header1.payload_type, 103); 287 EXPECT_EQ(header1.payload_type, 103);
288 EXPECT_EQ(static_cast<uint16_t>(header0.seq_num + 1), 288 EXPECT_EQ(static_cast<uint16_t>(header0.seq_num + 1),
289 static_cast<uint16_t>(header1.seq_num)); 289 static_cast<uint16_t>(header1.seq_num));
290 EXPECT_EQ(header0.timestamp + 180000, header1.timestamp); 290 EXPECT_EQ(header0.timestamp + 180000, header1.timestamp);
291 } 291 }
292 292
293 TEST_F(RtpDataMediaChannelTest, SendDataMultipleClocks) { 293 TEST_F(RtpDataMediaChannelTest, SendDataMultipleClocks) {
294 // Timings owned by RtpDataEngines. 294 // Timings owned by RtpDataEngines.
295 FakeTiming* timing1 = new FakeTiming(); 295 FakeTiming* timing1 = new FakeTiming();
296 rtc::scoped_ptr<cricket::RtpDataEngine> dme1(CreateEngine(timing1)); 296 std::unique_ptr<cricket::RtpDataEngine> dme1(CreateEngine(timing1));
297 rtc::scoped_ptr<cricket::RtpDataMediaChannel> dmc1( 297 std::unique_ptr<cricket::RtpDataMediaChannel> dmc1(
298 CreateChannel(dme1.get())); 298 CreateChannel(dme1.get()));
299 FakeTiming* timing2 = new FakeTiming(); 299 FakeTiming* timing2 = new FakeTiming();
300 rtc::scoped_ptr<cricket::RtpDataEngine> dme2(CreateEngine(timing2)); 300 std::unique_ptr<cricket::RtpDataEngine> dme2(CreateEngine(timing2));
301 rtc::scoped_ptr<cricket::RtpDataMediaChannel> dmc2( 301 std::unique_ptr<cricket::RtpDataMediaChannel> dmc2(
302 CreateChannel(dme2.get())); 302 CreateChannel(dme2.get()));
303 303
304 ASSERT_TRUE(dmc1->SetSend(true)); 304 ASSERT_TRUE(dmc1->SetSend(true));
305 ASSERT_TRUE(dmc2->SetSend(true)); 305 ASSERT_TRUE(dmc2->SetSend(true));
306 306
307 cricket::StreamParams stream1; 307 cricket::StreamParams stream1;
308 stream1.add_ssrc(41); 308 stream1.add_ssrc(41);
309 ASSERT_TRUE(dmc1->AddSendStream(stream1)); 309 ASSERT_TRUE(dmc1->AddSendStream(stream1));
310 cricket::StreamParams stream2; 310 cricket::StreamParams stream2;
311 stream2.add_ssrc(42); 311 stream2.add_ssrc(42);
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 347
348 EXPECT_EQ(static_cast<uint16_t>(header1a.seq_num + 1), 348 EXPECT_EQ(static_cast<uint16_t>(header1a.seq_num + 1),
349 static_cast<uint16_t>(header1b.seq_num)); 349 static_cast<uint16_t>(header1b.seq_num));
350 EXPECT_EQ(header1a.timestamp + 90000, header1b.timestamp); 350 EXPECT_EQ(header1a.timestamp + 90000, header1b.timestamp);
351 EXPECT_EQ(static_cast<uint16_t>(header2a.seq_num + 1), 351 EXPECT_EQ(static_cast<uint16_t>(header2a.seq_num + 1),
352 static_cast<uint16_t>(header2b.seq_num)); 352 static_cast<uint16_t>(header2b.seq_num));
353 EXPECT_EQ(header2a.timestamp + 180000, header2b.timestamp); 353 EXPECT_EQ(header2a.timestamp + 180000, header2b.timestamp);
354 } 354 }
355 355
356 TEST_F(RtpDataMediaChannelTest, SendDataRate) { 356 TEST_F(RtpDataMediaChannelTest, SendDataRate) {
357 rtc::scoped_ptr<cricket::RtpDataMediaChannel> dmc(CreateChannel()); 357 std::unique_ptr<cricket::RtpDataMediaChannel> dmc(CreateChannel());
358 358
359 ASSERT_TRUE(dmc->SetSend(true)); 359 ASSERT_TRUE(dmc->SetSend(true));
360 360
361 cricket::DataCodec codec; 361 cricket::DataCodec codec;
362 codec.id = 103; 362 codec.id = 103;
363 codec.name = cricket::kGoogleRtpDataCodecName; 363 codec.name = cricket::kGoogleRtpDataCodecName;
364 cricket::DataSendParameters parameters; 364 cricket::DataSendParameters parameters;
365 parameters.codecs.push_back(codec); 365 parameters.codecs.push_back(codec);
366 ASSERT_TRUE(dmc->SetSendParameters(parameters)); 366 ASSERT_TRUE(dmc->SetSendParameters(parameters));
367 367
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
405 405
406 TEST_F(RtpDataMediaChannelTest, ReceiveData) { 406 TEST_F(RtpDataMediaChannelTest, ReceiveData) {
407 // PT= 103, SN=2, TS=3, SSRC = 4, data = "abcde" 407 // PT= 103, SN=2, TS=3, SSRC = 4, data = "abcde"
408 unsigned char data[] = { 408 unsigned char data[] = {
409 0x80, 0x67, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2A, 409 0x80, 0x67, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2A,
410 0x00, 0x00, 0x00, 0x00, 410 0x00, 0x00, 0x00, 0x00,
411 'a', 'b', 'c', 'd', 'e' 411 'a', 'b', 'c', 'd', 'e'
412 }; 412 };
413 rtc::Buffer packet(data, sizeof(data)); 413 rtc::Buffer packet(data, sizeof(data));
414 414
415 rtc::scoped_ptr<cricket::RtpDataMediaChannel> dmc(CreateChannel()); 415 std::unique_ptr<cricket::RtpDataMediaChannel> dmc(CreateChannel());
416 416
417 // SetReceived not called. 417 // SetReceived not called.
418 dmc->OnPacketReceived(&packet, rtc::PacketTime()); 418 dmc->OnPacketReceived(&packet, rtc::PacketTime());
419 EXPECT_FALSE(HasReceivedData()); 419 EXPECT_FALSE(HasReceivedData());
420 420
421 dmc->SetReceive(true); 421 dmc->SetReceive(true);
422 422
423 // Unknown payload id 423 // Unknown payload id
424 dmc->OnPacketReceived(&packet, rtc::PacketTime()); 424 dmc->OnPacketReceived(&packet, rtc::PacketTime());
425 EXPECT_FALSE(HasReceivedData()); 425 EXPECT_FALSE(HasReceivedData());
(...skipping 19 matching lines...) Expand all
445 EXPECT_EQ("abcde", GetReceivedData()); 445 EXPECT_EQ("abcde", GetReceivedData());
446 EXPECT_EQ(5U, GetReceivedDataLen()); 446 EXPECT_EQ(5U, GetReceivedDataLen());
447 } 447 }
448 448
449 TEST_F(RtpDataMediaChannelTest, InvalidRtpPackets) { 449 TEST_F(RtpDataMediaChannelTest, InvalidRtpPackets) {
450 unsigned char data[] = { 450 unsigned char data[] = {
451 0x80, 0x65, 0x00, 0x02 451 0x80, 0x65, 0x00, 0x02
452 }; 452 };
453 rtc::Buffer packet(data, sizeof(data)); 453 rtc::Buffer packet(data, sizeof(data));
454 454
455 rtc::scoped_ptr<cricket::RtpDataMediaChannel> dmc(CreateChannel()); 455 std::unique_ptr<cricket::RtpDataMediaChannel> dmc(CreateChannel());
456 456
457 // Too short 457 // Too short
458 dmc->OnPacketReceived(&packet, rtc::PacketTime()); 458 dmc->OnPacketReceived(&packet, rtc::PacketTime());
459 EXPECT_FALSE(HasReceivedData()); 459 EXPECT_FALSE(HasReceivedData());
460 } 460 }
OLDNEW
« no previous file with comments | « webrtc/media/base/rtpdataengine.h ('k') | webrtc/media/base/rtpdump_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698