OLD | NEW |
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 454 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
465 } | 465 } |
466 | 466 |
467 TEST_F(RtcpSenderTest, SendPli) { | 467 TEST_F(RtcpSenderTest, SendPli) { |
468 rtcp_sender_->SetRTCPStatus(RtcpMode::kReducedSize); | 468 rtcp_sender_->SetRTCPStatus(RtcpMode::kReducedSize); |
469 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpPli)); | 469 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpPli)); |
470 EXPECT_EQ(1, parser()->pli()->num_packets()); | 470 EXPECT_EQ(1, parser()->pli()->num_packets()); |
471 EXPECT_EQ(kSenderSsrc, parser()->pli()->sender_ssrc()); | 471 EXPECT_EQ(kSenderSsrc, parser()->pli()->sender_ssrc()); |
472 EXPECT_EQ(kRemoteSsrc, parser()->pli()->media_ssrc()); | 472 EXPECT_EQ(kRemoteSsrc, parser()->pli()->media_ssrc()); |
473 } | 473 } |
474 | 474 |
475 TEST_F(RtcpSenderTest, SendRpsi) { | |
476 const uint64_t kPictureId = 0x41; | |
477 const int8_t kPayloadType = 100; | |
478 rtcp_sender_->SetRTCPStatus(RtcpMode::kReducedSize); | |
479 RTCPSender::FeedbackState feedback_state = rtp_rtcp_impl_->GetFeedbackState(); | |
480 feedback_state.send_payload_type = kPayloadType; | |
481 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state, kRtcpRpsi, 0, nullptr, | |
482 kPictureId)); | |
483 EXPECT_EQ(1, parser()->rpsi()->num_packets()); | |
484 EXPECT_EQ(kPayloadType, parser()->rpsi()->payload_type()); | |
485 EXPECT_EQ(kPictureId, parser()->rpsi()->picture_id()); | |
486 } | |
487 | |
488 TEST_F(RtcpSenderTest, SendSli) { | |
489 const uint16_t kFirstMb = 0; | |
490 const uint16_t kNumberOfMb = 0x1FFF; | |
491 const uint8_t kPictureId = 60; | |
492 rtcp_sender_->SetRTCPStatus(RtcpMode::kReducedSize); | |
493 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpSli, 0, nullptr, | |
494 kPictureId)); | |
495 EXPECT_EQ(1, parser()->sli()->num_packets()); | |
496 EXPECT_EQ(kSenderSsrc, parser()->sli()->sender_ssrc()); | |
497 EXPECT_EQ(kRemoteSsrc, parser()->sli()->media_ssrc()); | |
498 EXPECT_EQ(1U, parser()->sli()->macroblocks().size()); | |
499 EXPECT_EQ(kFirstMb, parser()->sli()->macroblocks()[0].first()); | |
500 EXPECT_EQ(kNumberOfMb, parser()->sli()->macroblocks()[0].number()); | |
501 EXPECT_EQ(kPictureId, parser()->sli()->macroblocks()[0].picture_id()); | |
502 } | |
503 | |
504 TEST_F(RtcpSenderTest, SendNack) { | 475 TEST_F(RtcpSenderTest, SendNack) { |
505 rtcp_sender_->SetRTCPStatus(RtcpMode::kReducedSize); | 476 rtcp_sender_->SetRTCPStatus(RtcpMode::kReducedSize); |
506 const uint16_t kList[] = {0, 1, 16}; | 477 const uint16_t kList[] = {0, 1, 16}; |
507 const int32_t kListLength = sizeof(kList) / sizeof(kList[0]); | 478 const int32_t kListLength = sizeof(kList) / sizeof(kList[0]); |
508 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpNack, kListLength, | 479 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpNack, kListLength, |
509 kList)); | 480 kList)); |
510 EXPECT_EQ(1, parser()->nack()->num_packets()); | 481 EXPECT_EQ(1, parser()->nack()->num_packets()); |
511 EXPECT_EQ(kSenderSsrc, parser()->nack()->sender_ssrc()); | 482 EXPECT_EQ(kSenderSsrc, parser()->nack()->sender_ssrc()); |
512 EXPECT_EQ(kRemoteSsrc, parser()->nack()->media_ssrc()); | 483 EXPECT_EQ(kRemoteSsrc, parser()->nack()->media_ssrc()); |
513 EXPECT_THAT(parser()->nack()->packet_ids(), ElementsAre(0, 1, 16)); | 484 EXPECT_THAT(parser()->nack()->packet_ids(), ElementsAre(0, 1, 16)); |
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
830 const rtcp::TargetBitrate::BitrateItem& item = bitrates[index]; | 801 const rtcp::TargetBitrate::BitrateItem& item = bitrates[index]; |
831 EXPECT_EQ(sl, item.spatial_layer); | 802 EXPECT_EQ(sl, item.spatial_layer); |
832 EXPECT_EQ(tl, item.temporal_layer); | 803 EXPECT_EQ(tl, item.temporal_layer); |
833 EXPECT_EQ(start_bitrate_bps + (tl * 20000), | 804 EXPECT_EQ(start_bitrate_bps + (tl * 20000), |
834 item.target_bitrate_kbps * 1000); | 805 item.target_bitrate_kbps * 1000); |
835 } | 806 } |
836 } | 807 } |
837 } | 808 } |
838 | 809 |
839 } // namespace webrtc | 810 } // namespace webrtc |
OLD | NEW |