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

Side by Side Diff: webrtc/video/end_to_end_tests.cc

Issue 1376673004: Add a PacketOptions struct to webrtc::Transport. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Comment added Created 5 years, 2 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/transport.h ('k') | webrtc/video/video_quality_test.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) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 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 #include <algorithm> 10 #include <algorithm>
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 EndToEndTest() {} 54 EndToEndTest() {}
55 55
56 virtual ~EndToEndTest() { 56 virtual ~EndToEndTest() {
57 EXPECT_EQ(nullptr, send_stream_); 57 EXPECT_EQ(nullptr, send_stream_);
58 EXPECT_TRUE(receive_streams_.empty()); 58 EXPECT_TRUE(receive_streams_.empty());
59 } 59 }
60 60
61 protected: 61 protected:
62 class UnusedTransport : public Transport { 62 class UnusedTransport : public Transport {
63 private: 63 private:
64 bool SendRtp(const uint8_t* packet, size_t length) override { 64 bool SendRtp(const uint8_t* packet,
65 size_t length,
66 const PacketOptions& options) override {
65 ADD_FAILURE() << "Unexpected RTP sent."; 67 ADD_FAILURE() << "Unexpected RTP sent.";
66 return false; 68 return false;
67 } 69 }
68 70
69 bool SendRtcp(const uint8_t* packet, size_t length) override { 71 bool SendRtcp(const uint8_t* packet, size_t length) override {
70 ADD_FAILURE() << "Unexpected RTCP sent."; 72 ADD_FAILURE() << "Unexpected RTCP sent.";
71 return false; 73 return false;
72 } 74 }
73 }; 75 };
74 76
(...skipping 1266 matching lines...) Expand 10 before | Expand all | Expand 10 after
1341 : done_(EventWrapper::Create()), 1343 : done_(EventWrapper::Create()),
1342 parser_(RtpHeaderParser::Create()), 1344 parser_(RtpHeaderParser::Create()),
1343 last_seq_(0), 1345 last_seq_(0),
1344 padding_observed_(false), 1346 padding_observed_(false),
1345 rtx_padding_observed_(false) { 1347 rtx_padding_observed_(false) {
1346 parser_->RegisterRtpHeaderExtension(kRtpExtensionTransportSequenceNumber, 1348 parser_->RegisterRtpHeaderExtension(kRtpExtensionTransportSequenceNumber,
1347 kExtensionId); 1349 kExtensionId);
1348 } 1350 }
1349 virtual ~RtpExtensionHeaderObserver() {} 1351 virtual ~RtpExtensionHeaderObserver() {}
1350 1352
1351 bool SendRtp(const uint8_t* data, size_t length) override { 1353 bool SendRtp(const uint8_t* data,
1354 size_t length,
1355 const PacketOptions& options) override {
1352 if (IsDone()) 1356 if (IsDone())
1353 return false; 1357 return false;
1354 1358
1355 RTPHeader header; 1359 RTPHeader header;
1356 EXPECT_TRUE(parser_->Parse(data, length, &header)); 1360 EXPECT_TRUE(parser_->Parse(data, length, &header));
1357 if (header.extension.hasTransportSequenceNumber) { 1361 if (header.extension.hasTransportSequenceNumber) {
1362 EXPECT_EQ(options.packet_id,
1363 header.extension.transportSequenceNumber);
1358 if (!streams_observed_.empty()) { 1364 if (!streams_observed_.empty()) {
1359 EXPECT_EQ(static_cast<uint16_t>(last_seq_ + 1), 1365 EXPECT_EQ(static_cast<uint16_t>(last_seq_ + 1),
1360 header.extension.transportSequenceNumber); 1366 header.extension.transportSequenceNumber);
1361 } 1367 }
1362 last_seq_ = header.extension.transportSequenceNumber; 1368 last_seq_ = header.extension.transportSequenceNumber;
1363 1369
1364 size_t payload_length = 1370 size_t payload_length =
1365 length - (header.headerLength + header.paddingLength); 1371 length - (header.headerLength + header.paddingLength);
1366 if (payload_length == 0) { 1372 if (payload_length == 0) {
1367 padding_observed_ = true; 1373 padding_observed_ = true;
1368 } else if (header.payloadType == kSendRtxPayloadType) { 1374 } else if (header.payloadType == kSendRtxPayloadType) {
1369 rtx_padding_observed_ = true; 1375 rtx_padding_observed_ = true;
1370 } else { 1376 } else {
1371 streams_observed_.insert(header.ssrc); 1377 streams_observed_.insert(header.ssrc);
1372 } 1378 }
1373 1379
1374 if (IsDone()) 1380 if (IsDone())
1375 done_->Set(); 1381 done_->Set();
1376 } 1382 }
1377 return test::DirectTransport::SendRtp(data, length); 1383 return test::DirectTransport::SendRtp(data, length, options);
1378 } 1384 }
1379 1385
1380 bool IsDone() { 1386 bool IsDone() {
1381 return streams_observed_.size() == MultiStreamTest::kNumStreams && 1387 return streams_observed_.size() == MultiStreamTest::kNumStreams &&
1382 padding_observed_ && rtx_padding_observed_; 1388 padding_observed_ && rtx_padding_observed_;
1383 } 1389 }
1384 1390
1385 EventTypeWrapper Wait() { return done_->Wait(kDefaultTimeoutMs); } 1391 EventTypeWrapper Wait() { return done_->Wait(kDefaultTimeoutMs); }
1386 1392
1387 rtc::scoped_ptr<EventWrapper> done_; 1393 rtc::scoped_ptr<EventWrapper> done_;
(...skipping 1734 matching lines...) Expand 10 before | Expand all | Expand 10 after
3122 EXPECT_TRUE(default_receive_config.rtp.rtx.empty()) 3128 EXPECT_TRUE(default_receive_config.rtp.rtx.empty())
3123 << "Enabling RTX requires rtpmap: rtx negotiation."; 3129 << "Enabling RTX requires rtpmap: rtx negotiation.";
3124 EXPECT_TRUE(default_receive_config.rtp.extensions.empty()) 3130 EXPECT_TRUE(default_receive_config.rtp.extensions.empty())
3125 << "Enabling RTP extensions require negotiation."; 3131 << "Enabling RTP extensions require negotiation.";
3126 3132
3127 VerifyEmptyNackConfig(default_receive_config.rtp.nack); 3133 VerifyEmptyNackConfig(default_receive_config.rtp.nack);
3128 VerifyEmptyFecConfig(default_receive_config.rtp.fec); 3134 VerifyEmptyFecConfig(default_receive_config.rtp.fec);
3129 } 3135 }
3130 3136
3131 } // namespace webrtc 3137 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/transport.h ('k') | webrtc/video/video_quality_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698