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

Side by Side Diff: media/cast/rtcp/rtcp_unittest.cc

Issue 69603002: Incorporating logging into Cast (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Adding scoped_ptr include Created 7 years, 1 month 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/rtcp/rtcp_sender_unittest.cc ('k') | media/cast/rtcp/test_rtcp_packet_builder.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 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/test/simple_test_tick_clock.h" 5 #include "base/test/simple_test_tick_clock.h"
6 #include "media/cast/cast_defines.h" 6 #include "media/cast/cast_defines.h"
7 #include "media/cast/cast_environment.h"
7 #include "media/cast/pacing/paced_sender.h" 8 #include "media/cast/pacing/paced_sender.h"
8 #include "media/cast/rtcp/mock_rtcp_receiver_feedback.h" 9 #include "media/cast/rtcp/mock_rtcp_receiver_feedback.h"
9 #include "media/cast/rtcp/mock_rtcp_sender_feedback.h" 10 #include "media/cast/rtcp/mock_rtcp_sender_feedback.h"
10 #include "media/cast/rtcp/rtcp.h" 11 #include "media/cast/rtcp/rtcp.h"
11 #include "media/cast/rtcp/test_rtcp_packet_builder.h" 12 #include "media/cast/rtcp/test_rtcp_packet_builder.h"
13 #include "media/cast/test/fake_task_runner.h"
12 #include "testing/gmock/include/gmock/gmock.h" 14 #include "testing/gmock/include/gmock/gmock.h"
13 15
14 namespace media { 16 namespace media {
15 namespace cast { 17 namespace cast {
16 18
17 using testing::_; 19 using testing::_;
18 20
19 static const uint32 kSenderSsrc = 0x10203; 21 static const uint32 kSenderSsrc = 0x10203;
20 static const uint32 kReceiverSsrc = 0x40506; 22 static const uint32 kReceiverSsrc = 0x40506;
21 static const std::string kCName("test@10.1.1.1"); 23 static const std::string kCName("test@10.1.1.1");
22 static const uint32 kRtcpIntervalMs = 500; 24 static const uint32 kRtcpIntervalMs = 500;
23 static const int64 kStartMillisecond = GG_INT64_C(12345678900000); 25 static const int64 kStartMillisecond = GG_INT64_C(12345678900000);
24 static const int64 kAddedDelay = 123; 26 static const int64 kAddedDelay = 123;
25 static const int64 kAddedShortDelay= 100; 27 static const int64 kAddedShortDelay= 100;
26 28
27 class LocalRtcpTransport : public PacedPacketSender { 29 class LocalRtcpTransport : public PacedPacketSender {
28 public: 30 public:
29 explicit LocalRtcpTransport(base::SimpleTestTickClock* testing_clock) 31 explicit LocalRtcpTransport(scoped_refptr<CastEnvironment> cast_environment,
32 base::SimpleTestTickClock* testing_clock)
30 : drop_packets_(false), 33 : drop_packets_(false),
31 short_delay_(false), 34 short_delay_(false),
32 testing_clock_(testing_clock) {} 35 testing_clock_(testing_clock) {}
33 36
34 void SetRtcpReceiver(Rtcp* rtcp) { rtcp_ = rtcp; } 37 void SetRtcpReceiver(Rtcp* rtcp) { rtcp_ = rtcp; }
35 38
36 void SetShortDelay() { short_delay_ = true; } 39 void SetShortDelay() { short_delay_ = true; }
37 40
38 void SetDropPackets(bool drop_packets) { drop_packets_ = drop_packets; } 41 void SetDropPackets(bool drop_packets) { drop_packets_ = drop_packets; }
39 42
(...skipping 17 matching lines...) Expand all
57 60
58 virtual bool ResendPackets(const PacketList& packets) OVERRIDE { 61 virtual bool ResendPackets(const PacketList& packets) OVERRIDE {
59 return false; 62 return false;
60 } 63 }
61 64
62 private: 65 private:
63 bool drop_packets_; 66 bool drop_packets_;
64 bool short_delay_; 67 bool short_delay_;
65 Rtcp* rtcp_; 68 Rtcp* rtcp_;
66 base::SimpleTestTickClock* testing_clock_; 69 base::SimpleTestTickClock* testing_clock_;
70 scoped_refptr<CastEnvironment> cast_environment_;
67 }; 71 };
68 72
69 class RtcpPeer : public Rtcp { 73 class RtcpPeer : public Rtcp {
70 public: 74 public:
71 RtcpPeer(base::TickClock* clock, 75 RtcpPeer(scoped_refptr<CastEnvironment> cast_environment,
72 RtcpSenderFeedback* sender_feedback, 76 RtcpSenderFeedback* sender_feedback,
73 PacedPacketSender* const paced_packet_sender, 77 PacedPacketSender* const paced_packet_sender,
74 RtpSenderStatistics* rtp_sender_statistics, 78 RtpSenderStatistics* rtp_sender_statistics,
75 RtpReceiverStatistics* rtp_receiver_statistics, 79 RtpReceiverStatistics* rtp_receiver_statistics,
76 RtcpMode rtcp_mode, 80 RtcpMode rtcp_mode,
77 const base::TimeDelta& rtcp_interval, 81 const base::TimeDelta& rtcp_interval,
78 uint32 local_ssrc, 82 uint32 local_ssrc,
79 uint32 remote_ssrc, 83 uint32 remote_ssrc,
80 const std::string& c_name) 84 const std::string& c_name)
81 : Rtcp(clock, 85 : Rtcp(cast_environment,
82 sender_feedback, 86 sender_feedback,
83 paced_packet_sender, 87 paced_packet_sender,
84 rtp_sender_statistics, 88 rtp_sender_statistics,
85 rtp_receiver_statistics, 89 rtp_receiver_statistics,
86 rtcp_mode, 90 rtcp_mode,
87 rtcp_interval, 91 rtcp_interval,
88 local_ssrc, 92 local_ssrc,
89 remote_ssrc, 93 remote_ssrc,
90 c_name) { 94 c_name) {
91 } 95 }
92 96
93 using Rtcp::CheckForWrapAround; 97 using Rtcp::CheckForWrapAround;
94 using Rtcp::OnReceivedLipSyncInfo; 98 using Rtcp::OnReceivedLipSyncInfo;
95 }; 99 };
96 100
97 class RtcpTest : public ::testing::Test { 101 class RtcpTest : public ::testing::Test {
98 protected: 102 protected:
99 RtcpTest() 103 RtcpTest()
100 : transport_(&testing_clock_) { 104 : task_runner_(new test::FakeTaskRunner(&testing_clock_)),
105 cast_environment_(new CastEnvironment(&testing_clock_, task_runner_,
106 task_runner_, task_runner_, task_runner_, task_runner_,
107 GetDefaultCastLoggingConfig())),
108 transport_(cast_environment_, &testing_clock_) {
101 testing_clock_.Advance( 109 testing_clock_.Advance(
102 base::TimeDelta::FromMilliseconds(kStartMillisecond)); 110 base::TimeDelta::FromMilliseconds(kStartMillisecond));
103 } 111 }
104 112
105 virtual ~RtcpTest() {} 113 virtual ~RtcpTest() {}
106 114
107 virtual void SetUp() { 115 virtual void SetUp() {
108 EXPECT_CALL(mock_sender_feedback_, OnReceivedCastFeedback(_)).Times(0); 116 EXPECT_CALL(mock_sender_feedback_, OnReceivedCastFeedback(_)).Times(0);
109 } 117 }
110 118
111 base::SimpleTestTickClock testing_clock_; 119 base::SimpleTestTickClock testing_clock_;
120 scoped_refptr<test::FakeTaskRunner> task_runner_;
121 scoped_refptr<CastEnvironment> cast_environment_;
112 LocalRtcpTransport transport_; 122 LocalRtcpTransport transport_;
113 MockRtcpSenderFeedback mock_sender_feedback_; 123 MockRtcpSenderFeedback mock_sender_feedback_;
114 }; 124 };
115 125
116 TEST_F(RtcpTest, TimeToSend) { 126 TEST_F(RtcpTest, TimeToSend) {
117 base::TimeTicks start_time; 127 base::TimeTicks start_time;
118 start_time += base::TimeDelta::FromMilliseconds(kStartMillisecond); 128 start_time += base::TimeDelta::FromMilliseconds(kStartMillisecond);
119 Rtcp rtcp(&testing_clock_, 129 Rtcp rtcp(cast_environment_,
120 &mock_sender_feedback_, 130 &mock_sender_feedback_,
121 &transport_, 131 &transport_,
122 NULL, 132 NULL,
123 NULL, 133 NULL,
124 kRtcpCompound, 134 kRtcpCompound,
125 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), 135 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs),
126 kSenderSsrc, 136 kSenderSsrc,
127 kReceiverSsrc, 137 kReceiverSsrc,
128 kCName); 138 kCName);
129 transport_.SetRtcpReceiver(&rtcp); 139 transport_.SetRtcpReceiver(&rtcp);
130 EXPECT_LE(start_time, rtcp.TimeToSendNextRtcpReport()); 140 EXPECT_LE(start_time, rtcp.TimeToSendNextRtcpReport());
131 EXPECT_GE(start_time + base::TimeDelta::FromMilliseconds( 141 EXPECT_GE(start_time + base::TimeDelta::FromMilliseconds(
132 kRtcpIntervalMs * 3 / 2), 142 kRtcpIntervalMs * 3 / 2),
133 rtcp.TimeToSendNextRtcpReport()); 143 rtcp.TimeToSendNextRtcpReport());
134 base::TimeDelta delta = rtcp.TimeToSendNextRtcpReport() - start_time; 144 base::TimeDelta delta = rtcp.TimeToSendNextRtcpReport() - start_time;
135 testing_clock_.Advance(delta); 145 testing_clock_.Advance(delta);
136 EXPECT_EQ(testing_clock_.NowTicks(), rtcp.TimeToSendNextRtcpReport()); 146 EXPECT_EQ(testing_clock_.NowTicks(), rtcp.TimeToSendNextRtcpReport());
137 } 147 }
138 148
139 TEST_F(RtcpTest, BasicSenderReport) { 149 TEST_F(RtcpTest, BasicSenderReport) {
140 Rtcp rtcp(&testing_clock_, 150 Rtcp rtcp(cast_environment_,
141 &mock_sender_feedback_, 151 &mock_sender_feedback_,
142 &transport_, 152 &transport_,
143 NULL, 153 NULL,
144 NULL, 154 NULL,
145 kRtcpCompound, 155 kRtcpCompound,
146 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), 156 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs),
147 kSenderSsrc, 157 kSenderSsrc,
148 kReceiverSsrc, 158 kReceiverSsrc,
149 kCName); 159 kCName);
150 transport_.SetRtcpReceiver(&rtcp); 160 transport_.SetRtcpReceiver(&rtcp);
151 rtcp.SendRtcpFromRtpSender(NULL); 161 rtcp.SendRtcpFromRtpSender(NULL);
152 } 162 }
153 163
154 TEST_F(RtcpTest, BasicReceiverReport) { 164 TEST_F(RtcpTest, BasicReceiverReport) {
155 Rtcp rtcp(&testing_clock_, 165 Rtcp rtcp(cast_environment_,
156 &mock_sender_feedback_, 166 &mock_sender_feedback_,
157 &transport_, 167 &transport_,
158 NULL, 168 NULL,
159 NULL, 169 NULL,
160 kRtcpCompound, 170 kRtcpCompound,
161 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), 171 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs),
162 kSenderSsrc, 172 kSenderSsrc,
163 kReceiverSsrc, 173 kReceiverSsrc,
164 kCName); 174 kCName);
165 transport_.SetRtcpReceiver(&rtcp); 175 transport_.SetRtcpReceiver(&rtcp);
166 rtcp.SendRtcpFromRtpReceiver(NULL, NULL); 176 rtcp.SendRtcpFromRtpReceiver(NULL, NULL);
167 } 177 }
168 178
169 TEST_F(RtcpTest, BasicCast) { 179 TEST_F(RtcpTest, BasicCast) {
170 EXPECT_CALL(mock_sender_feedback_, OnReceivedCastFeedback(_)).Times(1); 180 EXPECT_CALL(mock_sender_feedback_, OnReceivedCastFeedback(_)).Times(1);
171 181
172 // Media receiver. 182 // Media receiver.
173 Rtcp rtcp(&testing_clock_, 183 Rtcp rtcp(cast_environment_,
174 &mock_sender_feedback_, 184 &mock_sender_feedback_,
175 &transport_, 185 &transport_,
176 NULL, 186 NULL,
177 NULL, 187 NULL,
178 kRtcpReducedSize, 188 kRtcpReducedSize,
179 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), 189 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs),
180 kSenderSsrc, 190 kSenderSsrc,
181 kSenderSsrc, 191 kSenderSsrc,
182 kCName); 192 kCName);
183 transport_.SetRtcpReceiver(&rtcp); 193 transport_.SetRtcpReceiver(&rtcp);
184 RtcpCastMessage cast_message(kSenderSsrc); 194 RtcpCastMessage cast_message(kSenderSsrc);
185 cast_message.ack_frame_id_ = kAckFrameId; 195 cast_message.ack_frame_id_ = kAckFrameId;
186 PacketIdSet missing_packets; 196 PacketIdSet missing_packets;
187 cast_message.missing_frames_and_packets_[ 197 cast_message.missing_frames_and_packets_[
188 kLostFrameId] = missing_packets; 198 kLostFrameId] = missing_packets;
189 199
190 missing_packets.insert(kLostPacketId1); 200 missing_packets.insert(kLostPacketId1);
191 missing_packets.insert(kLostPacketId2); 201 missing_packets.insert(kLostPacketId2);
192 missing_packets.insert(kLostPacketId3); 202 missing_packets.insert(kLostPacketId3);
193 cast_message.missing_frames_and_packets_[kFrameIdWithLostPackets] = 203 cast_message.missing_frames_and_packets_[kFrameIdWithLostPackets] =
194 missing_packets; 204 missing_packets;
195 rtcp.SendRtcpFromRtpReceiver(&cast_message, NULL); 205 rtcp.SendRtcpFromRtpReceiver(&cast_message, NULL);
196 } 206 }
197 207
198 TEST_F(RtcpTest, RttReducedSizeRtcp) { 208 TEST_F(RtcpTest, RttReducedSizeRtcp) {
199 // Media receiver. 209 // Media receiver.
200 LocalRtcpTransport receiver_transport(&testing_clock_); 210 LocalRtcpTransport receiver_transport(cast_environment_, &testing_clock_);
201 Rtcp rtcp_receiver(&testing_clock_, 211 Rtcp rtcp_receiver(cast_environment_,
202 &mock_sender_feedback_, 212 &mock_sender_feedback_,
203 &receiver_transport, 213 &receiver_transport,
204 NULL, 214 NULL,
205 NULL, 215 NULL,
206 kRtcpReducedSize, 216 kRtcpReducedSize,
207 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), 217 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs),
208 kReceiverSsrc, 218 kReceiverSsrc,
209 kSenderSsrc, 219 kSenderSsrc,
210 kCName); 220 kCName);
211 221
212 // Media sender. 222 // Media sender.
213 LocalRtcpTransport sender_transport(&testing_clock_); 223 LocalRtcpTransport sender_transport(cast_environment_, &testing_clock_);
214 Rtcp rtcp_sender(&testing_clock_, 224 Rtcp rtcp_sender(cast_environment_,
215 &mock_sender_feedback_, 225 &mock_sender_feedback_,
216 &sender_transport, 226 &sender_transport,
217 NULL, 227 NULL,
218 NULL, 228 NULL,
219 kRtcpReducedSize, 229 kRtcpReducedSize,
220 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), 230 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs),
221 kSenderSsrc, 231 kSenderSsrc,
222 kReceiverSsrc, 232 kReceiverSsrc,
223 kCName); 233 kCName);
224 234
(...skipping 19 matching lines...) Expand all
244 EXPECT_TRUE(rtcp_receiver.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); 254 EXPECT_TRUE(rtcp_receiver.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt));
245 255
246 EXPECT_NEAR(2 * kAddedDelay, rtt.InMilliseconds(), 1); 256 EXPECT_NEAR(2 * kAddedDelay, rtt.InMilliseconds(), 1);
247 EXPECT_NEAR(2 * kAddedDelay, avg_rtt.InMilliseconds(), 1); 257 EXPECT_NEAR(2 * kAddedDelay, avg_rtt.InMilliseconds(), 1);
248 EXPECT_NEAR(2 * kAddedDelay, min_rtt.InMilliseconds(), 1); 258 EXPECT_NEAR(2 * kAddedDelay, min_rtt.InMilliseconds(), 1);
249 EXPECT_NEAR(2 * kAddedDelay, max_rtt.InMilliseconds(), 1); 259 EXPECT_NEAR(2 * kAddedDelay, max_rtt.InMilliseconds(), 1);
250 } 260 }
251 261
252 TEST_F(RtcpTest, Rtt) { 262 TEST_F(RtcpTest, Rtt) {
253 // Media receiver. 263 // Media receiver.
254 LocalRtcpTransport receiver_transport(&testing_clock_); 264 LocalRtcpTransport receiver_transport(cast_environment_, &testing_clock_);
255 Rtcp rtcp_receiver(&testing_clock_, 265 Rtcp rtcp_receiver(cast_environment_,
256 &mock_sender_feedback_, 266 &mock_sender_feedback_,
257 &receiver_transport, 267 &receiver_transport,
258 NULL, 268 NULL,
259 NULL, 269 NULL,
260 kRtcpCompound, 270 kRtcpCompound,
261 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), 271 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs),
262 kReceiverSsrc, 272 kReceiverSsrc,
263 kSenderSsrc, 273 kSenderSsrc,
264 kCName); 274 kCName);
265 275
266 // Media sender. 276 // Media sender.
267 LocalRtcpTransport sender_transport(&testing_clock_); 277 LocalRtcpTransport sender_transport(cast_environment_, &testing_clock_);
268 Rtcp rtcp_sender(&testing_clock_, 278 Rtcp rtcp_sender(cast_environment_,
269 &mock_sender_feedback_, 279 &mock_sender_feedback_,
270 &sender_transport, 280 &sender_transport,
271 NULL, 281 NULL,
272 NULL, 282 NULL,
273 kRtcpCompound, 283 kRtcpCompound,
274 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), 284 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs),
275 kSenderSsrc, 285 kSenderSsrc,
276 kReceiverSsrc, 286 kReceiverSsrc,
277 kCName); 287 kCName);
278 288
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 340
331 rtcp_receiver.SendRtcpFromRtpReceiver(NULL, NULL); 341 rtcp_receiver.SendRtcpFromRtpReceiver(NULL, NULL);
332 EXPECT_TRUE(rtcp_sender.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); 342 EXPECT_TRUE(rtcp_sender.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt));
333 EXPECT_NEAR(2 * kAddedShortDelay, rtt.InMilliseconds(), 1); 343 EXPECT_NEAR(2 * kAddedShortDelay, rtt.InMilliseconds(), 1);
334 EXPECT_NEAR(2 * kAddedShortDelay, min_rtt.InMilliseconds(), 1); 344 EXPECT_NEAR(2 * kAddedShortDelay, min_rtt.InMilliseconds(), 1);
335 EXPECT_NEAR(2 * kAddedDelay, max_rtt.InMilliseconds(), 1); 345 EXPECT_NEAR(2 * kAddedDelay, max_rtt.InMilliseconds(), 1);
336 } 346 }
337 347
338 TEST_F(RtcpTest, RttWithPacketLoss) { 348 TEST_F(RtcpTest, RttWithPacketLoss) {
339 // Media receiver. 349 // Media receiver.
340 LocalRtcpTransport receiver_transport(&testing_clock_); 350 LocalRtcpTransport receiver_transport(cast_environment_, &testing_clock_);
341 Rtcp rtcp_receiver(&testing_clock_, 351 Rtcp rtcp_receiver(cast_environment_,
342 &mock_sender_feedback_, 352 &mock_sender_feedback_,
343 &receiver_transport, 353 &receiver_transport,
344 NULL, 354 NULL,
345 NULL, 355 NULL,
346 kRtcpReducedSize, 356 kRtcpReducedSize,
347 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), 357 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs),
348 kSenderSsrc, 358 kSenderSsrc,
349 kReceiverSsrc, 359 kReceiverSsrc,
350 kCName); 360 kCName);
351 361
352 // Media sender. 362 // Media sender.
353 LocalRtcpTransport sender_transport(&testing_clock_); 363 LocalRtcpTransport sender_transport(cast_environment_, &testing_clock_);
354 Rtcp rtcp_sender(&testing_clock_, 364 Rtcp rtcp_sender(cast_environment_,
355 &mock_sender_feedback_, 365 &mock_sender_feedback_,
356 &sender_transport, 366 &sender_transport,
357 NULL, 367 NULL,
358 NULL, 368 NULL,
359 kRtcpReducedSize, 369 kRtcpReducedSize,
360 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), 370 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs),
361 kReceiverSsrc, 371 kReceiverSsrc,
362 kSenderSsrc, 372 kSenderSsrc,
363 kCName); 373 kCName);
364 374
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
430 ConvertTimeTicksToNtp(input_time, &ntp_seconds_3, &ntp_fractions_3); 440 ConvertTimeTicksToNtp(input_time, &ntp_seconds_3, &ntp_fractions_3);
431 base::TimeTicks out_3 = ConvertNtpToTimeTicks(ntp_seconds_3, ntp_fractions_3); 441 base::TimeTicks out_3 = ConvertNtpToTimeTicks(ntp_seconds_3, ntp_fractions_3);
432 EXPECT_EQ(input_time, out_3); // Verify inverse. 442 EXPECT_EQ(input_time, out_3); // Verify inverse.
433 443
434 // Verify delta. 444 // Verify delta.
435 EXPECT_EQ((out_3 - out_2), time_delta); 445 EXPECT_EQ((out_3 - out_2), time_delta);
436 EXPECT_NEAR((ntp_fractions_3 - ntp_fractions_2), 0xffffffff / 2, 1); 446 EXPECT_NEAR((ntp_fractions_3 - ntp_fractions_2), 0xffffffff / 2, 1);
437 } 447 }
438 448
439 TEST_F(RtcpTest, WrapAround) { 449 TEST_F(RtcpTest, WrapAround) {
440 RtcpPeer rtcp_peer(&testing_clock_, 450 RtcpPeer rtcp_peer(cast_environment_,
441 &mock_sender_feedback_, 451 &mock_sender_feedback_,
442 NULL, 452 NULL,
443 NULL, 453 NULL,
444 NULL, 454 NULL,
445 kRtcpReducedSize, 455 kRtcpReducedSize,
446 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), 456 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs),
447 kReceiverSsrc, 457 kReceiverSsrc,
448 kSenderSsrc, 458 kSenderSsrc,
449 kCName); 459 kCName);
450 uint32 new_timestamp = 0; 460 uint32 new_timestamp = 0;
451 uint32 old_timestamp = 0; 461 uint32 old_timestamp = 0;
452 EXPECT_EQ(0, rtcp_peer.CheckForWrapAround(new_timestamp, old_timestamp)); 462 EXPECT_EQ(0, rtcp_peer.CheckForWrapAround(new_timestamp, old_timestamp));
453 new_timestamp = 1234567890; 463 new_timestamp = 1234567890;
454 old_timestamp = 1234567000; 464 old_timestamp = 1234567000;
455 EXPECT_EQ(0, rtcp_peer.CheckForWrapAround(new_timestamp, old_timestamp)); 465 EXPECT_EQ(0, rtcp_peer.CheckForWrapAround(new_timestamp, old_timestamp));
456 new_timestamp = 1234567000; 466 new_timestamp = 1234567000;
457 old_timestamp = 1234567890; 467 old_timestamp = 1234567890;
458 EXPECT_EQ(0, rtcp_peer.CheckForWrapAround(new_timestamp, old_timestamp)); 468 EXPECT_EQ(0, rtcp_peer.CheckForWrapAround(new_timestamp, old_timestamp));
459 new_timestamp = 123; 469 new_timestamp = 123;
460 old_timestamp = 4234567890u; 470 old_timestamp = 4234567890u;
461 EXPECT_EQ(1, rtcp_peer.CheckForWrapAround(new_timestamp, old_timestamp)); 471 EXPECT_EQ(1, rtcp_peer.CheckForWrapAround(new_timestamp, old_timestamp));
462 new_timestamp = 4234567890u; 472 new_timestamp = 4234567890u;
463 old_timestamp = 123; 473 old_timestamp = 123;
464 EXPECT_EQ(-1, rtcp_peer.CheckForWrapAround(new_timestamp, old_timestamp)); 474 EXPECT_EQ(-1, rtcp_peer.CheckForWrapAround(new_timestamp, old_timestamp));
465 } 475 }
466 476
467 TEST_F(RtcpTest, RtpTimestampInSenderTime) { 477 TEST_F(RtcpTest, RtpTimestampInSenderTime) {
468 RtcpPeer rtcp_peer(&testing_clock_, 478 RtcpPeer rtcp_peer(cast_environment_,
469 &mock_sender_feedback_, 479 &mock_sender_feedback_,
470 NULL, 480 NULL,
471 NULL, 481 NULL,
472 NULL, 482 NULL,
473 kRtcpReducedSize, 483 kRtcpReducedSize,
474 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), 484 base::TimeDelta::FromMilliseconds(kRtcpIntervalMs),
475 kReceiverSsrc, 485 kReceiverSsrc,
476 kSenderSsrc, 486 kSenderSsrc,
477 kCName); 487 kCName);
478 int frequency = 32000; 488 int frequency = 32000;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 rtcp_peer.OnReceivedLipSyncInfo(rtp_timestamp, ntp_seconds, ntp_fractions); 532 rtcp_peer.OnReceivedLipSyncInfo(rtp_timestamp, ntp_seconds, ntp_fractions);
523 rtp_timestamp = 64000; 533 rtp_timestamp = 64000;
524 EXPECT_TRUE(rtcp_peer.RtpTimestampInSenderTime(frequency, rtp_timestamp, 534 EXPECT_TRUE(rtcp_peer.RtpTimestampInSenderTime(frequency, rtp_timestamp,
525 &rtp_timestamp_in_ticks)); 535 &rtp_timestamp_in_ticks));
526 EXPECT_EQ(input_time + base::TimeDelta::FromMilliseconds(4000), 536 EXPECT_EQ(input_time + base::TimeDelta::FromMilliseconds(4000),
527 rtp_timestamp_in_ticks); 537 rtp_timestamp_in_ticks);
528 } 538 }
529 539
530 } // namespace cast 540 } // namespace cast
531 } // namespace media 541 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/rtcp/rtcp_sender_unittest.cc ('k') | media/cast/rtcp/test_rtcp_packet_builder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698