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

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

Issue 427733002: Cast: Remove unused RTCP messages (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merged Created 6 years, 4 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
« no previous file with comments | « media/cast/net/rtcp/rtcp_builder.cc ('k') | media/cast/net/rtcp/rtcp_defines.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/pacing/paced_sender.h" 9 #include "media/cast/net/pacing/paced_sender.h"
10 #include "media/cast/net/rtcp/rtcp_builder.h" 10 #include "media/cast/net/rtcp/rtcp_builder.h"
11 #include "media/cast/net/rtcp/rtcp_utility.h" 11 #include "media/cast/net/rtcp/rtcp_utility.h"
12 #include "media/cast/net/rtcp/test_rtcp_packet_builder.h" 12 #include "media/cast/net/rtcp/test_rtcp_packet_builder.h"
13 #include "media/cast/test/fake_single_thread_task_runner.h" 13 #include "media/cast/test/fake_single_thread_task_runner.h"
14 #include "testing/gmock/include/gmock/gmock.h" 14 #include "testing/gmock/include/gmock/gmock.h"
15 15
16 namespace media { 16 namespace media {
17 namespace cast { 17 namespace cast {
18 18
19 namespace { 19 namespace {
20 static const uint32 kSendingSsrc = 0x12345678; 20 static const uint32 kSendingSsrc = 0x12345678;
21 static const std::string kCName("test@10.1.1.1");
22 } // namespace 21 } // namespace
23 22
24 class TestRtcpTransport : public PacedPacketSender { 23 class TestRtcpTransport : public PacedPacketSender {
25 public: 24 public:
26 TestRtcpTransport() 25 TestRtcpTransport()
27 : expected_packet_length_(0), 26 : expected_packet_length_(0),
28 packet_count_(0) { 27 packet_count_(0) {
29 } 28 }
30 29
31 virtual bool SendRtcpPacket(const Packet& packet) OVERRIDE { 30 virtual bool SendRtcpPacket(const Packet& packet) OVERRIDE {
(...skipping 24 matching lines...) Expand all
56 int packet_count_; 55 int packet_count_;
57 }; 56 };
58 57
59 class RtcpBuilderTest : public ::testing::Test { 58 class RtcpBuilderTest : public ::testing::Test {
60 protected: 59 protected:
61 RtcpBuilderTest() 60 RtcpBuilderTest()
62 : task_runner_(new test::FakeSingleThreadTaskRunner(&testing_clock_)), 61 : task_runner_(new test::FakeSingleThreadTaskRunner(&testing_clock_)),
63 cast_environment_(new CastEnvironment(&testing_clock_, task_runner_, 62 cast_environment_(new CastEnvironment(&testing_clock_, task_runner_,
64 task_runner_, task_runner_, task_runner_, task_runner_, 63 task_runner_, task_runner_, task_runner_, task_runner_,
65 GetDefaultCastSenderLoggingConfig())), 64 GetDefaultCastSenderLoggingConfig())),
66 rtcp_builder_(new RtcpBuilder(&test_transport_, kSendingSsrc, kCName)) { 65 rtcp_builder_(new RtcpBuilder(&test_transport_, kSendingSsrc)) {
67 } 66 }
68 67
69 base::SimpleTestTickClock testing_clock_; 68 base::SimpleTestTickClock testing_clock_;
70 TestRtcpTransport test_transport_; 69 TestRtcpTransport test_transport_;
71 scoped_refptr<test::FakeSingleThreadTaskRunner> task_runner_; 70 scoped_refptr<test::FakeSingleThreadTaskRunner> task_runner_;
72 scoped_refptr<CastEnvironment> cast_environment_; 71 scoped_refptr<CastEnvironment> cast_environment_;
73 scoped_ptr<RtcpBuilder> rtcp_builder_; 72 scoped_ptr<RtcpBuilder> rtcp_builder_;
74 }; 73 };
75 74
76 TEST_F(RtcpBuilderTest, RtcpSenderReport) { 75 TEST_F(RtcpBuilderTest, RtcpSenderReport) {
77 RtcpSenderInfo sender_info; 76 RtcpSenderInfo sender_info;
78 sender_info.ntp_seconds = kNtpHigh; 77 sender_info.ntp_seconds = kNtpHigh;
79 sender_info.ntp_fraction = kNtpLow; 78 sender_info.ntp_fraction = kNtpLow;
80 sender_info.rtp_timestamp = kRtpTimestamp; 79 sender_info.rtp_timestamp = kRtpTimestamp;
81 sender_info.send_packet_count = kSendPacketCount; 80 sender_info.send_packet_count = kSendPacketCount;
82 sender_info.send_octet_count = kSendOctetCount; 81 sender_info.send_octet_count = kSendOctetCount;
83 82
84 // Sender report + c_name. 83 // Sender report.
85 TestRtcpPacketBuilder p; 84 TestRtcpPacketBuilder p;
86 p.AddSr(kSendingSsrc, 0); 85 p.AddSr(kSendingSsrc, 0);
87 p.AddSdesCname(kSendingSsrc, kCName);
88 test_transport_.SetExpectedRtcpPacket(p.Packet(), p.Length()); 86 test_transport_.SetExpectedRtcpPacket(p.Packet(), p.Length());
89 87
90 rtcp_builder_->SendRtcpFromRtpSender(RtcpBuilder::kRtcpSr, 88 rtcp_builder_->SendRtcpFromRtpSender(RtcpBuilder::kRtcpSr,
91 &sender_info, 89 &sender_info,
92 NULL, 90 NULL,
93 NULL, 91 NULL,
94 kSendingSsrc, 92 kSendingSsrc);
95 kCName);
96 93
97 EXPECT_EQ(1, test_transport_.packet_count()); 94 EXPECT_EQ(1, test_transport_.packet_count());
98 } 95 }
99 96
100 TEST_F(RtcpBuilderTest, RtcpSenderReportWithDlrr) { 97 TEST_F(RtcpBuilderTest, RtcpSenderReportWithDlrr) {
101 RtcpSenderInfo sender_info; 98 RtcpSenderInfo sender_info;
102 sender_info.ntp_seconds = kNtpHigh; 99 sender_info.ntp_seconds = kNtpHigh;
103 sender_info.ntp_fraction = kNtpLow; 100 sender_info.ntp_fraction = kNtpLow;
104 sender_info.rtp_timestamp = kRtpTimestamp; 101 sender_info.rtp_timestamp = kRtpTimestamp;
105 sender_info.send_packet_count = kSendPacketCount; 102 sender_info.send_packet_count = kSendPacketCount;
106 sender_info.send_octet_count = kSendOctetCount; 103 sender_info.send_octet_count = kSendOctetCount;
107 104
108 // Sender report + c_name + dlrr. 105 // Sender report + dlrr.
109 TestRtcpPacketBuilder p1; 106 TestRtcpPacketBuilder p1;
110 p1.AddSr(kSendingSsrc, 0); 107 p1.AddSr(kSendingSsrc, 0);
111 p1.AddSdesCname(kSendingSsrc, kCName); 108 p1.AddSdesCname(kSendingSsrc);
112 p1.AddXrHeader(kSendingSsrc); 109 p1.AddXrHeader(kSendingSsrc);
113 p1.AddXrDlrrBlock(kSendingSsrc); 110 p1.AddXrDlrrBlock(kSendingSsrc);
114 test_transport_.SetExpectedRtcpPacket(p1.Packet(), p1.Length()); 111 test_transport_.SetExpectedRtcpPacket(p1.Packet(), p1.Length());
115 112
116 RtcpDlrrReportBlock dlrr_rb; 113 RtcpDlrrReportBlock dlrr_rb;
117 dlrr_rb.last_rr = kLastRr; 114 dlrr_rb.last_rr = kLastRr;
118 dlrr_rb.delay_since_last_rr = kDelayLastRr; 115 dlrr_rb.delay_since_last_rr = kDelayLastRr;
119 116
120 rtcp_builder_->SendRtcpFromRtpSender( 117 rtcp_builder_->SendRtcpFromRtpSender(
121 RtcpBuilder::kRtcpSr | RtcpBuilder::kRtcpDlrr, 118 RtcpBuilder::kRtcpSr | RtcpBuilder::kRtcpDlrr,
122 &sender_info, 119 &sender_info,
123 &dlrr_rb, 120 &dlrr_rb,
124 NULL, 121 NULL,
125 kSendingSsrc, 122 kSendingSsrc);
126 kCName);
127 123
128 EXPECT_EQ(1, test_transport_.packet_count()); 124 EXPECT_EQ(1, test_transport_.packet_count());
129 } 125 }
130 126
131 TEST_F(RtcpBuilderTest, RtcpSenderReportWithDlrr) { 127 TEST_F(RtcpBuilderTest, RtcpSenderReportWithDlrr) {
132 RtcpSenderInfo sender_info; 128 RtcpSenderInfo sender_info;
133 sender_info.ntp_seconds = kNtpHigh; 129 sender_info.ntp_seconds = kNtpHigh;
134 sender_info.ntp_fraction = kNtpLow; 130 sender_info.ntp_fraction = kNtpLow;
135 sender_info.rtp_timestamp = kRtpTimestamp; 131 sender_info.rtp_timestamp = kRtpTimestamp;
136 sender_info.send_packet_count = kSendPacketCount; 132 sender_info.send_packet_count = kSendPacketCount;
137 sender_info.send_octet_count = kSendOctetCount; 133 sender_info.send_octet_count = kSendOctetCount;
138 134
139 // Sender report + c_name + dlrr + sender log. 135 // Sender report + + dlrr + sender log.
140 TestRtcpPacketBuilder p; 136 TestRtcpPacketBuilder p;
141 p.AddSr(kSendingSsrc, 0); 137 p.AddSr(kSendingSsrc, 0);
142 p.AddSdesCname(kSendingSsrc, kCName); 138 p.AddSdesCname(kSendingSsrc);
143 p.AddXrHeader(kSendingSsrc); 139 p.AddXrHeader(kSendingSsrc);
144 p.AddXrDlrrBlock(kSendingSsrc); 140 p.AddXrDlrrBlock(kSendingSsrc);
145 141
146 test_transport_.SetExpectedRtcpPacket(p.Packet(), p.Length()); 142 test_transport_.SetExpectedRtcpPacket(p.Packet(), p.Length());
147 143
148 RtcpDlrrReportBlock dlrr_rb; 144 RtcpDlrrReportBlock dlrr_rb;
149 dlrr_rb.last_rr = kLastRr; 145 dlrr_rb.last_rr = kLastRr;
150 dlrr_rb.delay_since_last_rr = kDelayLastRr; 146 dlrr_rb.delay_since_last_rr = kDelayLastRr;
151 147
152 rtcp_builder_->SendRtcpFromRtpSender( 148 rtcp_builder_->SendRtcpFromRtpSender(
153 RtcpBuilder::kRtcpSr | RtcpBuilder::kRtcpDlrr | 149 RtcpBuilder::kRtcpSr | RtcpBuilder::kRtcpDlrr |
154 RtcpBuilder::kRtcpSenderLog, 150 RtcpBuilder::kRtcpSenderLog,
155 &sender_info, 151 &sender_info,
156 &dlrr_rb, 152 &dlrr_rb,
157 kSendingSsrc, 153 kSendingSsrc);
158 kCName);
159 154
160 EXPECT_EQ(1, test_transport_.packet_count()); 155 EXPECT_EQ(1, test_transport_.packet_count());
161 } 156 }
162 157
163 } // namespace cast 158 } // namespace cast
164 } // namespace media 159 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/net/rtcp/rtcp_builder.cc ('k') | media/cast/net/rtcp/rtcp_defines.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698