Chromium Code Reviews| Index: webrtc/modules/rtp_rtcp/source/rtcp_sender_unittest.cc |
| diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_sender_unittest.cc b/webrtc/modules/rtp_rtcp/source/rtcp_sender_unittest.cc |
| index 6def724537e48bde66f737e585d6b631e299c7b3..daa094abc9aa057c32e067fb1189ec4bab25d311 100644 |
| --- a/webrtc/modules/rtp_rtcp/source/rtcp_sender_unittest.cc |
| +++ b/webrtc/modules/rtp_rtcp/source/rtcp_sender_unittest.cc |
| @@ -30,6 +30,8 @@ |
| namespace webrtc { |
| +namespace { |
| + |
| TEST(NACKStringBuilderTest, TestCase1) { |
| NACKStringBuilder builder; |
| builder.PushNACK(5); |
| @@ -272,10 +274,12 @@ class TestTransport : public Transport, |
| RTCPHelp::RTCPPacketInformation rtcp_packet_info_; |
| }; |
| +static const uint32_t kRemoteBitrateEstimatorMinBitrateBps = 30000; |
| +static const int kMaxPacketLength = 1500; |
| +static const uint32_t kMediaSsrc = 0x11111111; |
| + |
| class RtcpSenderTest : public ::testing::Test { |
| protected: |
| - static const uint32_t kRemoteBitrateEstimatorMinBitrateBps = 30000; |
| - |
| RtcpSenderTest() |
| : over_use_detector_options_(), |
| clock_(1335900000), |
| @@ -305,10 +309,14 @@ class RtcpSenderTest : public ::testing::Test { |
| new RTCPSender(0, false, &clock_, receive_statistics_.get(), NULL); |
| rtcp_receiver_ = |
| new RTCPReceiver(0, &clock_, false, NULL, NULL, NULL, rtp_rtcp_impl_); |
| + std::set<uint32_t> registered_ssrcs; |
| + registered_ssrcs.insert(kMediaSsrc); |
|
åsapersson
2015/07/22 05:58:27
The main_ssrc should also be in the set right? And
sprang_webrtc
2015/07/23 13:50:40
I find these settings a bit confusing. Did I get i
|
| + rtcp_receiver_->SetSsrcs(0, registered_ssrcs); |
| test_transport_->SetRTCPReceiver(rtcp_receiver_); |
| // Initialize |
| EXPECT_EQ(0, rtcp_sender_->RegisterSendTransport(test_transport_)); |
| } |
| + |
| ~RtcpSenderTest() { |
| delete rtcp_sender_; |
| delete rtcp_receiver_; |
| @@ -334,7 +342,6 @@ class RtcpSenderTest : public ::testing::Test { |
| rtc::scoped_ptr<RemoteBitrateEstimator> remote_bitrate_estimator_; |
| rtc::scoped_ptr<ReceiveStatistics> receive_statistics_; |
| - enum {kMaxPacketLength = 1500}; |
| uint8_t packet_[kMaxPacketLength]; |
| }; |
| @@ -344,21 +351,14 @@ TEST_F(RtcpSenderTest, RtcpOff) { |
| EXPECT_EQ(-1, rtcp_sender_->SendRTCP(feedback_state, kRtcpSr)); |
| } |
| -TEST_F(RtcpSenderTest, IJStatus) { |
| - ASSERT_FALSE(rtcp_sender_->IJ()); |
| - rtcp_sender_->SetIJStatus(true); |
| - EXPECT_TRUE(rtcp_sender_->IJ()); |
| -} |
| - |
| TEST_F(RtcpSenderTest, TestCompound) { |
| const bool marker_bit = false; |
| const uint8_t payload_type = 100; |
| const uint16_t seq_num = 11111; |
| const uint32_t timestamp = 1234567; |
| - const uint32_t ssrc = 0x11111111; |
| size_t packet_length = 0; |
| - CreateRtpPacket(marker_bit, payload_type, seq_num, timestamp, ssrc, packet_, |
| - &packet_length); |
| + CreateRtpPacket(marker_bit, payload_type, seq_num, timestamp, kMediaSsrc, |
| + packet_, &packet_length); |
| EXPECT_EQ(25u, packet_length); |
| VideoCodec codec_inst; |
| @@ -382,25 +382,27 @@ TEST_F(RtcpSenderTest, TestCompound) { |
| EXPECT_TRUE(rtp_receiver_->IncomingRtpPacket(header, packet_, packet_length, |
| payload_specific, true)); |
| - rtcp_sender_->SetIJStatus(true); |
| + rtcp_sender_->SetCNAME("Foo"); |
| rtcp_sender_->SetRTCPStatus(kRtcpCompound); |
| RTCPSender::FeedbackState feedback_state = rtp_rtcp_impl_->GetFeedbackState(); |
| EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state, kRtcpRr)); |
| - // Transmission time offset packet should be received. |
| + // Sdes packet should be received, along with report blocks. |
| ASSERT_TRUE(test_transport_->rtcp_packet_info_.rtcpPacketTypeFlags & |
| - kRtcpTransmissionTimeOffset); |
| + kRtcpSdes); |
| + EXPECT_GT(test_transport_->rtcp_packet_info_.report_blocks.size(), 0u); |
| } |
| TEST_F(RtcpSenderTest, TestCompound_NoRtpReceived) { |
| - rtcp_sender_->SetIJStatus(true); |
| + rtcp_sender_->SetCNAME("Foo"); |
| rtcp_sender_->SetRTCPStatus(kRtcpCompound); |
| RTCPSender::FeedbackState feedback_state = rtp_rtcp_impl_->GetFeedbackState(); |
| EXPECT_EQ(0, rtcp_sender_->SendRTCP(feedback_state, kRtcpRr)); |
| - // Transmission time offset packet should not be received. |
| - ASSERT_FALSE(test_transport_->rtcp_packet_info_.rtcpPacketTypeFlags & |
| - kRtcpTransmissionTimeOffset); |
| + // Sdes should be received, but no report blocks. |
| + ASSERT_TRUE(test_transport_->rtcp_packet_info_.rtcpPacketTypeFlags & |
| + kRtcpSdes); |
| + EXPECT_EQ(0u, test_transport_->rtcp_packet_info_.report_blocks.size()); |
| } |
| TEST_F(RtcpSenderTest, TestXrReceiverReferenceTime) { |
| @@ -514,4 +516,6 @@ TEST_F(RtcpSenderTest, SendsTmmbnIfSetAndValid) { |
| &incoming_set)); |
| EXPECT_EQ(kSourceSsrc, incoming_set.Ssrc(0)); |
| } |
| + |
| +} // namespace |
| } // namespace webrtc |