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

Side by Side Diff: media/cast/net/rtcp/rtcp_builder_unittest.cc

Issue 1534273002: Switch to standard integer types in media/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: more Created 5 years 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 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_environment.h" 7 #include "media/cast/cast_environment.h"
8 #include "media/cast/net/cast_transport_config.h" 8 #include "media/cast/net/cast_transport_config.h"
9 #include "media/cast/net/cast_transport_defines.h" 9 #include "media/cast/net/cast_transport_defines.h"
10 #include "media/cast/net/pacing/paced_sender.h" 10 #include "media/cast/net/pacing/paced_sender.h"
11 #include "media/cast/net/rtcp/receiver_rtcp_event_subscriber.h" 11 #include "media/cast/net/rtcp/receiver_rtcp_event_subscriber.h"
12 #include "media/cast/net/rtcp/rtcp_builder.h" 12 #include "media/cast/net/rtcp/rtcp_builder.h"
13 #include "media/cast/net/rtcp/rtcp_utility.h" 13 #include "media/cast/net/rtcp/rtcp_utility.h"
14 #include "media/cast/net/rtcp/test_rtcp_packet_builder.h" 14 #include "media/cast/net/rtcp/test_rtcp_packet_builder.h"
15 #include "testing/gmock/include/gmock/gmock.h" 15 #include "testing/gmock/include/gmock/gmock.h"
16 16
17 namespace media { 17 namespace media {
18 namespace cast { 18 namespace cast {
19 19
20 namespace { 20 namespace {
21 static const uint32 kSendingSsrc = 0x12345678; 21 static const uint32_t kSendingSsrc = 0x12345678;
22 static const uint32 kMediaSsrc = 0x87654321; 22 static const uint32_t kMediaSsrc = 0x87654321;
23 static const base::TimeDelta kDefaultDelay = 23 static const base::TimeDelta kDefaultDelay =
24 base::TimeDelta::FromMilliseconds(100); 24 base::TimeDelta::FromMilliseconds(100);
25 25
26 RtcpReportBlock GetReportBlock() { 26 RtcpReportBlock GetReportBlock() {
27 RtcpReportBlock report_block; 27 RtcpReportBlock report_block;
28 // Initialize remote_ssrc to a "clearly illegal" value. 28 // Initialize remote_ssrc to a "clearly illegal" value.
29 report_block.remote_ssrc = 0xDEAD; 29 report_block.remote_ssrc = 0xDEAD;
30 report_block.media_ssrc = kMediaSsrc; // SSRC of the RTP packet sender. 30 report_block.media_ssrc = kMediaSsrc; // SSRC of the RTP packet sender.
31 report_block.fraction_lost = kLoss >> 24; 31 report_block.fraction_lost = kLoss >> 24;
32 report_block.cumulative_lost = kLoss; // 24 bits valid. 32 report_block.cumulative_lost = kLoss; // 24 bits valid.
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 ExpectPacketEQ(p.GetPacket().Pass(), 160 ExpectPacketEQ(p.GetPacket().Pass(),
161 rtcp_builder_->BuildRtcpFromReceiver( 161 rtcp_builder_->BuildRtcpFromReceiver(
162 &report_block, 162 &report_block,
163 &rrtr, 163 &rrtr,
164 &cast_message, 164 &cast_message,
165 NULL, 165 NULL,
166 kDefaultDelay)); 166 kDefaultDelay));
167 } 167 }
168 168
169 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithRrtrCastMessageAndLog) { 169 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithRrtrCastMessageAndLog) {
170 static const uint32 kTimeBaseMs = 12345678; 170 static const uint32_t kTimeBaseMs = 12345678;
171 static const uint32 kTimeDelayMs = 10; 171 static const uint32_t kTimeDelayMs = 10;
172 172
173 TestRtcpPacketBuilder p; 173 TestRtcpPacketBuilder p;
174 p.AddRr(kSendingSsrc, 1); 174 p.AddRr(kSendingSsrc, 1);
175 p.AddRb(kMediaSsrc); 175 p.AddRb(kMediaSsrc);
176 p.AddXrHeader(kSendingSsrc); 176 p.AddXrHeader(kSendingSsrc);
177 p.AddXrRrtrBlock(); 177 p.AddXrRrtrBlock();
178 p.AddCast(kSendingSsrc, kMediaSsrc, kDefaultDelay); 178 p.AddCast(kSendingSsrc, kMediaSsrc, kDefaultDelay);
179 179
180 RtcpReportBlock report_block = GetReportBlock(); 180 RtcpReportBlock report_block = GetReportBlock();
181 181
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 p.GetPacket().Pass(), 235 p.GetPacket().Pass(),
236 rtcp_builder_->BuildRtcpFromReceiver( 236 rtcp_builder_->BuildRtcpFromReceiver(
237 &report_block, 237 &report_block,
238 &rrtr, 238 &rrtr,
239 &cast_message, 239 &cast_message,
240 &rtcp_events, 240 &rtcp_events,
241 kDefaultDelay)); 241 kDefaultDelay));
242 } 242 }
243 243
244 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithOversizedFrameLog) { 244 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithOversizedFrameLog) {
245 static const uint32 kTimeBaseMs = 12345678; 245 static const uint32_t kTimeBaseMs = 12345678;
246 static const uint32 kTimeDelayMs = 10; 246 static const uint32_t kTimeDelayMs = 10;
247 247
248 TestRtcpPacketBuilder p; 248 TestRtcpPacketBuilder p;
249 p.AddRr(kSendingSsrc, 1); 249 p.AddRr(kSendingSsrc, 1);
250 p.AddRb(kMediaSsrc); 250 p.AddRb(kMediaSsrc);
251 251
252 RtcpReportBlock report_block = GetReportBlock(); 252 RtcpReportBlock report_block = GetReportBlock();
253 253
254 base::SimpleTestTickClock testing_clock; 254 base::SimpleTestTickClock testing_clock;
255 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeBaseMs)); 255 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeBaseMs));
256 256
257 p.AddReceiverLog(kSendingSsrc); 257 p.AddReceiverLog(kSendingSsrc);
258 258
259 int num_events = kMaxEventsPerRTCP; 259 int num_events = kMaxEventsPerRTCP;
260 260
261 EXPECT_LE(num_events, static_cast<int>(kRtcpMaxReceiverLogMessages)); 261 EXPECT_LE(num_events, static_cast<int>(kRtcpMaxReceiverLogMessages));
262 p.AddReceiverFrameLog( 262 p.AddReceiverFrameLog(
263 kRtpTimestamp + 2345, 263 kRtpTimestamp + 2345,
264 num_events, 264 num_events,
265 kTimeBaseMs); 265 kTimeBaseMs);
266 for (int i = 0; i < num_events; i++) { 266 for (int i = 0; i < num_events; i++) {
267 p.AddReceiverEventLog( 267 p.AddReceiverEventLog(kLostPacketId1, PACKET_RECEIVED,
268 kLostPacketId1, 268 static_cast<uint16_t>(kTimeDelayMs * i));
269 PACKET_RECEIVED,
270 static_cast<uint16>(kTimeDelayMs * i));
271 } 269 }
272 270
273 271
274 ReceiverRtcpEventSubscriber event_subscriber(500, VIDEO_EVENT); 272 ReceiverRtcpEventSubscriber event_subscriber(500, VIDEO_EVENT);
275 273
276 for (size_t i = 0; i < kRtcpMaxReceiverLogMessages; ++i) { 274 for (size_t i = 0; i < kRtcpMaxReceiverLogMessages; ++i) {
277 PacketEvent packet_event; 275 PacketEvent packet_event;
278 packet_event.rtp_timestamp = kRtpTimestamp + 2345; 276 packet_event.rtp_timestamp = kRtpTimestamp + 2345;
279 packet_event.type = PACKET_RECEIVED; 277 packet_event.type = PACKET_RECEIVED;
280 packet_event.media_type = VIDEO_EVENT; 278 packet_event.media_type = VIDEO_EVENT;
281 packet_event.timestamp = testing_clock.NowTicks(); 279 packet_event.timestamp = testing_clock.NowTicks();
282 packet_event.packet_id = kLostPacketId1; 280 packet_event.packet_id = kLostPacketId1;
283 event_subscriber.OnReceivePacketEvent(packet_event); 281 event_subscriber.OnReceivePacketEvent(packet_event);
284 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs)); 282 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs));
285 } 283 }
286 284
287 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events; 285 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events;
288 event_subscriber.GetRtcpEventsWithRedundancy(&rtcp_events); 286 event_subscriber.GetRtcpEventsWithRedundancy(&rtcp_events);
289 287
290 ExpectPacketEQ(p.GetPacket().Pass(), 288 ExpectPacketEQ(p.GetPacket().Pass(),
291 rtcp_builder_->BuildRtcpFromReceiver( 289 rtcp_builder_->BuildRtcpFromReceiver(
292 &report_block, 290 &report_block,
293 NULL, 291 NULL,
294 NULL, 292 NULL,
295 &rtcp_events, 293 &rtcp_events,
296 kDefaultDelay)); 294 kDefaultDelay));
297 } 295 }
298 296
299 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithTooManyLogFrames) { 297 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithTooManyLogFrames) {
300 static const uint32 kTimeBaseMs = 12345678; 298 static const uint32_t kTimeBaseMs = 12345678;
301 static const uint32 kTimeDelayMs = 10; 299 static const uint32_t kTimeDelayMs = 10;
302 300
303 TestRtcpPacketBuilder p; 301 TestRtcpPacketBuilder p;
304 p.AddRr(kSendingSsrc, 1); 302 p.AddRr(kSendingSsrc, 1);
305 p.AddRb(kMediaSsrc); 303 p.AddRb(kMediaSsrc);
306 304
307 RtcpReportBlock report_block = GetReportBlock(); 305 RtcpReportBlock report_block = GetReportBlock();
308 306
309 base::SimpleTestTickClock testing_clock; 307 base::SimpleTestTickClock testing_clock;
310 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeBaseMs)); 308 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeBaseMs));
311 309
(...skipping 24 matching lines...) Expand all
336 ExpectPacketEQ(p.GetPacket().Pass(), 334 ExpectPacketEQ(p.GetPacket().Pass(),
337 rtcp_builder_->BuildRtcpFromReceiver( 335 rtcp_builder_->BuildRtcpFromReceiver(
338 &report_block, 336 &report_block,
339 NULL, 337 NULL,
340 NULL, 338 NULL,
341 &rtcp_events, 339 &rtcp_events,
342 kDefaultDelay)); 340 kDefaultDelay));
343 } 341 }
344 342
345 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithOldLogFrames) { 343 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithOldLogFrames) {
346 static const uint32 kTimeBaseMs = 12345678; 344 static const uint32_t kTimeBaseMs = 12345678;
347 345
348 TestRtcpPacketBuilder p; 346 TestRtcpPacketBuilder p;
349 p.AddRr(kSendingSsrc, 1); 347 p.AddRr(kSendingSsrc, 1);
350 p.AddRb(kMediaSsrc); 348 p.AddRb(kMediaSsrc);
351 349
352 RtcpReportBlock report_block = GetReportBlock(); 350 RtcpReportBlock report_block = GetReportBlock();
353 351
354 base::SimpleTestTickClock testing_clock; 352 base::SimpleTestTickClock testing_clock;
355 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeBaseMs)); 353 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeBaseMs));
356 354
(...skipping 26 matching lines...) Expand all
383 ExpectPacketEQ(p.GetPacket().Pass(), 381 ExpectPacketEQ(p.GetPacket().Pass(),
384 rtcp_builder_->BuildRtcpFromReceiver( 382 rtcp_builder_->BuildRtcpFromReceiver(
385 &report_block, 383 &report_block,
386 NULL, 384 NULL,
387 NULL, 385 NULL,
388 &rtcp_events, 386 &rtcp_events,
389 kDefaultDelay)); 387 kDefaultDelay));
390 } 388 }
391 389
392 TEST_F(RtcpBuilderTest, RtcpReceiverReportRedundancy) { 390 TEST_F(RtcpBuilderTest, RtcpReceiverReportRedundancy) {
393 uint32 time_base_ms = 12345678; 391 uint32_t time_base_ms = 12345678;
394 int kTimeBetweenEventsMs = 10; 392 int kTimeBetweenEventsMs = 10;
395 393
396 RtcpReportBlock report_block = GetReportBlock(); 394 RtcpReportBlock report_block = GetReportBlock();
397 395
398 base::SimpleTestTickClock testing_clock; 396 base::SimpleTestTickClock testing_clock;
399 testing_clock.Advance(base::TimeDelta::FromMilliseconds(time_base_ms)); 397 testing_clock.Advance(base::TimeDelta::FromMilliseconds(time_base_ms));
400 398
401 ReceiverRtcpEventSubscriber event_subscriber(500, VIDEO_EVENT); 399 ReceiverRtcpEventSubscriber event_subscriber(500, VIDEO_EVENT);
402 size_t packet_count = kNumResends * kResendDelay + 10; 400 size_t packet_count = kNumResends * kResendDelay + 10;
403 for (size_t i = 0; i < packet_count; i++) { 401 for (size_t i = 0; i < packet_count; i++) {
404 TestRtcpPacketBuilder p; 402 TestRtcpPacketBuilder p;
405 p.AddRr(kSendingSsrc, 1); 403 p.AddRr(kSendingSsrc, 1);
406 p.AddRb(kMediaSsrc); 404 p.AddRb(kMediaSsrc);
407 405
408 p.AddReceiverLog(kSendingSsrc); 406 p.AddReceiverLog(kSendingSsrc);
409 407
410 int num_events = (i + kResendDelay) / kResendDelay; 408 int num_events = (i + kResendDelay) / kResendDelay;
411 num_events = std::min<int>(num_events, kNumResends); 409 num_events = std::min<int>(num_events, kNumResends);
412 p.AddReceiverFrameLog(kRtpTimestamp, num_events, 410 p.AddReceiverFrameLog(kRtpTimestamp, num_events,
413 time_base_ms - (num_events - 1) * kResendDelay * 411 time_base_ms - (num_events - 1) * kResendDelay *
414 kTimeBetweenEventsMs); 412 kTimeBetweenEventsMs);
415 for (int i = 0; i < num_events; i++) { 413 for (int i = 0; i < num_events; i++) {
416 p.AddReceiverEventLog( 414 p.AddReceiverEventLog(0, FRAME_ACK_SENT,
417 0, FRAME_ACK_SENT, 415 base::checked_cast<uint16_t>(i * kResendDelay *
418 base::checked_cast<uint16>(i * kResendDelay * kTimeBetweenEventsMs)); 416 kTimeBetweenEventsMs));
419 } 417 }
420 418
421 FrameEvent frame_event; 419 FrameEvent frame_event;
422 frame_event.rtp_timestamp = kRtpTimestamp; 420 frame_event.rtp_timestamp = kRtpTimestamp;
423 frame_event.type = FRAME_ACK_SENT; 421 frame_event.type = FRAME_ACK_SENT;
424 frame_event.media_type = VIDEO_EVENT; 422 frame_event.media_type = VIDEO_EVENT;
425 frame_event.timestamp = testing_clock.NowTicks(); 423 frame_event.timestamp = testing_clock.NowTicks();
426 event_subscriber.OnReceiveFrameEvent(frame_event); 424 event_subscriber.OnReceiveFrameEvent(frame_event);
427 425
428 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events; 426 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events;
(...skipping 24 matching lines...) Expand all
453 // Sender report. 451 // Sender report.
454 TestRtcpPacketBuilder p; 452 TestRtcpPacketBuilder p;
455 p.AddSr(kSendingSsrc, 0); 453 p.AddSr(kSendingSsrc, 0);
456 454
457 ExpectPacketEQ(p.GetPacket().Pass(), 455 ExpectPacketEQ(p.GetPacket().Pass(),
458 rtcp_builder_->BuildRtcpFromSender(sender_info)); 456 rtcp_builder_->BuildRtcpFromSender(sender_info));
459 } 457 }
460 458
461 } // namespace cast 459 } // namespace cast
462 } // namespace media 460 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698