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

Side by Side Diff: media/cast/net/rtcp/rtcp_sender_unittest.cc

Issue 387933005: Cast: Refactor RTCP handling (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: smaller diff Created 6 years, 5 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/memory/scoped_ptr.h" 5 #include "base/memory/scoped_ptr.h"
6 #include "base/test/simple_test_tick_clock.h" 6 #include "base/test/simple_test_tick_clock.h"
7 #include "media/cast/cast_defines.h" 7 #include "media/cast/cast_defines.h"
8 #include "media/cast/cast_environment.h" 8 #include "media/cast/cast_environment.h"
9 #include "media/cast/net/cast_transport_defines.h" 9 #include "media/cast/net/cast_transport_defines.h"
10 #include "media/cast/net/pacing/paced_sender.h" 10 #include "media/cast/net/pacing/paced_sender.h"
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 class RtcpSenderTest : public ::testing::Test { 85 class RtcpSenderTest : public ::testing::Test {
86 protected: 86 protected:
87 RtcpSenderTest() 87 RtcpSenderTest()
88 : testing_clock_(new base::SimpleTestTickClock()), 88 : testing_clock_(new base::SimpleTestTickClock()),
89 task_runner_(new test::FakeSingleThreadTaskRunner(testing_clock_)), 89 task_runner_(new test::FakeSingleThreadTaskRunner(testing_clock_)),
90 cast_environment_(new CastEnvironment( 90 cast_environment_(new CastEnvironment(
91 scoped_ptr<base::TickClock>(testing_clock_).Pass(), 91 scoped_ptr<base::TickClock>(testing_clock_).Pass(),
92 task_runner_, 92 task_runner_,
93 task_runner_, 93 task_runner_,
94 task_runner_)), 94 task_runner_)),
95 rtcp_sender_(new RtcpSender(cast_environment_, 95 rtcp_sender_(new RtcpSender(&test_transport_, kSendingSsrc, kCName)) {}
96 &test_transport_,
97 kSendingSsrc,
98 kCName)) {}
99 96
100 base::SimpleTestTickClock* testing_clock_; // Owned by CastEnvironment. 97 base::SimpleTestTickClock* testing_clock_; // Owned by CastEnvironment.
101 TestRtcpTransport test_transport_; 98 TestRtcpTransport test_transport_;
102 scoped_refptr<test::FakeSingleThreadTaskRunner> task_runner_; 99 scoped_refptr<test::FakeSingleThreadTaskRunner> task_runner_;
103 scoped_refptr<CastEnvironment> cast_environment_; 100 scoped_refptr<CastEnvironment> cast_environment_;
104 scoped_ptr<RtcpSender> rtcp_sender_; 101 scoped_ptr<RtcpSender> rtcp_sender_;
105 102
106 DISALLOW_COPY_AND_ASSIGN(RtcpSenderTest); 103 DISALLOW_COPY_AND_ASSIGN(RtcpSenderTest);
107 }; 104 };
108 105
(...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after
546 kDefaultDelay); 543 kDefaultDelay);
547 544
548 testing_clock.Advance( 545 testing_clock.Advance(
549 base::TimeDelta::FromMilliseconds(kTimeBetweenEventsMs)); 546 base::TimeDelta::FromMilliseconds(kTimeBetweenEventsMs));
550 time_base_ms += kTimeBetweenEventsMs; 547 time_base_ms += kTimeBetweenEventsMs;
551 } 548 }
552 549
553 EXPECT_EQ(static_cast<int>(packet_count), test_transport_.packet_count()); 550 EXPECT_EQ(static_cast<int>(packet_count), test_transport_.packet_count());
554 } 551 }
555 552
553 TEST_F(RtcpSenderTest, RtcpSenderReport) {
554 RtcpSenderInfo sender_info;
555 sender_info.ntp_seconds = kNtpHigh;
556 sender_info.ntp_fraction = kNtpLow;
557 sender_info.rtp_timestamp = kRtpTimestamp;
558 sender_info.send_packet_count = kSendPacketCount;
559 sender_info.send_octet_count = kSendOctetCount;
560
561 RtcpDlrrReportBlock dlrr_rb;
562 dlrr_rb.last_rr = kLastRr;
563 dlrr_rb.delay_since_last_rr = kDelayLastRr;
564
565 // Sender report + c_name.
566 TestRtcpPacketBuilder p;
567 p.AddSr(kSendingSsrc, 0);
568 p.AddSdesCname(kSendingSsrc, kCName);
569 test_transport_.SetExpectedRtcpPacket(p.GetPacket().Pass());
570
571 rtcp_sender_->SendRtcpFromRtpSender(kRtcpSr,
572 sender_info,
573 dlrr_rb);
574
575 EXPECT_EQ(1, test_transport_.packet_count());
576 }
577
578 TEST_F(RtcpSenderTest, RtcpSenderReportWithDlrr) {
579 RtcpSenderInfo sender_info;
580 sender_info.ntp_seconds = kNtpHigh;
581 sender_info.ntp_fraction = kNtpLow;
582 sender_info.rtp_timestamp = kRtpTimestamp;
583 sender_info.send_packet_count = kSendPacketCount;
584 sender_info.send_octet_count = kSendOctetCount;
585
586 // Sender report + c_name + dlrr.
587 TestRtcpPacketBuilder p1;
588 p1.AddSr(kSendingSsrc, 0);
589 p1.AddSdesCname(kSendingSsrc, kCName);
590 p1.AddXrHeader(kSendingSsrc);
591 p1.AddXrDlrrBlock(kSendingSsrc);
592 test_transport_.SetExpectedRtcpPacket(p1.GetPacket().Pass());
593
594 RtcpDlrrReportBlock dlrr_rb;
595 dlrr_rb.last_rr = kLastRr;
596 dlrr_rb.delay_since_last_rr = kDelayLastRr;
597
598 rtcp_sender_->SendRtcpFromRtpSender(
599 kRtcpSr | kRtcpDlrr,
600 sender_info,
601 dlrr_rb);
602
603 EXPECT_EQ(1, test_transport_.packet_count());
604 }
605
556 } // namespace cast 606 } // namespace cast
557 } // namespace media 607 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698