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

Side by Side Diff: media/cast/rtcp/rtcp_sender_unittest.cc

Issue 100823015: Cast: move net->transport (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Updating transport callback Created 6 years, 11 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 | Annotate | Revision Log
« no previous file with comments | « media/cast/rtcp/rtcp_sender.cc ('k') | media/cast/rtcp/rtcp_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 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/memory/scoped_ptr.h" 5 #include "base/memory/scoped_ptr.h"
6 #include "base/test/simple_test_tick_clock.h" 6 #include "base/test/simple_test_tick_clock.h"
7 #include "media/cast/cast_defines.h" 7 #include "media/cast/cast_defines.h"
8 #include "media/cast/cast_environment.h" 8 #include "media/cast/cast_environment.h"
9 #include "media/cast/net/pacing/paced_sender.h"
10 #include "media/cast/rtcp/rtcp_sender.h" 9 #include "media/cast/rtcp/rtcp_sender.h"
11 #include "media/cast/rtcp/rtcp_utility.h" 10 #include "media/cast/rtcp/rtcp_utility.h"
12 #include "media/cast/rtcp/test_rtcp_packet_builder.h" 11 #include "media/cast/rtcp/test_rtcp_packet_builder.h"
13 #include "media/cast/test/fake_task_runner.h" 12 #include "media/cast/test/fake_task_runner.h"
13 #include "media/cast/transport/cast_transport_defines.h"
14 #include "media/cast/transport/pacing/paced_sender.h"
14 #include "testing/gmock/include/gmock/gmock.h" 15 #include "testing/gmock/include/gmock/gmock.h"
15 16
16 namespace media { 17 namespace media {
17 namespace cast { 18 namespace cast {
18 19
19 namespace { 20 namespace {
20 static const uint32 kSendingSsrc = 0x12345678; 21 static const uint32 kSendingSsrc = 0x12345678;
21 static const uint32 kMediaSsrc = 0x87654321; 22 static const uint32 kMediaSsrc = 0x87654321;
22 static const std::string kCName("test@10.1.1.1"); 23 static const std::string kCName("test@10.1.1.1");
23 } // namespace 24 } // namespace
24 25
25 class TestRtcpTransport : public PacedPacketSender { 26 class TestRtcpTransport : public transport::PacedPacketSender {
26 public: 27 public:
27 TestRtcpTransport() 28 TestRtcpTransport()
28 : expected_packet_length_(0), 29 : expected_packet_length_(0),
29 packet_count_(0) { 30 packet_count_(0) {
30 } 31 }
31 32
32 virtual bool SendRtcpPacket(const Packet& packet) OVERRIDE { 33 virtual bool SendRtcpPacket(const Packet& packet) OVERRIDE {
33 EXPECT_EQ(expected_packet_length_, packet.size()); 34 EXPECT_EQ(expected_packet_length_, packet.size());
34 EXPECT_EQ(0, memcmp(expected_packet_, &(packet[0]), packet.size())); 35 EXPECT_EQ(0, memcmp(expected_packet_, &(packet[0]), packet.size()));
35 packet_count_++; 36 packet_count_++;
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 90
90 EXPECT_EQ(1, test_transport_.packet_count()); 91 EXPECT_EQ(1, test_transport_.packet_count());
91 92
92 // Receiver report with report block + c_name. 93 // Receiver report with report block + c_name.
93 TestRtcpPacketBuilder p2; 94 TestRtcpPacketBuilder p2;
94 p2.AddRr(kSendingSsrc, 1); 95 p2.AddRr(kSendingSsrc, 1);
95 p2.AddRb(kMediaSsrc); 96 p2.AddRb(kMediaSsrc);
96 p2.AddSdesCname(kSendingSsrc, kCName); 97 p2.AddSdesCname(kSendingSsrc, kCName);
97 test_transport_.SetExpectedRtcpPacket(p2.Packet(), p2.Length()); 98 test_transport_.SetExpectedRtcpPacket(p2.Packet(), p2.Length());
98 99
99 RtcpReportBlock report_block; 100 transport::RtcpReportBlock report_block;
100 // Initialize remote_ssrc to a "clearly illegal" value. 101 // Initialize remote_ssrc to a "clearly illegal" value.
101 report_block.remote_ssrc = 0xDEAD; 102 report_block.remote_ssrc = 0xDEAD;
102 report_block.media_ssrc = kMediaSsrc; // SSRC of the RTP packet sender. 103 report_block.media_ssrc = kMediaSsrc; // SSRC of the RTP packet sender.
103 report_block.fraction_lost = kLoss >> 24; 104 report_block.fraction_lost = kLoss >> 24;
104 report_block.cumulative_lost = kLoss; // 24 bits valid. 105 report_block.cumulative_lost = kLoss; // 24 bits valid.
105 report_block.extended_high_sequence_number = kExtendedMax; 106 report_block.extended_high_sequence_number = kExtendedMax;
106 report_block.jitter = kTestJitter; 107 report_block.jitter = kTestJitter;
107 report_block.last_sr = kLastSr; 108 report_block.last_sr = kLastSr;
108 report_block.delay_since_last_sr = kDelayLastSr; 109 report_block.delay_since_last_sr = kDelayLastSr;
109 110
110 rtcp_sender_->SendRtcpFromRtpReceiver(RtcpSender::kRtcpRr, &report_block, 111 rtcp_sender_->SendRtcpFromRtpReceiver(RtcpSender::kRtcpRr, &report_block,
111 NULL, NULL, NULL); 112 NULL, NULL, NULL);
112 113
113 EXPECT_EQ(2, test_transport_.packet_count()); 114 EXPECT_EQ(2, test_transport_.packet_count());
114 } 115 }
115 116
116 TEST_F(RtcpSenderTest, RtcpReceiverReportWithRrtr) { 117 TEST_F(RtcpSenderTest, RtcpReceiverReportWithRrtr) {
117 // Receiver report with report block + c_name. 118 // Receiver report with report block + c_name.
118 TestRtcpPacketBuilder p; 119 TestRtcpPacketBuilder p;
119 p.AddRr(kSendingSsrc, 1); 120 p.AddRr(kSendingSsrc, 1);
120 p.AddRb(kMediaSsrc); 121 p.AddRb(kMediaSsrc);
121 p.AddSdesCname(kSendingSsrc, kCName); 122 p.AddSdesCname(kSendingSsrc, kCName);
122 p.AddXrHeader(kSendingSsrc); 123 p.AddXrHeader(kSendingSsrc);
123 p.AddXrRrtrBlock(); 124 p.AddXrRrtrBlock();
124 test_transport_.SetExpectedRtcpPacket(p.Packet(), p.Length()); 125 test_transport_.SetExpectedRtcpPacket(p.Packet(), p.Length());
125 126
126 RtcpReportBlock report_block; 127 transport::RtcpReportBlock report_block;
127 // Initialize remote_ssrc to a "clearly illegal" value. 128 // Initialize remote_ssrc to a "clearly illegal" value.
128 report_block.remote_ssrc = 0xDEAD; 129 report_block.remote_ssrc = 0xDEAD;
129 report_block.media_ssrc = kMediaSsrc; // SSRC of the RTP packet sender. 130 report_block.media_ssrc = kMediaSsrc; // SSRC of the RTP packet sender.
130 report_block.fraction_lost = kLoss >> 24; 131 report_block.fraction_lost = kLoss >> 24;
131 report_block.cumulative_lost = kLoss; // 24 bits valid. 132 report_block.cumulative_lost = kLoss; // 24 bits valid.
132 report_block.extended_high_sequence_number = kExtendedMax; 133 report_block.extended_high_sequence_number = kExtendedMax;
133 report_block.jitter = kTestJitter; 134 report_block.jitter = kTestJitter;
134 report_block.last_sr = kLastSr; 135 report_block.last_sr = kLastSr;
135 report_block.delay_since_last_sr = kDelayLastSr; 136 report_block.delay_since_last_sr = kDelayLastSr;
136 137
(...skipping 13 matching lines...) Expand all
150 151
151 TEST_F(RtcpSenderTest, RtcpReceiverReportWithCast) { 152 TEST_F(RtcpSenderTest, RtcpReceiverReportWithCast) {
152 // Receiver report with report block + c_name. 153 // Receiver report with report block + c_name.
153 TestRtcpPacketBuilder p; 154 TestRtcpPacketBuilder p;
154 p.AddRr(kSendingSsrc, 1); 155 p.AddRr(kSendingSsrc, 1);
155 p.AddRb(kMediaSsrc); 156 p.AddRb(kMediaSsrc);
156 p.AddSdesCname(kSendingSsrc, kCName); 157 p.AddSdesCname(kSendingSsrc, kCName);
157 p.AddCast(kSendingSsrc, kMediaSsrc); 158 p.AddCast(kSendingSsrc, kMediaSsrc);
158 test_transport_.SetExpectedRtcpPacket(p.Packet(), p.Length()); 159 test_transport_.SetExpectedRtcpPacket(p.Packet(), p.Length());
159 160
160 RtcpReportBlock report_block; 161 transport::RtcpReportBlock report_block;
161 // Initialize remote_ssrc to a "clearly illegal" value. 162 // Initialize remote_ssrc to a "clearly illegal" value.
162 report_block.remote_ssrc = 0xDEAD; 163 report_block.remote_ssrc = 0xDEAD;
163 report_block.media_ssrc = kMediaSsrc; // SSRC of the RTP packet sender. 164 report_block.media_ssrc = kMediaSsrc; // SSRC of the RTP packet sender.
164 report_block.fraction_lost = kLoss >> 24; 165 report_block.fraction_lost = kLoss >> 24;
165 report_block.cumulative_lost = kLoss; // 24 bits valid. 166 report_block.cumulative_lost = kLoss; // 24 bits valid.
166 report_block.extended_high_sequence_number = kExtendedMax; 167 report_block.extended_high_sequence_number = kExtendedMax;
167 report_block.jitter = kTestJitter; 168 report_block.jitter = kTestJitter;
168 report_block.last_sr = kLastSr; 169 report_block.last_sr = kLastSr;
169 report_block.delay_since_last_sr = kDelayLastSr; 170 report_block.delay_since_last_sr = kDelayLastSr;
170 171
(...skipping 21 matching lines...) Expand all
192 TEST_F(RtcpSenderTest, RtcpReceiverReportWithRrtraAndCastMessage) { 193 TEST_F(RtcpSenderTest, RtcpReceiverReportWithRrtraAndCastMessage) {
193 TestRtcpPacketBuilder p; 194 TestRtcpPacketBuilder p;
194 p.AddRr(kSendingSsrc, 1); 195 p.AddRr(kSendingSsrc, 1);
195 p.AddRb(kMediaSsrc); 196 p.AddRb(kMediaSsrc);
196 p.AddSdesCname(kSendingSsrc, kCName); 197 p.AddSdesCname(kSendingSsrc, kCName);
197 p.AddXrHeader(kSendingSsrc); 198 p.AddXrHeader(kSendingSsrc);
198 p.AddXrRrtrBlock(); 199 p.AddXrRrtrBlock();
199 p.AddCast(kSendingSsrc, kMediaSsrc); 200 p.AddCast(kSendingSsrc, kMediaSsrc);
200 test_transport_.SetExpectedRtcpPacket(p.Packet(), p.Length()); 201 test_transport_.SetExpectedRtcpPacket(p.Packet(), p.Length());
201 202
202 RtcpReportBlock report_block; 203 transport::RtcpReportBlock report_block;
203 // Initialize remote_ssrc to a "clearly illegal" value. 204 // Initialize remote_ssrc to a "clearly illegal" value.
204 report_block.remote_ssrc = 0xDEAD; 205 report_block.remote_ssrc = 0xDEAD;
205 report_block.media_ssrc = kMediaSsrc; // SSRC of the RTP packet sender. 206 report_block.media_ssrc = kMediaSsrc; // SSRC of the RTP packet sender.
206 report_block.fraction_lost = kLoss >> 24; 207 report_block.fraction_lost = kLoss >> 24;
207 report_block.cumulative_lost = kLoss; // 24 bits valid. 208 report_block.cumulative_lost = kLoss; // 24 bits valid.
208 report_block.extended_high_sequence_number = kExtendedMax; 209 report_block.extended_high_sequence_number = kExtendedMax;
209 report_block.jitter = kTestJitter; 210 report_block.jitter = kTestJitter;
210 report_block.last_sr = kLastSr; 211 report_block.last_sr = kLastSr;
211 report_block.delay_since_last_sr = kDelayLastSr; 212 report_block.delay_since_last_sr = kDelayLastSr;
212 213
(...skipping 29 matching lines...) Expand all
242 243
243 TestRtcpPacketBuilder p; 244 TestRtcpPacketBuilder p;
244 p.AddRr(kSendingSsrc, 1); 245 p.AddRr(kSendingSsrc, 1);
245 p.AddRb(kMediaSsrc); 246 p.AddRb(kMediaSsrc);
246 p.AddSdesCname(kSendingSsrc, kCName); 247 p.AddSdesCname(kSendingSsrc, kCName);
247 p.AddXrHeader(kSendingSsrc); 248 p.AddXrHeader(kSendingSsrc);
248 p.AddXrRrtrBlock(); 249 p.AddXrRrtrBlock();
249 p.AddCast(kSendingSsrc, kMediaSsrc); 250 p.AddCast(kSendingSsrc, kMediaSsrc);
250 test_transport_.SetExpectedRtcpPacket(p.Packet(), p.Length()); 251 test_transport_.SetExpectedRtcpPacket(p.Packet(), p.Length());
251 252
252 RtcpReportBlock report_block; 253 transport::RtcpReportBlock report_block;
253 // Initialize remote_ssrc to a "clearly illegal" value. 254 // Initialize remote_ssrc to a "clearly illegal" value.
254 report_block.remote_ssrc = 0xDEAD; 255 report_block.remote_ssrc = 0xDEAD;
255 report_block.media_ssrc = kMediaSsrc; // SSRC of the RTP packet sender. 256 report_block.media_ssrc = kMediaSsrc; // SSRC of the RTP packet sender.
256 report_block.fraction_lost = kLoss >> 24; 257 report_block.fraction_lost = kLoss >> 24;
257 report_block.cumulative_lost = kLoss; // 24 bits valid. 258 report_block.cumulative_lost = kLoss; // 24 bits valid.
258 report_block.extended_high_sequence_number = kExtendedMax; 259 report_block.extended_high_sequence_number = kExtendedMax;
259 report_block.jitter = kTestJitter; 260 report_block.jitter = kTestJitter;
260 report_block.last_sr = kLastSr; 261 report_block.last_sr = kLastSr;
261 report_block.delay_since_last_sr = kDelayLastSr; 262 report_block.delay_since_last_sr = kDelayLastSr;
262 263
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 TEST_F(RtcpSenderTest, RtcpReceiverReportWithOversizedFrameLog) { 331 TEST_F(RtcpSenderTest, RtcpReceiverReportWithOversizedFrameLog) {
331 static const uint32 kTimeBaseMs = 12345678; 332 static const uint32 kTimeBaseMs = 12345678;
332 static const uint32 kTimeDelayMs = 10; 333 static const uint32 kTimeDelayMs = 10;
333 static const uint32 kDelayDeltaMs = 123; 334 static const uint32 kDelayDeltaMs = 123;
334 335
335 TestRtcpPacketBuilder p; 336 TestRtcpPacketBuilder p;
336 p.AddRr(kSendingSsrc, 1); 337 p.AddRr(kSendingSsrc, 1);
337 p.AddRb(kMediaSsrc); 338 p.AddRb(kMediaSsrc);
338 p.AddSdesCname(kSendingSsrc, kCName); 339 p.AddSdesCname(kSendingSsrc, kCName);
339 340
340 RtcpReportBlock report_block; 341 transport::RtcpReportBlock report_block;
341 // Initialize remote_ssrc to a "clearly illegal" value. 342 // Initialize remote_ssrc to a "clearly illegal" value.
342 report_block.remote_ssrc = 0xDEAD; 343 report_block.remote_ssrc = 0xDEAD;
343 report_block.media_ssrc = kMediaSsrc; // SSRC of the RTP packet sender. 344 report_block.media_ssrc = kMediaSsrc; // SSRC of the RTP packet sender.
344 report_block.fraction_lost = kLoss >> 24; 345 report_block.fraction_lost = kLoss >> 24;
345 report_block.cumulative_lost = kLoss; // 24 bits valid. 346 report_block.cumulative_lost = kLoss; // 24 bits valid.
346 report_block.extended_high_sequence_number = kExtendedMax; 347 report_block.extended_high_sequence_number = kExtendedMax;
347 report_block.jitter = kTestJitter; 348 report_block.jitter = kTestJitter;
348 report_block.last_sr = kLastSr; 349 report_block.last_sr = kLastSr;
349 report_block.delay_since_last_sr = kDelayLastSr; 350 report_block.delay_since_last_sr = kDelayLastSr;
350 351
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 TEST_F(RtcpSenderTest, RtcpReceiverReportWithTooManyLogFrames) { 404 TEST_F(RtcpSenderTest, RtcpReceiverReportWithTooManyLogFrames) {
404 static const uint32 kTimeBaseMs = 12345678; 405 static const uint32 kTimeBaseMs = 12345678;
405 static const uint32 kTimeDelayMs = 10; 406 static const uint32 kTimeDelayMs = 10;
406 static const uint32 kDelayDeltaMs = 123; 407 static const uint32 kDelayDeltaMs = 123;
407 408
408 TestRtcpPacketBuilder p; 409 TestRtcpPacketBuilder p;
409 p.AddRr(kSendingSsrc, 1); 410 p.AddRr(kSendingSsrc, 1);
410 p.AddRb(kMediaSsrc); 411 p.AddRb(kMediaSsrc);
411 p.AddSdesCname(kSendingSsrc, kCName); 412 p.AddSdesCname(kSendingSsrc, kCName);
412 413
413 RtcpReportBlock report_block; 414 transport::RtcpReportBlock report_block;
414 // Initialize remote_ssrc to a "clearly illegal" value. 415 // Initialize remote_ssrc to a "clearly illegal" value.
415 report_block.remote_ssrc = 0xDEAD; 416 report_block.remote_ssrc = 0xDEAD;
416 report_block.media_ssrc = kMediaSsrc; // SSRC of the RTP packet sender. 417 report_block.media_ssrc = kMediaSsrc; // SSRC of the RTP packet sender.
417 report_block.fraction_lost = kLoss >> 24; 418 report_block.fraction_lost = kLoss >> 24;
418 report_block.cumulative_lost = kLoss; // 24 bits valid. 419 report_block.cumulative_lost = kLoss; // 24 bits valid.
419 report_block.extended_high_sequence_number = kExtendedMax; 420 report_block.extended_high_sequence_number = kExtendedMax;
420 report_block.jitter = kTestJitter; 421 report_block.jitter = kTestJitter;
421 report_block.last_sr = kLastSr; 422 report_block.last_sr = kLastSr;
422 report_block.delay_since_last_sr = kDelayLastSr; 423 report_block.delay_since_last_sr = kDelayLastSr;
423 424
(...skipping 27 matching lines...) Expand all
451 NULL, 452 NULL,
452 NULL, 453 NULL,
453 &receiver_log); 454 &receiver_log);
454 455
455 EXPECT_EQ(1, test_transport_.packet_count()); 456 EXPECT_EQ(1, test_transport_.packet_count());
456 EXPECT_EQ(81u, receiver_log.size()); 457 EXPECT_EQ(81u, receiver_log.size());
457 } 458 }
458 459
459 } // namespace cast 460 } // namespace cast
460 } // namespace media 461 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/rtcp/rtcp_sender.cc ('k') | media/cast/rtcp/rtcp_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698