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

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

Issue 1539423003: [rtp_rtcp] Lint errors cleaned from rtp_utility (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: 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 /* 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
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 201
202 webrtc::RTPHeader rtp_header; 202 webrtc::RTPHeader rtp_header;
203 size_t length = static_cast<size_t>(rtp_sender_->BuildRTPheader( 203 size_t length = static_cast<size_t>(rtp_sender_->BuildRTPheader(
204 packet_, kPayload, expect_cvo /* marker_bit */, kTimestamp, 0)); 204 packet_, kPayload, expect_cvo /* marker_bit */, kTimestamp, 0));
205 if (expect_cvo) { 205 if (expect_cvo) {
206 ASSERT_EQ(kRtpHeaderSize + rtp_sender_->RtpHeaderExtensionTotalLength(), 206 ASSERT_EQ(kRtpHeaderSize + rtp_sender_->RtpHeaderExtensionTotalLength(),
207 length); 207 length);
208 } else { 208 } else {
209 ASSERT_EQ(kRtpHeaderSize, length); 209 ASSERT_EQ(kRtpHeaderSize, length);
210 } 210 }
211 ASSERT_TRUE(rtp_parser.Parse(rtp_header, map)); 211 ASSERT_TRUE(rtp_parser.Parse(&rtp_header, map));
212 ASSERT_FALSE(rtp_parser.RTCP()); 212 ASSERT_FALSE(rtp_parser.RTCP());
213 EXPECT_EQ(payload_, rtp_header.payloadType); 213 EXPECT_EQ(payload_, rtp_header.payloadType);
214 EXPECT_EQ(seq_num, rtp_header.sequenceNumber); 214 EXPECT_EQ(seq_num, rtp_header.sequenceNumber);
215 EXPECT_EQ(kTimestamp, rtp_header.timestamp); 215 EXPECT_EQ(kTimestamp, rtp_header.timestamp);
216 EXPECT_EQ(rtp_sender_->SSRC(), rtp_header.ssrc); 216 EXPECT_EQ(rtp_sender_->SSRC(), rtp_header.ssrc);
217 EXPECT_EQ(0, rtp_header.numCSRCs); 217 EXPECT_EQ(0, rtp_header.numCSRCs);
218 EXPECT_EQ(0U, rtp_header.paddingLength); 218 EXPECT_EQ(0U, rtp_header.paddingLength);
219 EXPECT_EQ(ConvertVideoRotationToCVOByte(rotation), 219 EXPECT_EQ(ConvertVideoRotationToCVOByte(rotation),
220 rtp_header.extension.videoRotation); 220 rtp_header.extension.videoRotation);
221 } 221 }
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 328
329 TEST_F(RtpSenderTestWithoutPacer, BuildRTPPacket) { 329 TEST_F(RtpSenderTestWithoutPacer, BuildRTPPacket) {
330 size_t length = static_cast<size_t>(rtp_sender_->BuildRTPheader( 330 size_t length = static_cast<size_t>(rtp_sender_->BuildRTPheader(
331 packet_, kPayload, kMarkerBit, kTimestamp, 0)); 331 packet_, kPayload, kMarkerBit, kTimestamp, 0));
332 ASSERT_EQ(kRtpHeaderSize, length); 332 ASSERT_EQ(kRtpHeaderSize, length);
333 333
334 // Verify 334 // Verify
335 webrtc::RtpUtility::RtpHeaderParser rtp_parser(packet_, length); 335 webrtc::RtpUtility::RtpHeaderParser rtp_parser(packet_, length);
336 webrtc::RTPHeader rtp_header; 336 webrtc::RTPHeader rtp_header;
337 337
338 const bool valid_rtp_header = rtp_parser.Parse(rtp_header, nullptr); 338 const bool valid_rtp_header = rtp_parser.Parse(&rtp_header, nullptr);
339 339
340 ASSERT_TRUE(valid_rtp_header); 340 ASSERT_TRUE(valid_rtp_header);
341 ASSERT_FALSE(rtp_parser.RTCP()); 341 ASSERT_FALSE(rtp_parser.RTCP());
342 VerifyRTPHeaderCommon(rtp_header); 342 VerifyRTPHeaderCommon(rtp_header);
343 EXPECT_EQ(length, rtp_header.headerLength); 343 EXPECT_EQ(length, rtp_header.headerLength);
344 EXPECT_FALSE(rtp_header.extension.hasTransmissionTimeOffset); 344 EXPECT_FALSE(rtp_header.extension.hasTransmissionTimeOffset);
345 EXPECT_FALSE(rtp_header.extension.hasAbsoluteSendTime); 345 EXPECT_FALSE(rtp_header.extension.hasAbsoluteSendTime);
346 EXPECT_FALSE(rtp_header.extension.hasAudioLevel); 346 EXPECT_FALSE(rtp_header.extension.hasAudioLevel);
347 EXPECT_EQ(0, rtp_header.extension.transmissionTimeOffset); 347 EXPECT_EQ(0, rtp_header.extension.transmissionTimeOffset);
348 EXPECT_EQ(0u, rtp_header.extension.absoluteSendTime); 348 EXPECT_EQ(0u, rtp_header.extension.absoluteSendTime);
(...skipping 14 matching lines...) Expand all
363 ASSERT_EQ(kRtpHeaderSize + rtp_sender_->RtpHeaderExtensionTotalLength(), 363 ASSERT_EQ(kRtpHeaderSize + rtp_sender_->RtpHeaderExtensionTotalLength(),
364 length); 364 length);
365 365
366 // Verify 366 // Verify
367 webrtc::RtpUtility::RtpHeaderParser rtp_parser(packet_, length); 367 webrtc::RtpUtility::RtpHeaderParser rtp_parser(packet_, length);
368 webrtc::RTPHeader rtp_header; 368 webrtc::RTPHeader rtp_header;
369 369
370 RtpHeaderExtensionMap map; 370 RtpHeaderExtensionMap map;
371 map.Register(kRtpExtensionTransmissionTimeOffset, 371 map.Register(kRtpExtensionTransmissionTimeOffset,
372 kTransmissionTimeOffsetExtensionId); 372 kTransmissionTimeOffsetExtensionId);
373 const bool valid_rtp_header = rtp_parser.Parse(rtp_header, &map); 373 const bool valid_rtp_header = rtp_parser.Parse(&rtp_header, &map);
374 374
375 ASSERT_TRUE(valid_rtp_header); 375 ASSERT_TRUE(valid_rtp_header);
376 ASSERT_FALSE(rtp_parser.RTCP()); 376 ASSERT_FALSE(rtp_parser.RTCP());
377 VerifyRTPHeaderCommon(rtp_header); 377 VerifyRTPHeaderCommon(rtp_header);
378 EXPECT_EQ(length, rtp_header.headerLength); 378 EXPECT_EQ(length, rtp_header.headerLength);
379 EXPECT_TRUE(rtp_header.extension.hasTransmissionTimeOffset); 379 EXPECT_TRUE(rtp_header.extension.hasTransmissionTimeOffset);
380 EXPECT_EQ(kTimeOffset, rtp_header.extension.transmissionTimeOffset); 380 EXPECT_EQ(kTimeOffset, rtp_header.extension.transmissionTimeOffset);
381 381
382 // Parse without map extension 382 // Parse without map extension
383 webrtc::RTPHeader rtp_header2; 383 webrtc::RTPHeader rtp_header2;
384 const bool valid_rtp_header2 = rtp_parser.Parse(rtp_header2, nullptr); 384 const bool valid_rtp_header2 = rtp_parser.Parse(&rtp_header2, nullptr);
385 385
386 ASSERT_TRUE(valid_rtp_header2); 386 ASSERT_TRUE(valid_rtp_header2);
387 VerifyRTPHeaderCommon(rtp_header2); 387 VerifyRTPHeaderCommon(rtp_header2);
388 EXPECT_EQ(length, rtp_header2.headerLength); 388 EXPECT_EQ(length, rtp_header2.headerLength);
389 EXPECT_FALSE(rtp_header2.extension.hasTransmissionTimeOffset); 389 EXPECT_FALSE(rtp_header2.extension.hasTransmissionTimeOffset);
390 EXPECT_EQ(0, rtp_header2.extension.transmissionTimeOffset); 390 EXPECT_EQ(0, rtp_header2.extension.transmissionTimeOffset);
391 } 391 }
392 392
393 TEST_F(RtpSenderTestWithoutPacer, 393 TEST_F(RtpSenderTestWithoutPacer,
394 BuildRTPPacketWithNegativeTransmissionOffsetExtension) { 394 BuildRTPPacketWithNegativeTransmissionOffsetExtension) {
395 const int kNegTimeOffset = -500; 395 const int kNegTimeOffset = -500;
396 EXPECT_EQ(0, rtp_sender_->SetTransmissionTimeOffset(kNegTimeOffset)); 396 EXPECT_EQ(0, rtp_sender_->SetTransmissionTimeOffset(kNegTimeOffset));
397 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( 397 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
398 kRtpExtensionTransmissionTimeOffset, 398 kRtpExtensionTransmissionTimeOffset,
399 kTransmissionTimeOffsetExtensionId)); 399 kTransmissionTimeOffsetExtensionId));
400 400
401 size_t length = static_cast<size_t>(rtp_sender_->BuildRTPheader( 401 size_t length = static_cast<size_t>(rtp_sender_->BuildRTPheader(
402 packet_, kPayload, kMarkerBit, kTimestamp, 0)); 402 packet_, kPayload, kMarkerBit, kTimestamp, 0));
403 ASSERT_EQ(kRtpHeaderSize + rtp_sender_->RtpHeaderExtensionTotalLength(), 403 ASSERT_EQ(kRtpHeaderSize + rtp_sender_->RtpHeaderExtensionTotalLength(),
404 length); 404 length);
405 405
406 // Verify 406 // Verify
407 webrtc::RtpUtility::RtpHeaderParser rtp_parser(packet_, length); 407 webrtc::RtpUtility::RtpHeaderParser rtp_parser(packet_, length);
408 webrtc::RTPHeader rtp_header; 408 webrtc::RTPHeader rtp_header;
409 409
410 RtpHeaderExtensionMap map; 410 RtpHeaderExtensionMap map;
411 map.Register(kRtpExtensionTransmissionTimeOffset, 411 map.Register(kRtpExtensionTransmissionTimeOffset,
412 kTransmissionTimeOffsetExtensionId); 412 kTransmissionTimeOffsetExtensionId);
413 const bool valid_rtp_header = rtp_parser.Parse(rtp_header, &map); 413 const bool valid_rtp_header = rtp_parser.Parse(&rtp_header, &map);
414 414
415 ASSERT_TRUE(valid_rtp_header); 415 ASSERT_TRUE(valid_rtp_header);
416 ASSERT_FALSE(rtp_parser.RTCP()); 416 ASSERT_FALSE(rtp_parser.RTCP());
417 VerifyRTPHeaderCommon(rtp_header); 417 VerifyRTPHeaderCommon(rtp_header);
418 EXPECT_EQ(length, rtp_header.headerLength); 418 EXPECT_EQ(length, rtp_header.headerLength);
419 EXPECT_TRUE(rtp_header.extension.hasTransmissionTimeOffset); 419 EXPECT_TRUE(rtp_header.extension.hasTransmissionTimeOffset);
420 EXPECT_EQ(kNegTimeOffset, rtp_header.extension.transmissionTimeOffset); 420 EXPECT_EQ(kNegTimeOffset, rtp_header.extension.transmissionTimeOffset);
421 } 421 }
422 422
423 TEST_F(RtpSenderTestWithoutPacer, BuildRTPPacketWithAbsoluteSendTimeExtension) { 423 TEST_F(RtpSenderTestWithoutPacer, BuildRTPPacketWithAbsoluteSendTimeExtension) {
424 EXPECT_EQ(0, rtp_sender_->SetAbsoluteSendTime(kAbsoluteSendTime)); 424 EXPECT_EQ(0, rtp_sender_->SetAbsoluteSendTime(kAbsoluteSendTime));
425 EXPECT_EQ( 425 EXPECT_EQ(
426 0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime, 426 0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime,
427 kAbsoluteSendTimeExtensionId)); 427 kAbsoluteSendTimeExtensionId));
428 428
429 size_t length = static_cast<size_t>(rtp_sender_->BuildRTPheader( 429 size_t length = static_cast<size_t>(rtp_sender_->BuildRTPheader(
430 packet_, kPayload, kMarkerBit, kTimestamp, 0)); 430 packet_, kPayload, kMarkerBit, kTimestamp, 0));
431 ASSERT_EQ(kRtpHeaderSize + rtp_sender_->RtpHeaderExtensionTotalLength(), 431 ASSERT_EQ(kRtpHeaderSize + rtp_sender_->RtpHeaderExtensionTotalLength(),
432 length); 432 length);
433 433
434 // Verify 434 // Verify
435 webrtc::RtpUtility::RtpHeaderParser rtp_parser(packet_, length); 435 webrtc::RtpUtility::RtpHeaderParser rtp_parser(packet_, length);
436 webrtc::RTPHeader rtp_header; 436 webrtc::RTPHeader rtp_header;
437 437
438 RtpHeaderExtensionMap map; 438 RtpHeaderExtensionMap map;
439 map.Register(kRtpExtensionAbsoluteSendTime, kAbsoluteSendTimeExtensionId); 439 map.Register(kRtpExtensionAbsoluteSendTime, kAbsoluteSendTimeExtensionId);
440 const bool valid_rtp_header = rtp_parser.Parse(rtp_header, &map); 440 const bool valid_rtp_header = rtp_parser.Parse(&rtp_header, &map);
441 441
442 ASSERT_TRUE(valid_rtp_header); 442 ASSERT_TRUE(valid_rtp_header);
443 ASSERT_FALSE(rtp_parser.RTCP()); 443 ASSERT_FALSE(rtp_parser.RTCP());
444 VerifyRTPHeaderCommon(rtp_header); 444 VerifyRTPHeaderCommon(rtp_header);
445 EXPECT_EQ(length, rtp_header.headerLength); 445 EXPECT_EQ(length, rtp_header.headerLength);
446 EXPECT_TRUE(rtp_header.extension.hasAbsoluteSendTime); 446 EXPECT_TRUE(rtp_header.extension.hasAbsoluteSendTime);
447 EXPECT_EQ(kAbsoluteSendTime, rtp_header.extension.absoluteSendTime); 447 EXPECT_EQ(kAbsoluteSendTime, rtp_header.extension.absoluteSendTime);
448 448
449 // Parse without map extension 449 // Parse without map extension
450 webrtc::RTPHeader rtp_header2; 450 webrtc::RTPHeader rtp_header2;
451 const bool valid_rtp_header2 = rtp_parser.Parse(rtp_header2, nullptr); 451 const bool valid_rtp_header2 = rtp_parser.Parse(&rtp_header2, nullptr);
452 452
453 ASSERT_TRUE(valid_rtp_header2); 453 ASSERT_TRUE(valid_rtp_header2);
454 VerifyRTPHeaderCommon(rtp_header2); 454 VerifyRTPHeaderCommon(rtp_header2);
455 EXPECT_EQ(length, rtp_header2.headerLength); 455 EXPECT_EQ(length, rtp_header2.headerLength);
456 EXPECT_FALSE(rtp_header2.extension.hasAbsoluteSendTime); 456 EXPECT_FALSE(rtp_header2.extension.hasAbsoluteSendTime);
457 EXPECT_EQ(0u, rtp_header2.extension.absoluteSendTime); 457 EXPECT_EQ(0u, rtp_header2.extension.absoluteSendTime);
458 } 458 }
459 459
460 // Test CVO header extension is only set when marker bit is true. 460 // Test CVO header extension is only set when marker bit is true.
461 TEST_F(RtpSenderTestWithoutPacer, BuildRTPPacketWithVideoRotation_MarkerBit) { 461 TEST_F(RtpSenderTestWithoutPacer, BuildRTPPacketWithVideoRotation_MarkerBit) {
462 rtp_sender_->SetVideoRotation(kRotation); 462 rtp_sender_->SetVideoRotation(kRotation);
463 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( 463 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
464 kRtpExtensionVideoRotation, kVideoRotationExtensionId)); 464 kRtpExtensionVideoRotation, kVideoRotationExtensionId));
465 EXPECT_TRUE(rtp_sender_->ActivateCVORtpHeaderExtension()); 465 EXPECT_TRUE(rtp_sender_->ActivateCVORtpHeaderExtension());
466 466
467 RtpHeaderExtensionMap map; 467 RtpHeaderExtensionMap map;
468 map.Register(kRtpExtensionVideoRotation, kVideoRotationExtensionId); 468 map.Register(kRtpExtensionVideoRotation, kVideoRotationExtensionId);
469 469
470 size_t length = static_cast<size_t>( 470 size_t length = static_cast<size_t>(
471 rtp_sender_->BuildRTPheader(packet_, kPayload, true, kTimestamp, 0)); 471 rtp_sender_->BuildRTPheader(packet_, kPayload, true, kTimestamp, 0));
472 ASSERT_EQ(kRtpHeaderSize + rtp_sender_->RtpHeaderExtensionTotalLength(), 472 ASSERT_EQ(kRtpHeaderSize + rtp_sender_->RtpHeaderExtensionTotalLength(),
473 length); 473 length);
474 474
475 // Verify 475 // Verify
476 webrtc::RtpUtility::RtpHeaderParser rtp_parser(packet_, length); 476 webrtc::RtpUtility::RtpHeaderParser rtp_parser(packet_, length);
477 webrtc::RTPHeader rtp_header; 477 webrtc::RTPHeader rtp_header;
478 478
479 ASSERT_TRUE(rtp_parser.Parse(rtp_header, &map)); 479 ASSERT_TRUE(rtp_parser.Parse(&rtp_header, &map));
480 ASSERT_FALSE(rtp_parser.RTCP()); 480 ASSERT_FALSE(rtp_parser.RTCP());
481 VerifyRTPHeaderCommon(rtp_header); 481 VerifyRTPHeaderCommon(rtp_header);
482 EXPECT_EQ(length, rtp_header.headerLength); 482 EXPECT_EQ(length, rtp_header.headerLength);
483 EXPECT_TRUE(rtp_header.extension.hasVideoRotation); 483 EXPECT_TRUE(rtp_header.extension.hasVideoRotation);
484 EXPECT_EQ(ConvertVideoRotationToCVOByte(kRotation), 484 EXPECT_EQ(ConvertVideoRotationToCVOByte(kRotation),
485 rtp_header.extension.videoRotation); 485 rtp_header.extension.videoRotation);
486 } 486 }
487 487
488 // Test CVO header extension is not set when marker bit is false. 488 // Test CVO header extension is not set when marker bit is false.
489 TEST_F(RtpSenderTestWithoutPacer, 489 TEST_F(RtpSenderTestWithoutPacer,
490 DISABLED_BuildRTPPacketWithVideoRotation_NoMarkerBit) { 490 DISABLED_BuildRTPPacketWithVideoRotation_NoMarkerBit) {
491 rtp_sender_->SetVideoRotation(kRotation); 491 rtp_sender_->SetVideoRotation(kRotation);
492 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( 492 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
493 kRtpExtensionVideoRotation, kVideoRotationExtensionId)); 493 kRtpExtensionVideoRotation, kVideoRotationExtensionId));
494 EXPECT_TRUE(rtp_sender_->ActivateCVORtpHeaderExtension()); 494 EXPECT_TRUE(rtp_sender_->ActivateCVORtpHeaderExtension());
495 495
496 RtpHeaderExtensionMap map; 496 RtpHeaderExtensionMap map;
497 map.Register(kRtpExtensionVideoRotation, kVideoRotationExtensionId); 497 map.Register(kRtpExtensionVideoRotation, kVideoRotationExtensionId);
498 498
499 size_t length = static_cast<size_t>( 499 size_t length = static_cast<size_t>(
500 rtp_sender_->BuildRTPheader(packet_, kPayload, false, kTimestamp, 0)); 500 rtp_sender_->BuildRTPheader(packet_, kPayload, false, kTimestamp, 0));
501 ASSERT_EQ(kRtpHeaderSize, length); 501 ASSERT_EQ(kRtpHeaderSize, length);
502 502
503 // Verify 503 // Verify
504 webrtc::RtpUtility::RtpHeaderParser rtp_parser(packet_, length); 504 webrtc::RtpUtility::RtpHeaderParser rtp_parser(packet_, length);
505 webrtc::RTPHeader rtp_header; 505 webrtc::RTPHeader rtp_header;
506 506
507 ASSERT_TRUE(rtp_parser.Parse(rtp_header, &map)); 507 ASSERT_TRUE(rtp_parser.Parse(&rtp_header, &map));
508 ASSERT_FALSE(rtp_parser.RTCP()); 508 ASSERT_FALSE(rtp_parser.RTCP());
509 VerifyRTPHeaderCommon(rtp_header, false); 509 VerifyRTPHeaderCommon(rtp_header, false);
510 EXPECT_EQ(length, rtp_header.headerLength); 510 EXPECT_EQ(length, rtp_header.headerLength);
511 EXPECT_FALSE(rtp_header.extension.hasVideoRotation); 511 EXPECT_FALSE(rtp_header.extension.hasVideoRotation);
512 } 512 }
513 513
514 TEST_F(RtpSenderTestWithoutPacer, BuildRTPPacketWithAudioLevelExtension) { 514 TEST_F(RtpSenderTestWithoutPacer, BuildRTPPacketWithAudioLevelExtension) {
515 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAudioLevel, 515 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAudioLevel,
516 kAudioLevelExtensionId)); 516 kAudioLevelExtensionId));
517 517
518 size_t length = static_cast<size_t>(rtp_sender_->BuildRTPheader( 518 size_t length = static_cast<size_t>(rtp_sender_->BuildRTPheader(
519 packet_, kPayload, kMarkerBit, kTimestamp, 0)); 519 packet_, kPayload, kMarkerBit, kTimestamp, 0));
520 ASSERT_EQ(kRtpHeaderSize + rtp_sender_->RtpHeaderExtensionTotalLength(), 520 ASSERT_EQ(kRtpHeaderSize + rtp_sender_->RtpHeaderExtensionTotalLength(),
521 length); 521 length);
522 522
523 // Verify 523 // Verify
524 webrtc::RtpUtility::RtpHeaderParser rtp_parser(packet_, length); 524 webrtc::RtpUtility::RtpHeaderParser rtp_parser(packet_, length);
525 webrtc::RTPHeader rtp_header; 525 webrtc::RTPHeader rtp_header;
526 526
527 // Updating audio level is done in RTPSenderAudio, so simulate it here. 527 // Updating audio level is done in RTPSenderAudio, so simulate it here.
528 rtp_parser.Parse(rtp_header); 528 rtp_parser.Parse(&rtp_header);
529 rtp_sender_->UpdateAudioLevel(packet_, length, rtp_header, true, kAudioLevel); 529 rtp_sender_->UpdateAudioLevel(packet_, length, rtp_header, true, kAudioLevel);
530 530
531 RtpHeaderExtensionMap map; 531 RtpHeaderExtensionMap map;
532 map.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId); 532 map.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId);
533 const bool valid_rtp_header = rtp_parser.Parse(rtp_header, &map); 533 const bool valid_rtp_header = rtp_parser.Parse(&rtp_header, &map);
534 534
535 ASSERT_TRUE(valid_rtp_header); 535 ASSERT_TRUE(valid_rtp_header);
536 ASSERT_FALSE(rtp_parser.RTCP()); 536 ASSERT_FALSE(rtp_parser.RTCP());
537 VerifyRTPHeaderCommon(rtp_header); 537 VerifyRTPHeaderCommon(rtp_header);
538 EXPECT_EQ(length, rtp_header.headerLength); 538 EXPECT_EQ(length, rtp_header.headerLength);
539 EXPECT_TRUE(rtp_header.extension.hasAudioLevel); 539 EXPECT_TRUE(rtp_header.extension.hasAudioLevel);
540 EXPECT_TRUE(rtp_header.extension.voiceActivity); 540 EXPECT_TRUE(rtp_header.extension.voiceActivity);
541 EXPECT_EQ(kAudioLevel, rtp_header.extension.audioLevel); 541 EXPECT_EQ(kAudioLevel, rtp_header.extension.audioLevel);
542 542
543 // Parse without map extension 543 // Parse without map extension
544 webrtc::RTPHeader rtp_header2; 544 webrtc::RTPHeader rtp_header2;
545 const bool valid_rtp_header2 = rtp_parser.Parse(rtp_header2, nullptr); 545 const bool valid_rtp_header2 = rtp_parser.Parse(&rtp_header2, nullptr);
546 546
547 ASSERT_TRUE(valid_rtp_header2); 547 ASSERT_TRUE(valid_rtp_header2);
548 VerifyRTPHeaderCommon(rtp_header2); 548 VerifyRTPHeaderCommon(rtp_header2);
549 EXPECT_EQ(length, rtp_header2.headerLength); 549 EXPECT_EQ(length, rtp_header2.headerLength);
550 EXPECT_FALSE(rtp_header2.extension.hasAudioLevel); 550 EXPECT_FALSE(rtp_header2.extension.hasAudioLevel);
551 EXPECT_FALSE(rtp_header2.extension.voiceActivity); 551 EXPECT_FALSE(rtp_header2.extension.voiceActivity);
552 EXPECT_EQ(0u, rtp_header2.extension.audioLevel); 552 EXPECT_EQ(0u, rtp_header2.extension.audioLevel);
553 } 553 }
554 554
555 TEST_F(RtpSenderTestWithoutPacer, BuildRTPPacketWithHeaderExtensions) { 555 TEST_F(RtpSenderTestWithoutPacer, BuildRTPPacketWithHeaderExtensions) {
(...skipping 16 matching lines...) Expand all
572 size_t length = static_cast<size_t>(rtp_sender_->BuildRTPheader( 572 size_t length = static_cast<size_t>(rtp_sender_->BuildRTPheader(
573 packet_, kPayload, kMarkerBit, kTimestamp, 0)); 573 packet_, kPayload, kMarkerBit, kTimestamp, 0));
574 ASSERT_EQ(kRtpHeaderSize + rtp_sender_->RtpHeaderExtensionTotalLength(), 574 ASSERT_EQ(kRtpHeaderSize + rtp_sender_->RtpHeaderExtensionTotalLength(),
575 length); 575 length);
576 576
577 // Verify 577 // Verify
578 webrtc::RtpUtility::RtpHeaderParser rtp_parser(packet_, length); 578 webrtc::RtpUtility::RtpHeaderParser rtp_parser(packet_, length);
579 webrtc::RTPHeader rtp_header; 579 webrtc::RTPHeader rtp_header;
580 580
581 // Updating audio level is done in RTPSenderAudio, so simulate it here. 581 // Updating audio level is done in RTPSenderAudio, so simulate it here.
582 rtp_parser.Parse(rtp_header); 582 rtp_parser.Parse(&rtp_header);
583 rtp_sender_->UpdateAudioLevel(packet_, length, rtp_header, true, kAudioLevel); 583 rtp_sender_->UpdateAudioLevel(packet_, length, rtp_header, true, kAudioLevel);
584 584
585 RtpHeaderExtensionMap map; 585 RtpHeaderExtensionMap map;
586 map.Register(kRtpExtensionTransmissionTimeOffset, 586 map.Register(kRtpExtensionTransmissionTimeOffset,
587 kTransmissionTimeOffsetExtensionId); 587 kTransmissionTimeOffsetExtensionId);
588 map.Register(kRtpExtensionAbsoluteSendTime, kAbsoluteSendTimeExtensionId); 588 map.Register(kRtpExtensionAbsoluteSendTime, kAbsoluteSendTimeExtensionId);
589 map.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId); 589 map.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId);
590 map.Register(kRtpExtensionTransportSequenceNumber, 590 map.Register(kRtpExtensionTransportSequenceNumber,
591 kTransportSequenceNumberExtensionId); 591 kTransportSequenceNumberExtensionId);
592 const bool valid_rtp_header = rtp_parser.Parse(rtp_header, &map); 592 const bool valid_rtp_header = rtp_parser.Parse(&rtp_header, &map);
593 593
594 ASSERT_TRUE(valid_rtp_header); 594 ASSERT_TRUE(valid_rtp_header);
595 ASSERT_FALSE(rtp_parser.RTCP()); 595 ASSERT_FALSE(rtp_parser.RTCP());
596 VerifyRTPHeaderCommon(rtp_header); 596 VerifyRTPHeaderCommon(rtp_header);
597 EXPECT_EQ(length, rtp_header.headerLength); 597 EXPECT_EQ(length, rtp_header.headerLength);
598 EXPECT_TRUE(rtp_header.extension.hasTransmissionTimeOffset); 598 EXPECT_TRUE(rtp_header.extension.hasTransmissionTimeOffset);
599 EXPECT_TRUE(rtp_header.extension.hasAbsoluteSendTime); 599 EXPECT_TRUE(rtp_header.extension.hasAbsoluteSendTime);
600 EXPECT_TRUE(rtp_header.extension.hasAudioLevel); 600 EXPECT_TRUE(rtp_header.extension.hasAudioLevel);
601 EXPECT_TRUE(rtp_header.extension.hasTransportSequenceNumber); 601 EXPECT_TRUE(rtp_header.extension.hasTransportSequenceNumber);
602 EXPECT_EQ(kTimeOffset, rtp_header.extension.transmissionTimeOffset); 602 EXPECT_EQ(kTimeOffset, rtp_header.extension.transmissionTimeOffset);
603 EXPECT_EQ(kAbsoluteSendTime, rtp_header.extension.absoluteSendTime); 603 EXPECT_EQ(kAbsoluteSendTime, rtp_header.extension.absoluteSendTime);
604 EXPECT_TRUE(rtp_header.extension.voiceActivity); 604 EXPECT_TRUE(rtp_header.extension.voiceActivity);
605 EXPECT_EQ(kAudioLevel, rtp_header.extension.audioLevel); 605 EXPECT_EQ(kAudioLevel, rtp_header.extension.audioLevel);
606 EXPECT_EQ(kTransportSequenceNumber, 606 EXPECT_EQ(kTransportSequenceNumber,
607 rtp_header.extension.transportSequenceNumber); 607 rtp_header.extension.transportSequenceNumber);
608 608
609 // Parse without map extension 609 // Parse without map extension
610 webrtc::RTPHeader rtp_header2; 610 webrtc::RTPHeader rtp_header2;
611 const bool valid_rtp_header2 = rtp_parser.Parse(rtp_header2, nullptr); 611 const bool valid_rtp_header2 = rtp_parser.Parse(&rtp_header2, nullptr);
612 612
613 ASSERT_TRUE(valid_rtp_header2); 613 ASSERT_TRUE(valid_rtp_header2);
614 VerifyRTPHeaderCommon(rtp_header2); 614 VerifyRTPHeaderCommon(rtp_header2);
615 EXPECT_EQ(length, rtp_header2.headerLength); 615 EXPECT_EQ(length, rtp_header2.headerLength);
616 EXPECT_FALSE(rtp_header2.extension.hasTransmissionTimeOffset); 616 EXPECT_FALSE(rtp_header2.extension.hasTransmissionTimeOffset);
617 EXPECT_FALSE(rtp_header2.extension.hasAbsoluteSendTime); 617 EXPECT_FALSE(rtp_header2.extension.hasAbsoluteSendTime);
618 EXPECT_FALSE(rtp_header2.extension.hasAudioLevel); 618 EXPECT_FALSE(rtp_header2.extension.hasAudioLevel);
619 EXPECT_FALSE(rtp_header2.extension.hasTransportSequenceNumber); 619 EXPECT_FALSE(rtp_header2.extension.hasTransportSequenceNumber);
620 620
621 EXPECT_EQ(0, rtp_header2.extension.transmissionTimeOffset); 621 EXPECT_EQ(0, rtp_header2.extension.transmissionTimeOffset);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
660 EXPECT_EQ(1, transport_.packets_sent_); 660 EXPECT_EQ(1, transport_.packets_sent_);
661 EXPECT_EQ(rtp_length, transport_.last_sent_packet_len_); 661 EXPECT_EQ(rtp_length, transport_.last_sent_packet_len_);
662 // Parse sent packet. 662 // Parse sent packet.
663 webrtc::RtpUtility::RtpHeaderParser rtp_parser(transport_.last_sent_packet_, 663 webrtc::RtpUtility::RtpHeaderParser rtp_parser(transport_.last_sent_packet_,
664 rtp_length); 664 rtp_length);
665 webrtc::RTPHeader rtp_header; 665 webrtc::RTPHeader rtp_header;
666 RtpHeaderExtensionMap map; 666 RtpHeaderExtensionMap map;
667 map.Register(kRtpExtensionTransmissionTimeOffset, 667 map.Register(kRtpExtensionTransmissionTimeOffset,
668 kTransmissionTimeOffsetExtensionId); 668 kTransmissionTimeOffsetExtensionId);
669 map.Register(kRtpExtensionAbsoluteSendTime, kAbsoluteSendTimeExtensionId); 669 map.Register(kRtpExtensionAbsoluteSendTime, kAbsoluteSendTimeExtensionId);
670 const bool valid_rtp_header = rtp_parser.Parse(rtp_header, &map); 670 const bool valid_rtp_header = rtp_parser.Parse(&rtp_header, &map);
671 ASSERT_TRUE(valid_rtp_header); 671 ASSERT_TRUE(valid_rtp_header);
672 672
673 // Verify transmission time offset. 673 // Verify transmission time offset.
674 EXPECT_EQ(kStoredTimeInMs * 90, rtp_header.extension.transmissionTimeOffset); 674 EXPECT_EQ(kStoredTimeInMs * 90, rtp_header.extension.transmissionTimeOffset);
675 uint64_t expected_send_time = 675 uint64_t expected_send_time =
676 ConvertMsToAbsSendTime(fake_clock_.TimeInMilliseconds()); 676 ConvertMsToAbsSendTime(fake_clock_.TimeInMilliseconds());
677 EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime); 677 EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime);
678 } 678 }
679 679
680 TEST_F(RtpSenderTest, TrafficSmoothingRetransmits) { 680 TEST_F(RtpSenderTest, TrafficSmoothingRetransmits) {
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
720 EXPECT_EQ(rtp_length, transport_.last_sent_packet_len_); 720 EXPECT_EQ(rtp_length, transport_.last_sent_packet_len_);
721 721
722 // Parse sent packet. 722 // Parse sent packet.
723 webrtc::RtpUtility::RtpHeaderParser rtp_parser(transport_.last_sent_packet_, 723 webrtc::RtpUtility::RtpHeaderParser rtp_parser(transport_.last_sent_packet_,
724 rtp_length); 724 rtp_length);
725 webrtc::RTPHeader rtp_header; 725 webrtc::RTPHeader rtp_header;
726 RtpHeaderExtensionMap map; 726 RtpHeaderExtensionMap map;
727 map.Register(kRtpExtensionTransmissionTimeOffset, 727 map.Register(kRtpExtensionTransmissionTimeOffset,
728 kTransmissionTimeOffsetExtensionId); 728 kTransmissionTimeOffsetExtensionId);
729 map.Register(kRtpExtensionAbsoluteSendTime, kAbsoluteSendTimeExtensionId); 729 map.Register(kRtpExtensionAbsoluteSendTime, kAbsoluteSendTimeExtensionId);
730 const bool valid_rtp_header = rtp_parser.Parse(rtp_header, &map); 730 const bool valid_rtp_header = rtp_parser.Parse(&rtp_header, &map);
731 ASSERT_TRUE(valid_rtp_header); 731 ASSERT_TRUE(valid_rtp_header);
732 732
733 // Verify transmission time offset. 733 // Verify transmission time offset.
734 EXPECT_EQ(kStoredTimeInMs * 90, rtp_header.extension.transmissionTimeOffset); 734 EXPECT_EQ(kStoredTimeInMs * 90, rtp_header.extension.transmissionTimeOffset);
735 uint64_t expected_send_time = 735 uint64_t expected_send_time =
736 ConvertMsToAbsSendTime(fake_clock_.TimeInMilliseconds()); 736 ConvertMsToAbsSendTime(fake_clock_.TimeInMilliseconds());
737 EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime); 737 EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime);
738 } 738 }
739 739
740 // This test sends 1 regular video packet, then 4 padding packets, and then 740 // This test sends 1 regular video packet, then 4 padding packets, and then
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
927 uint8_t payload[] = {47, 11, 32, 93, 89}; 927 uint8_t payload[] = {47, 11, 32, 93, 89};
928 928
929 // Send keyframe 929 // Send keyframe
930 ASSERT_EQ( 930 ASSERT_EQ(
931 0, rtp_sender_->SendOutgoingData(kVideoFrameKey, payload_type, 1234, 4321, 931 0, rtp_sender_->SendOutgoingData(kVideoFrameKey, payload_type, 1234, 4321,
932 payload, sizeof(payload), nullptr)); 932 payload, sizeof(payload), nullptr));
933 933
934 RtpUtility::RtpHeaderParser rtp_parser(transport_.last_sent_packet_, 934 RtpUtility::RtpHeaderParser rtp_parser(transport_.last_sent_packet_,
935 transport_.last_sent_packet_len_); 935 transport_.last_sent_packet_len_);
936 webrtc::RTPHeader rtp_header; 936 webrtc::RTPHeader rtp_header;
937 ASSERT_TRUE(rtp_parser.Parse(rtp_header)); 937 ASSERT_TRUE(rtp_parser.Parse(&rtp_header));
938 938
939 const uint8_t* payload_data = 939 const uint8_t* payload_data =
940 GetPayloadData(rtp_header, transport_.last_sent_packet_); 940 GetPayloadData(rtp_header, transport_.last_sent_packet_);
941 uint8_t generic_header = *payload_data++; 941 uint8_t generic_header = *payload_data++;
942 942
943 ASSERT_EQ(sizeof(payload) + sizeof(generic_header), 943 ASSERT_EQ(sizeof(payload) + sizeof(generic_header),
944 GetPayloadDataLength(rtp_header, transport_.last_sent_packet_len_)); 944 GetPayloadDataLength(rtp_header, transport_.last_sent_packet_len_));
945 945
946 EXPECT_TRUE(generic_header & RtpFormatVideoGeneric::kKeyFrameBit); 946 EXPECT_TRUE(generic_header & RtpFormatVideoGeneric::kKeyFrameBit);
947 EXPECT_TRUE(generic_header & RtpFormatVideoGeneric::kFirstPacketBit); 947 EXPECT_TRUE(generic_header & RtpFormatVideoGeneric::kFirstPacketBit);
948 948
949 EXPECT_EQ(0, memcmp(payload, payload_data, sizeof(payload))); 949 EXPECT_EQ(0, memcmp(payload, payload_data, sizeof(payload)));
950 950
951 // Send delta frame 951 // Send delta frame
952 payload[0] = 13; 952 payload[0] = 13;
953 payload[1] = 42; 953 payload[1] = 42;
954 payload[4] = 13; 954 payload[4] = 13;
955 955
956 ASSERT_EQ(0, rtp_sender_->SendOutgoingData(kVideoFrameDelta, payload_type, 956 ASSERT_EQ(0, rtp_sender_->SendOutgoingData(kVideoFrameDelta, payload_type,
957 1234, 4321, payload, 957 1234, 4321, payload,
958 sizeof(payload), nullptr)); 958 sizeof(payload), nullptr));
959 959
960 RtpUtility::RtpHeaderParser rtp_parser2(transport_.last_sent_packet_, 960 RtpUtility::RtpHeaderParser rtp_parser2(transport_.last_sent_packet_,
961 transport_.last_sent_packet_len_); 961 transport_.last_sent_packet_len_);
962 ASSERT_TRUE(rtp_parser.Parse(rtp_header)); 962 ASSERT_TRUE(rtp_parser.Parse(&rtp_header));
963 963
964 payload_data = GetPayloadData(rtp_header, transport_.last_sent_packet_); 964 payload_data = GetPayloadData(rtp_header, transport_.last_sent_packet_);
965 generic_header = *payload_data++; 965 generic_header = *payload_data++;
966 966
967 EXPECT_FALSE(generic_header & RtpFormatVideoGeneric::kKeyFrameBit); 967 EXPECT_FALSE(generic_header & RtpFormatVideoGeneric::kKeyFrameBit);
968 EXPECT_TRUE(generic_header & RtpFormatVideoGeneric::kFirstPacketBit); 968 EXPECT_TRUE(generic_header & RtpFormatVideoGeneric::kFirstPacketBit);
969 969
970 ASSERT_EQ(sizeof(payload) + sizeof(generic_header), 970 ASSERT_EQ(sizeof(payload) + sizeof(generic_header),
971 GetPayloadDataLength(rtp_header, transport_.last_sent_packet_len_)); 971 GetPayloadDataLength(rtp_header, transport_.last_sent_packet_len_));
972 972
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
1210 0, 1500)); 1210 0, 1500));
1211 uint8_t payload[] = {47, 11, 32, 93, 89}; 1211 uint8_t payload[] = {47, 11, 32, 93, 89};
1212 1212
1213 ASSERT_EQ( 1213 ASSERT_EQ(
1214 0, rtp_sender_->SendOutgoingData(kAudioFrameCN, payload_type, 1234, 4321, 1214 0, rtp_sender_->SendOutgoingData(kAudioFrameCN, payload_type, 1234, 4321,
1215 payload, sizeof(payload), nullptr)); 1215 payload, sizeof(payload), nullptr));
1216 1216
1217 RtpUtility::RtpHeaderParser rtp_parser(transport_.last_sent_packet_, 1217 RtpUtility::RtpHeaderParser rtp_parser(transport_.last_sent_packet_,
1218 transport_.last_sent_packet_len_); 1218 transport_.last_sent_packet_len_);
1219 webrtc::RTPHeader rtp_header; 1219 webrtc::RTPHeader rtp_header;
1220 ASSERT_TRUE(rtp_parser.Parse(rtp_header)); 1220 ASSERT_TRUE(rtp_parser.Parse(&rtp_header));
1221 1221
1222 const uint8_t* payload_data = 1222 const uint8_t* payload_data =
1223 GetPayloadData(rtp_header, transport_.last_sent_packet_); 1223 GetPayloadData(rtp_header, transport_.last_sent_packet_);
1224 1224
1225 ASSERT_EQ(sizeof(payload), 1225 ASSERT_EQ(sizeof(payload),
1226 GetPayloadDataLength(rtp_header, transport_.last_sent_packet_len_)); 1226 GetPayloadDataLength(rtp_header, transport_.last_sent_packet_len_));
1227 1227
1228 EXPECT_EQ(0, memcmp(payload, payload_data, sizeof(payload))); 1228 EXPECT_EQ(0, memcmp(payload, payload_data, sizeof(payload)));
1229 } 1229 }
1230 1230
1231 TEST_F(RtpSenderAudioTest, SendAudioWithAudioLevelExtension) { 1231 TEST_F(RtpSenderAudioTest, SendAudioWithAudioLevelExtension) {
1232 EXPECT_EQ(0, rtp_sender_->SetAudioLevel(kAudioLevel)); 1232 EXPECT_EQ(0, rtp_sender_->SetAudioLevel(kAudioLevel));
1233 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAudioLevel, 1233 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAudioLevel,
1234 kAudioLevelExtensionId)); 1234 kAudioLevelExtensionId));
1235 1235
1236 char payload_name[RTP_PAYLOAD_NAME_SIZE] = "PAYLOAD_NAME"; 1236 char payload_name[RTP_PAYLOAD_NAME_SIZE] = "PAYLOAD_NAME";
1237 const uint8_t payload_type = 127; 1237 const uint8_t payload_type = 127;
1238 ASSERT_EQ(0, rtp_sender_->RegisterPayload(payload_name, payload_type, 48000, 1238 ASSERT_EQ(0, rtp_sender_->RegisterPayload(payload_name, payload_type, 48000,
1239 0, 1500)); 1239 0, 1500));
1240 uint8_t payload[] = {47, 11, 32, 93, 89}; 1240 uint8_t payload[] = {47, 11, 32, 93, 89};
1241 1241
1242 ASSERT_EQ( 1242 ASSERT_EQ(
1243 0, rtp_sender_->SendOutgoingData(kAudioFrameCN, payload_type, 1234, 4321, 1243 0, rtp_sender_->SendOutgoingData(kAudioFrameCN, payload_type, 1234, 4321,
1244 payload, sizeof(payload), nullptr)); 1244 payload, sizeof(payload), nullptr));
1245 1245
1246 RtpUtility::RtpHeaderParser rtp_parser(transport_.last_sent_packet_, 1246 RtpUtility::RtpHeaderParser rtp_parser(transport_.last_sent_packet_,
1247 transport_.last_sent_packet_len_); 1247 transport_.last_sent_packet_len_);
1248 webrtc::RTPHeader rtp_header; 1248 webrtc::RTPHeader rtp_header;
1249 ASSERT_TRUE(rtp_parser.Parse(rtp_header)); 1249 ASSERT_TRUE(rtp_parser.Parse(&rtp_header));
1250 1250
1251 const uint8_t* payload_data = 1251 const uint8_t* payload_data =
1252 GetPayloadData(rtp_header, transport_.last_sent_packet_); 1252 GetPayloadData(rtp_header, transport_.last_sent_packet_);
1253 1253
1254 ASSERT_EQ(sizeof(payload), 1254 ASSERT_EQ(sizeof(payload),
1255 GetPayloadDataLength(rtp_header, transport_.last_sent_packet_len_)); 1255 GetPayloadDataLength(rtp_header, transport_.last_sent_packet_len_));
1256 1256
1257 EXPECT_EQ(0, memcmp(payload, payload_data, sizeof(payload))); 1257 EXPECT_EQ(0, memcmp(payload, payload_data, sizeof(payload)));
1258 1258
1259 uint8_t extension[] = { 1259 uint8_t extension[] = {
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
1418 reinterpret_cast<uint8_t*>(transport_.sent_packets_[0]->data()), 1418 reinterpret_cast<uint8_t*>(transport_.sent_packets_[0]->data()),
1419 transport_.sent_packets_[0]->size(), true, &map, kSeqNum, hdr.rotation); 1419 transport_.sent_packets_[0]->size(), true, &map, kSeqNum, hdr.rotation);
1420 1420
1421 // Verify that this packet does have CVO byte. 1421 // Verify that this packet does have CVO byte.
1422 VerifyCVOPacket( 1422 VerifyCVOPacket(
1423 reinterpret_cast<uint8_t*>(transport_.sent_packets_[1]->data()), 1423 reinterpret_cast<uint8_t*>(transport_.sent_packets_[1]->data()),
1424 transport_.sent_packets_[1]->size(), true, &map, kSeqNum + 1, 1424 transport_.sent_packets_[1]->size(), true, &map, kSeqNum + 1,
1425 hdr.rotation); 1425 hdr.rotation);
1426 } 1426 }
1427 } // namespace webrtc 1427 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc ('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