Index: media/cast/net/rtcp/rtcp_builder_unittest.cc |
diff --git a/media/cast/net/rtcp/rtcp_builder_unittest.cc b/media/cast/net/rtcp/rtcp_builder_unittest.cc |
deleted file mode 100644 |
index cab5a0bdad634606fc7eeb9c3e92bb0bc6b56aa8..0000000000000000000000000000000000000000 |
--- a/media/cast/net/rtcp/rtcp_builder_unittest.cc |
+++ /dev/null |
@@ -1,208 +0,0 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "base/memory/scoped_ptr.h" |
-#include "base/test/simple_test_tick_clock.h" |
-#include "media/cast/cast_defines.h" |
-#include "media/cast/cast_environment.h" |
-#include "media/cast/net/pacing/paced_sender.h" |
-#include "media/cast/net/rtcp/rtcp_builder.h" |
-#include "media/cast/rtcp/rtcp_utility.h" |
-#include "media/cast/rtcp/test_rtcp_packet_builder.h" |
-#include "media/cast/test/fake_task_runner.h" |
-#include "testing/gmock/include/gmock/gmock.h" |
- |
-namespace media { |
-namespace cast { |
- |
-namespace { |
-static const uint32 kSendingSsrc = 0x12345678; |
-static const std::string kCName("test@10.1.1.1"); |
-} // namespace |
- |
-class TestRtcpTransport : public PacedPacketSender { |
- public: |
- TestRtcpTransport() |
- : expected_packet_length_(0), |
- packet_count_(0) { |
- } |
- |
- virtual bool SendRtcpPacket(const Packet& packet) OVERRIDE { |
- EXPECT_EQ(expected_packet_length_, packet.size()); |
- EXPECT_EQ(0, memcmp(expected_packet_, &(packet[0]), packet.size())); |
- packet_count_++; |
- return true; |
- } |
- |
- virtual bool SendPackets(const PacketList& packets) OVERRIDE { |
- return false; |
- } |
- |
- virtual bool ResendPackets(const PacketList& packets) OVERRIDE { |
- return false; |
- } |
- |
- void SetExpectedRtcpPacket(const uint8* rtcp_buffer, size_t length) { |
- expected_packet_length_ = length; |
- memcpy(expected_packet_, rtcp_buffer, length); |
- } |
- |
- int packet_count() const { return packet_count_; } |
- |
- private: |
- uint8 expected_packet_[kIpPacketSize]; |
- size_t expected_packet_length_; |
- int packet_count_; |
-}; |
- |
-class RtcpBuilderTest : public ::testing::Test { |
- protected: |
- RtcpBuilderTest() |
- : task_runner_(new test::FakeTaskRunner(&testing_clock_)), |
- cast_environment_(new CastEnvironment(&testing_clock_, task_runner_, |
- task_runner_, task_runner_, task_runner_, task_runner_, |
- GetDefaultCastLoggingConfig())), |
- rtcp_builder_(new RtcpBuilder(&test_transport_, kSendingSsrc, kCName)) { |
- } |
- |
- base::SimpleTestTickClock testing_clock_; |
- TestRtcpTransport test_transport_; |
- scoped_refptr<test::FakeTaskRunner> task_runner_; |
- scoped_refptr<CastEnvironment> cast_environment_; |
- scoped_ptr<RtcpBuilder> rtcp_builder_; |
-}; |
- |
-TEST_F(RtcpBuilderTest, RtcpSenderReport) { |
- RtcpSenderInfo sender_info; |
- sender_info.ntp_seconds = kNtpHigh; |
- sender_info.ntp_fraction = kNtpLow; |
- sender_info.rtp_timestamp = kRtpTimestamp; |
- sender_info.send_packet_count = kSendPacketCount; |
- sender_info.send_octet_count = kSendOctetCount; |
- |
- // Sender report + c_name. |
- TestRtcpPacketBuilder p; |
- p.AddSr(kSendingSsrc, 0); |
- p.AddSdesCname(kSendingSsrc, kCName); |
- test_transport_.SetExpectedRtcpPacket(p.Packet(), p.Length()); |
- |
- rtcp_builder_->SendRtcpFromRtpSender(RtcpBuilder::kRtcpSr, |
- &sender_info, |
- NULL, |
- NULL); |
- |
- EXPECT_EQ(1, test_transport_.packet_count()); |
-} |
- |
-TEST_F(RtcpBuilderTest, RtcpSenderReportWithDlrr) { |
- RtcpSenderInfo sender_info; |
- sender_info.ntp_seconds = kNtpHigh; |
- sender_info.ntp_fraction = kNtpLow; |
- sender_info.rtp_timestamp = kRtpTimestamp; |
- sender_info.send_packet_count = kSendPacketCount; |
- sender_info.send_octet_count = kSendOctetCount; |
- |
- // Sender report + c_name + dlrr. |
- TestRtcpPacketBuilder p1; |
- p1.AddSr(kSendingSsrc, 0); |
- p1.AddSdesCname(kSendingSsrc, kCName); |
- p1.AddXrHeader(kSendingSsrc); |
- p1.AddXrDlrrBlock(kSendingSsrc); |
- test_transport_.SetExpectedRtcpPacket(p1.Packet(), p1.Length()); |
- |
- RtcpDlrrReportBlock dlrr_rb; |
- dlrr_rb.last_rr = kLastRr; |
- dlrr_rb.delay_since_last_rr = kDelayLastRr; |
- |
- rtcp_builder_->SendRtcpFromRtpSender( |
- RtcpBuilder::kRtcpSr | RtcpBuilder::kRtcpDlrr, |
- &sender_info, |
- &dlrr_rb, |
- NULL); |
- |
- EXPECT_EQ(1, test_transport_.packet_count()); |
-} |
- |
-TEST_F(RtcpBuilderTest, RtcpSenderReportWithDlrrAndLog) { |
- RtcpSenderInfo sender_info; |
- sender_info.ntp_seconds = kNtpHigh; |
- sender_info.ntp_fraction = kNtpLow; |
- sender_info.rtp_timestamp = kRtpTimestamp; |
- sender_info.send_packet_count = kSendPacketCount; |
- sender_info.send_octet_count = kSendOctetCount; |
- |
- // Sender report + c_name + dlrr + sender log. |
- TestRtcpPacketBuilder p; |
- p.AddSr(kSendingSsrc, 0); |
- p.AddSdesCname(kSendingSsrc, kCName); |
- p.AddXrHeader(kSendingSsrc); |
- p.AddXrDlrrBlock(kSendingSsrc); |
- p.AddSenderLog(kSendingSsrc); |
- p.AddSenderFrameLog(kRtcpSenderFrameStatusSentToNetwork, kRtpTimestamp); |
- |
- test_transport_.SetExpectedRtcpPacket(p.Packet(), p.Length()); |
- |
- RtcpDlrrReportBlock dlrr_rb; |
- dlrr_rb.last_rr = kLastRr; |
- dlrr_rb.delay_since_last_rr = kDelayLastRr; |
- |
- RtcpSenderFrameLogMessage sender_frame_log; |
- sender_frame_log.frame_status = kRtcpSenderFrameStatusSentToNetwork; |
- sender_frame_log.rtp_timestamp = kRtpTimestamp; |
- |
- RtcpSenderLogMessage sender_log; |
- sender_log.push_back(sender_frame_log); |
- |
- rtcp_builder_->SendRtcpFromRtpSender( |
- RtcpBuilder::kRtcpSr | RtcpBuilder::kRtcpDlrr | |
- RtcpBuilder::kRtcpSenderLog, |
- &sender_info, |
- &dlrr_rb, |
- &sender_log); |
- |
- EXPECT_EQ(1, test_transport_.packet_count()); |
- EXPECT_TRUE(sender_log.empty()); |
-} |
- |
-TEST_F(RtcpBuilderTest, RtcpSenderReporWithTooManyLogFrames) { |
- RtcpSenderInfo sender_info; |
- sender_info.ntp_seconds = kNtpHigh; |
- sender_info.ntp_fraction = kNtpLow; |
- sender_info.rtp_timestamp = kRtpTimestamp; |
- sender_info.send_packet_count = kSendPacketCount; |
- sender_info.send_octet_count = kSendOctetCount; |
- |
- // Sender report + c_name + sender log. |
- TestRtcpPacketBuilder p; |
- p.AddSr(kSendingSsrc, 0); |
- p.AddSdesCname(kSendingSsrc, kCName); |
- p.AddSenderLog(kSendingSsrc); |
- |
- for (int i = 0; i < 359; ++i) { |
- p.AddSenderFrameLog(kRtcpSenderFrameStatusSentToNetwork, |
- kRtpTimestamp + i * 90); |
- } |
- test_transport_.SetExpectedRtcpPacket(p.Packet(), p.Length()); |
- |
- |
- RtcpSenderLogMessage sender_log; |
- for (int j = 0; j < 400; ++j) { |
- RtcpSenderFrameLogMessage sender_frame_log; |
- sender_frame_log.frame_status = kRtcpSenderFrameStatusSentToNetwork; |
- sender_frame_log.rtp_timestamp = kRtpTimestamp + j * 90; |
- sender_log.push_back(sender_frame_log); |
- } |
- |
- rtcp_builder_->SendRtcpFromRtpSender( |
- RtcpBuilder::kRtcpSr | RtcpBuilder::kRtcpSenderLog, |
- &sender_info, |
- NULL, |
- &sender_log); |
- |
- EXPECT_EQ(1, test_transport_.packet_count()); |
- EXPECT_EQ(41u, sender_log.size()); |
-} |
- |
-} // namespace cast |
-} // namespace media |