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

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

Issue 1474693002: [Splitting] TMMBRHelp class simplifted (and disappear because become too simple) (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 7 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 645 matching lines...) Expand 10 before | Expand all | Expand 10 after
656 } 656 }
657 657
658 TEST_F(RtcpSenderTest, SendTmmbr) { 658 TEST_F(RtcpSenderTest, SendTmmbr) {
659 const unsigned int kBitrateBps = 312000; 659 const unsigned int kBitrateBps = 312000;
660 rtcp_sender_->SetRTCPStatus(RtcpMode::kReducedSize); 660 rtcp_sender_->SetRTCPStatus(RtcpMode::kReducedSize);
661 rtcp_sender_->SetTargetBitrate(kBitrateBps); 661 rtcp_sender_->SetTargetBitrate(kBitrateBps);
662 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpTmmbr)); 662 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpTmmbr));
663 EXPECT_EQ(1, parser()->tmmbr()->num_packets()); 663 EXPECT_EQ(1, parser()->tmmbr()->num_packets());
664 EXPECT_EQ(kSenderSsrc, parser()->tmmbr()->Ssrc()); 664 EXPECT_EQ(kSenderSsrc, parser()->tmmbr()->Ssrc());
665 EXPECT_EQ(1, parser()->tmmbr_item()->num_packets()); 665 EXPECT_EQ(1, parser()->tmmbr_item()->num_packets());
666 EXPECT_EQ(kBitrateBps / 1000, parser()->tmmbr_item()->BitrateKbps()); 666 EXPECT_EQ(kBitrateBps, parser()->tmmbr_item()->BitrateKbps() * 1000);
667 // TODO(asapersson): tmmbr_item()->Overhead() looks broken, always zero. 667 // TODO(asapersson): tmmbr_item()->Overhead() looks broken, always zero.
668 } 668 }
669 669
670 TEST_F(RtcpSenderTest, TmmbrIncludedInCompoundPacketIfEnabled) { 670 TEST_F(RtcpSenderTest, TmmbrIncludedInCompoundPacketIfEnabled) {
671 const unsigned int kBitrateBps = 312000; 671 const unsigned int kBitrateBps = 312000;
672 rtcp_sender_->SetRTCPStatus(RtcpMode::kCompound); 672 rtcp_sender_->SetRTCPStatus(RtcpMode::kCompound);
673 EXPECT_FALSE(rtcp_sender_->TMMBR()); 673 EXPECT_FALSE(rtcp_sender_->TMMBR());
674 rtcp_sender_->SetTMMBRStatus(true); 674 rtcp_sender_->SetTMMBRStatus(true);
675 EXPECT_TRUE(rtcp_sender_->TMMBR()); 675 EXPECT_TRUE(rtcp_sender_->TMMBR());
676 rtcp_sender_->SetTargetBitrate(kBitrateBps); 676 rtcp_sender_->SetTargetBitrate(kBitrateBps);
677 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpReport)); 677 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpReport));
678 EXPECT_EQ(1, parser()->tmmbr()->num_packets()); 678 EXPECT_EQ(1, parser()->tmmbr()->num_packets());
679 EXPECT_EQ(1, parser()->tmmbr_item()->num_packets()); 679 EXPECT_EQ(1, parser()->tmmbr_item()->num_packets());
680 // TMMBR should be included in each compound packet. 680 // TMMBR should be included in each compound packet.
681 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpReport)); 681 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpReport));
682 EXPECT_EQ(2, parser()->tmmbr()->num_packets()); 682 EXPECT_EQ(2, parser()->tmmbr()->num_packets());
683 EXPECT_EQ(2, parser()->tmmbr_item()->num_packets()); 683 EXPECT_EQ(2, parser()->tmmbr_item()->num_packets());
684 684
685 rtcp_sender_->SetTMMBRStatus(false); 685 rtcp_sender_->SetTMMBRStatus(false);
686 EXPECT_FALSE(rtcp_sender_->TMMBR()); 686 EXPECT_FALSE(rtcp_sender_->TMMBR());
687 } 687 }
688 688
689 TEST_F(RtcpSenderTest, SendTmmbn) { 689 TEST_F(RtcpSenderTest, SendTmmbn) {
690 rtcp_sender_->SetRTCPStatus(RtcpMode::kCompound); 690 rtcp_sender_->SetRTCPStatus(RtcpMode::kCompound);
691
691 std::vector<rtcp::TmmbItem> bounding_set; 692 std::vector<rtcp::TmmbItem> bounding_set;
692 const uint32_t kBitrateKbps = 32768; 693 const uint32_t kBitrateBps = 32768000;
693 const uint32_t kPacketOh = 40; 694 const uint32_t kPacketOh = 40;
694 const uint32_t kSourceSsrc = 12345; 695 const uint32_t kSourceSsrc = 12345;
695 const rtcp::TmmbItem tmmbn(kSourceSsrc, kBitrateKbps * 1000, kPacketOh); 696 bounding_set.push_back(rtcp::TmmbItem(kSourceSsrc, kBitrateBps, kPacketOh));
696 bounding_set.push_back(tmmbn);
697 rtcp_sender_->SetTMMBN(&bounding_set); 697 rtcp_sender_->SetTMMBN(&bounding_set);
698
699 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpSr)); 698 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpSr));
700 EXPECT_EQ(1, parser()->sender_report()->num_packets()); 699 EXPECT_EQ(1, parser()->sender_report()->num_packets());
701 EXPECT_EQ(1, parser()->tmmbn()->num_packets()); 700 EXPECT_EQ(1, parser()->tmmbn()->num_packets());
702 EXPECT_EQ(kSenderSsrc, parser()->tmmbn()->Ssrc()); 701 EXPECT_EQ(kSenderSsrc, parser()->tmmbn()->Ssrc());
703 EXPECT_EQ(1, parser()->tmmbn_items()->num_packets()); 702 EXPECT_EQ(1, parser()->tmmbn_items()->num_packets());
704 EXPECT_EQ(kBitrateKbps, parser()->tmmbn_items()->BitrateKbps(0)); 703 EXPECT_EQ(kBitrateBps, parser()->tmmbn_items()->BitrateKbps(0) * 1000);
705 EXPECT_EQ(kPacketOh, parser()->tmmbn_items()->Overhead(0)); 704 EXPECT_EQ(kPacketOh, parser()->tmmbn_items()->Overhead(0));
706 EXPECT_EQ(kSourceSsrc, parser()->tmmbn_items()->Ssrc(0)); 705 EXPECT_EQ(kSourceSsrc, parser()->tmmbn_items()->Ssrc(0));
707 } 706 }
708 707
709 // This test is written to verify actual behaviour. It does not seem 708 // This test is written to verify actual behaviour. It does not seem
710 // to make much sense to send an empty TMMBN, since there is no place 709 // to make much sense to send an empty TMMBN, since there is no place
711 // to put an actual limit here. It's just information that no limit 710 // to put an actual limit here. It's just information that no limit
712 // is set, which is kind of the starting assumption. 711 // is set, which is kind of the starting assumption.
713 // See http://code.google.com/p/webrtc/issues/detail?id=468 for one 712 // See http://code.google.com/p/webrtc/issues/detail?id=468 for one
714 // situation where this caused confusion. 713 // situation where this caused confusion.
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
770 rtcp_sender_->SetRemoteSSRC(kRemoteSsrc); 769 rtcp_sender_->SetRemoteSSRC(kRemoteSsrc);
771 770
772 // Set up XR VoIP metric to be included with BYE 771 // Set up XR VoIP metric to be included with BYE
773 rtcp_sender_->SetRTCPStatus(RtcpMode::kCompound); 772 rtcp_sender_->SetRTCPStatus(RtcpMode::kCompound);
774 RTCPVoIPMetric metric; 773 RTCPVoIPMetric metric;
775 EXPECT_EQ(0, rtcp_sender_->SetRTCPVoIPMetrics(&metric)); 774 EXPECT_EQ(0, rtcp_sender_->SetRTCPVoIPMetrics(&metric));
776 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpBye)); 775 EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state(), kRtcpBye));
777 } 776 }
778 777
779 } // namespace webrtc 778 } // 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.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698