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

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

Issue 2684023002: Remove repeat flag from SendRTCP (Closed)
Patch Set: Created 3 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
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 436 matching lines...) Expand 10 before | Expand all | Expand 10 after
447 EXPECT_EQ(0U, parser()->app()->data_size()); 447 EXPECT_EQ(0U, parser()->app()->data_size());
448 } 448 }
449 449
450 TEST_F(RtcpSenderTest, SetInvalidApplicationSpecificData) { 450 TEST_F(RtcpSenderTest, SetInvalidApplicationSpecificData) {
451 const uint8_t kData[] = {'t', 'e', 's', 't', 'd', 'a', 't'}; 451 const uint8_t kData[] = {'t', 'e', 's', 't', 'd', 'a', 't'};
452 const uint16_t kInvalidDataLength = sizeof(kData) / sizeof(kData[0]); 452 const uint16_t kInvalidDataLength = sizeof(kData) / sizeof(kData[0]);
453 EXPECT_EQ(-1, rtcp_sender_->SetApplicationSpecificData( 453 EXPECT_EQ(-1, rtcp_sender_->SetApplicationSpecificData(
454 0, 0, kData, kInvalidDataLength)); // Should by multiple of 4. 454 0, 0, kData, kInvalidDataLength)); // Should by multiple of 4.
455 } 455 }
456 456
457 TEST_F(RtcpSenderTest, SendFirNonRepeat) { 457 TEST_F(RtcpSenderTest, SendFir) {
458 rtcp_sender_->SetRTCPStatus(RtcpMode::kReducedSize); 458 rtcp_sender_->SetRTCPStatus(RtcpMode::kReducedSize);
459 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpFir)); 459 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpFir));
460 EXPECT_EQ(1, parser()->fir()->num_packets()); 460 EXPECT_EQ(1, parser()->fir()->num_packets());
461 EXPECT_EQ(kSenderSsrc, parser()->fir()->sender_ssrc()); 461 EXPECT_EQ(kSenderSsrc, parser()->fir()->sender_ssrc());
462 EXPECT_EQ(1U, parser()->fir()->requests().size()); 462 EXPECT_EQ(1U, parser()->fir()->requests().size());
463 EXPECT_EQ(kRemoteSsrc, parser()->fir()->requests()[0].ssrc); 463 EXPECT_EQ(kRemoteSsrc, parser()->fir()->requests()[0].ssrc);
464 uint8_t seq = parser()->fir()->requests()[0].seq_nr; 464 uint8_t seq = parser()->fir()->requests()[0].seq_nr;
465 // Sends non-repeat FIR as default.
466 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpFir)); 465 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpFir));
467 EXPECT_EQ(2, parser()->fir()->num_packets()); 466 EXPECT_EQ(2, parser()->fir()->num_packets());
468 EXPECT_EQ(seq + 1, parser()->fir()->requests()[0].seq_nr); 467 EXPECT_EQ(seq + 1, parser()->fir()->requests()[0].seq_nr);
469 } 468 }
470 469
471 TEST_F(RtcpSenderTest, SendFirRepeat) {
472 rtcp_sender_->SetRTCPStatus(RtcpMode::kReducedSize);
473 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpFir));
474 EXPECT_EQ(1, parser()->fir()->num_packets());
475 EXPECT_EQ(1U, parser()->fir()->requests().size());
476 uint8_t seq = parser()->fir()->requests()[0].seq_nr;
477 const bool kRepeat = true;
478 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpFir, 0, nullptr,
479 kRepeat));
480 EXPECT_EQ(2, parser()->fir()->num_packets());
481 EXPECT_EQ(seq, parser()->fir()->requests()[0].seq_nr);
482 }
483
484 TEST_F(RtcpSenderTest, SendPli) { 470 TEST_F(RtcpSenderTest, SendPli) {
485 rtcp_sender_->SetRTCPStatus(RtcpMode::kReducedSize); 471 rtcp_sender_->SetRTCPStatus(RtcpMode::kReducedSize);
486 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpPli)); 472 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpPli));
487 EXPECT_EQ(1, parser()->pli()->num_packets()); 473 EXPECT_EQ(1, parser()->pli()->num_packets());
488 EXPECT_EQ(kSenderSsrc, parser()->pli()->sender_ssrc()); 474 EXPECT_EQ(kSenderSsrc, parser()->pli()->sender_ssrc());
489 EXPECT_EQ(kRemoteSsrc, parser()->pli()->media_ssrc()); 475 EXPECT_EQ(kRemoteSsrc, parser()->pli()->media_ssrc());
490 } 476 }
491 477
492 TEST_F(RtcpSenderTest, SendRpsi) { 478 TEST_F(RtcpSenderTest, SendRpsi) {
493 const uint64_t kPictureId = 0x41; 479 const uint64_t kPictureId = 0x41;
494 const int8_t kPayloadType = 100; 480 const int8_t kPayloadType = 100;
495 rtcp_sender_->SetRTCPStatus(RtcpMode::kReducedSize); 481 rtcp_sender_->SetRTCPStatus(RtcpMode::kReducedSize);
496 RTCPSender::FeedbackState feedback_state = rtp_rtcp_impl_->GetFeedbackState(); 482 RTCPSender::FeedbackState feedback_state = rtp_rtcp_impl_->GetFeedbackState();
497 feedback_state.send_payload_type = kPayloadType; 483 feedback_state.send_payload_type = kPayloadType;
498 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state, kRtcpRpsi, 0, nullptr, 484 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state, kRtcpRpsi, 0, nullptr,
499 false, kPictureId)); 485 kPictureId));
500 EXPECT_EQ(1, parser()->rpsi()->num_packets()); 486 EXPECT_EQ(1, parser()->rpsi()->num_packets());
501 EXPECT_EQ(kPayloadType, parser()->rpsi()->payload_type()); 487 EXPECT_EQ(kPayloadType, parser()->rpsi()->payload_type());
502 EXPECT_EQ(kPictureId, parser()->rpsi()->picture_id()); 488 EXPECT_EQ(kPictureId, parser()->rpsi()->picture_id());
503 } 489 }
504 490
505 TEST_F(RtcpSenderTest, SendSli) { 491 TEST_F(RtcpSenderTest, SendSli) {
506 const uint16_t kFirstMb = 0; 492 const uint16_t kFirstMb = 0;
507 const uint16_t kNumberOfMb = 0x1FFF; 493 const uint16_t kNumberOfMb = 0x1FFF;
508 const uint8_t kPictureId = 60; 494 const uint8_t kPictureId = 60;
509 rtcp_sender_->SetRTCPStatus(RtcpMode::kReducedSize); 495 rtcp_sender_->SetRTCPStatus(RtcpMode::kReducedSize);
510 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpSli, 0, nullptr, 496 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpSli, 0, nullptr,
511 false, kPictureId)); 497 kPictureId));
512 EXPECT_EQ(1, parser()->sli()->num_packets()); 498 EXPECT_EQ(1, parser()->sli()->num_packets());
513 EXPECT_EQ(kSenderSsrc, parser()->sli()->sender_ssrc()); 499 EXPECT_EQ(kSenderSsrc, parser()->sli()->sender_ssrc());
514 EXPECT_EQ(kRemoteSsrc, parser()->sli()->media_ssrc()); 500 EXPECT_EQ(kRemoteSsrc, parser()->sli()->media_ssrc());
515 EXPECT_EQ(1U, parser()->sli()->macroblocks().size()); 501 EXPECT_EQ(1U, parser()->sli()->macroblocks().size());
516 EXPECT_EQ(kFirstMb, parser()->sli()->macroblocks()[0].first()); 502 EXPECT_EQ(kFirstMb, parser()->sli()->macroblocks()[0].first());
517 EXPECT_EQ(kNumberOfMb, parser()->sli()->macroblocks()[0].number()); 503 EXPECT_EQ(kNumberOfMb, parser()->sli()->macroblocks()[0].number());
518 EXPECT_EQ(kPictureId, parser()->sli()->macroblocks()[0].picture_id()); 504 EXPECT_EQ(kPictureId, parser()->sli()->macroblocks()[0].picture_id());
519 } 505 }
520 506
521 TEST_F(RtcpSenderTest, SendNack) { 507 TEST_F(RtcpSenderTest, SendNack) {
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after
850 const rtcp::TargetBitrate::BitrateItem& item = bitrates[index]; 836 const rtcp::TargetBitrate::BitrateItem& item = bitrates[index];
851 EXPECT_EQ(sl, item.spatial_layer); 837 EXPECT_EQ(sl, item.spatial_layer);
852 EXPECT_EQ(tl, item.temporal_layer); 838 EXPECT_EQ(tl, item.temporal_layer);
853 EXPECT_EQ(start_bitrate_bps + (tl * 20000), 839 EXPECT_EQ(start_bitrate_bps + (tl * 20000),
854 item.target_bitrate_kbps * 1000); 840 item.target_bitrate_kbps * 1000);
855 } 841 }
856 } 842 }
857 } 843 }
858 844
859 } // namespace webrtc 845 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtcp_sender.cc ('k') | webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698