Chromium Code Reviews

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

Issue 1491843004: [rtp_rtcp] RTT intermidiate calculation use ntp time instead of milliseconds. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase & reduced RtpRtcpImplUnittest to more reasanable expectations Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff |
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 620 matching lines...)
631 631
632 TEST_F(RtcpSenderTest, TestNoXrRrtrSentIfNotEnabled) { 632 TEST_F(RtcpSenderTest, TestNoXrRrtrSentIfNotEnabled) {
633 rtcp_sender_->SetRTCPStatus(RtcpMode::kCompound); 633 rtcp_sender_->SetRTCPStatus(RtcpMode::kCompound);
634 EXPECT_EQ(0, rtcp_sender_->SetSendingStatus(feedback_state(), false)); 634 EXPECT_EQ(0, rtcp_sender_->SetSendingStatus(feedback_state(), false));
635 rtcp_sender_->SendRtcpXrReceiverReferenceTime(false); 635 rtcp_sender_->SendRtcpXrReceiverReferenceTime(false);
636 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpReport)); 636 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpReport));
637 EXPECT_EQ(0, parser()->xr_header()->num_packets()); 637 EXPECT_EQ(0, parser()->xr_header()->num_packets());
638 EXPECT_EQ(0, parser()->rrtr()->num_packets()); 638 EXPECT_EQ(0, parser()->rrtr()->num_packets());
639 } 639 }
640 640
641 TEST_F(RtcpSenderTest, TestSendTimeOfXrRrtr) {
642 rtcp_sender_->SetRTCPStatus(RtcpMode::kCompound);
643 RTCPSender::FeedbackState feedback_state = rtp_rtcp_impl_->GetFeedbackState();
644 EXPECT_EQ(0, rtcp_sender_->SetSendingStatus(feedback_state, false));
645 rtcp_sender_->SendRtcpXrReceiverReferenceTime(true);
646 uint32_t ntp_sec;
647 uint32_t ntp_frac;
648 clock_.CurrentNtp(ntp_sec, ntp_frac);
649 uint32_t initial_mid_ntp = RTCPUtility::MidNtp(ntp_sec, ntp_frac);
650
651 // No packet sent.
652 int64_t time_ms;
653 EXPECT_FALSE(rtcp_sender_->SendTimeOfXrRrReport(initial_mid_ntp, &time_ms));
654
655 // Send XR RR packets.
656 for (int i = 0; i <= RTCP_NUMBER_OF_SR; ++i) {
657 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state, kRtcpReport));
658 EXPECT_EQ(i + 1, test_transport_.parser_.rrtr()->num_packets());
659 clock_.CurrentNtp(ntp_sec, ntp_frac);
660 uint32_t mid_ntp = RTCPUtility::MidNtp(ntp_sec, ntp_frac);
661 EXPECT_TRUE(rtcp_sender_->SendTimeOfXrRrReport(mid_ntp, &time_ms));
662 EXPECT_EQ(clock_.CurrentNtpInMilliseconds(), time_ms);
663 clock_.AdvanceTimeMilliseconds(1000);
664 }
665 // The first report should no longer be stored.
666 EXPECT_FALSE(rtcp_sender_->SendTimeOfXrRrReport(initial_mid_ntp, &time_ms));
667 }
668
669 TEST_F(RtcpSenderTest, TestRegisterRtcpPacketTypeObserver) { 641 TEST_F(RtcpSenderTest, TestRegisterRtcpPacketTypeObserver) {
670 RtcpPacketTypeCounterObserverImpl observer; 642 RtcpPacketTypeCounterObserverImpl observer;
671 rtcp_sender_.reset(new RTCPSender(false, &clock_, receive_statistics_.get(), 643 rtcp_sender_.reset(new RTCPSender(false, &clock_, receive_statistics_.get(),
672 &observer, nullptr, &test_transport_)); 644 &observer, nullptr, &test_transport_));
673 rtcp_sender_->SetRemoteSSRC(kRemoteSsrc); 645 rtcp_sender_->SetRemoteSSRC(kRemoteSsrc);
674 rtcp_sender_->SetRTCPStatus(RtcpMode::kReducedSize); 646 rtcp_sender_->SetRTCPStatus(RtcpMode::kReducedSize);
675 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpPli)); 647 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpPli));
676 EXPECT_EQ(1, parser()->pli()->num_packets()); 648 EXPECT_EQ(1, parser()->pli()->num_packets());
677 EXPECT_EQ(kRemoteSsrc, observer.ssrc_); 649 EXPECT_EQ(kRemoteSsrc, observer.ssrc_);
678 EXPECT_EQ(1U, observer.counter_.pli_packets); 650 EXPECT_EQ(1U, observer.counter_.pli_packets);
(...skipping 76 matching lines...)
755 rtcp_sender_->SetREMBData(kBitrate, ssrcs); 727 rtcp_sender_->SetREMBData(kBitrate, ssrcs);
756 std::set<RTCPPacketType> packet_types; 728 std::set<RTCPPacketType> packet_types;
757 packet_types.insert(kRtcpRemb); 729 packet_types.insert(kRtcpRemb);
758 packet_types.insert(kRtcpPli); 730 packet_types.insert(kRtcpPli);
759 EXPECT_EQ(0, rtcp_sender_->SendCompoundRTCP(feedback_state(), packet_types)); 731 EXPECT_EQ(0, rtcp_sender_->SendCompoundRTCP(feedback_state(), packet_types));
760 EXPECT_EQ(1, parser()->remb_item()->num_packets()); 732 EXPECT_EQ(1, parser()->remb_item()->num_packets());
761 EXPECT_EQ(1, parser()->pli()->num_packets()); 733 EXPECT_EQ(1, parser()->pli()->num_packets());
762 } 734 }
763 735
764 } // namespace webrtc 736 } // namespace webrtc
OLDNEW

Powered by Google App Engine