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

Side by Side Diff: media/cast/net/rtcp/rtcp_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_sender_unittest.cc ('k') | media/cast/net/rtcp/rtcp_utility.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 <stdint.h> 5 #include <stdint.h>
6 6
7 #include "base/test/simple_test_tick_clock.h" 7 #include "base/test/simple_test_tick_clock.h"
8 #include "media/cast/cast_defines.h" 8 #include "media/cast/cast_defines.h"
9 #include "media/cast/net/cast_transport_config.h" 9 #include "media/cast/net/cast_transport_config.h"
10 #include "media/cast/net/cast_transport_sender_impl.h" 10 #include "media/cast/net/cast_transport_sender_impl.h"
11 #include "media/cast/net/pacing/paced_sender.h" 11 #include "media/cast/net/pacing/paced_sender.h"
12 #include "media/cast/net/rtcp/mock_rtcp_receiver_feedback.h" 12 #include "media/cast/net/rtcp/mock_rtcp_receiver_feedback.h"
13 #include "media/cast/net/rtcp/rtcp.h" 13 #include "media/cast/net/rtcp/rtcp.h"
14 #include "media/cast/net/rtcp/test_rtcp_packet_builder.h" 14 #include "media/cast/net/rtcp/test_rtcp_packet_builder.h"
15 #include "media/cast/test/fake_single_thread_task_runner.h" 15 #include "media/cast/test/fake_single_thread_task_runner.h"
16 #include "testing/gmock/include/gmock/gmock.h" 16 #include "testing/gmock/include/gmock/gmock.h"
17 17
18 namespace media { 18 namespace media {
19 namespace cast { 19 namespace cast {
20 20
21 using testing::_; 21 using testing::_;
22 22
23 static const uint32 kSenderSsrc = 0x10203; 23 static const uint32 kSenderSsrc = 0x10203;
24 static const uint32 kReceiverSsrc = 0x40506; 24 static const uint32 kReceiverSsrc = 0x40506;
25 static const std::string kCName("test@10.1.1.1");
26 static const int64 kAddedDelay = 123; 25 static const int64 kAddedDelay = 123;
27 static const int64 kAddedShortDelay = 100; 26 static const int64 kAddedShortDelay = 100;
28 27
29 class RtcpTestPacketSender : public PacketSender { 28 class RtcpTestPacketSender : public PacketSender {
30 public: 29 public:
31 explicit RtcpTestPacketSender(base::SimpleTestTickClock* testing_clock) 30 explicit RtcpTestPacketSender(base::SimpleTestTickClock* testing_clock)
32 : drop_packets_(false), 31 : drop_packets_(false),
33 short_delay_(false), 32 short_delay_(false),
34 rtcp_receiver_(NULL), 33 rtcp_receiver_(NULL),
35 testing_clock_(testing_clock) {} 34 testing_clock_(testing_clock) {}
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 190
192 TEST_F(RtcpTest, BasicSenderReport) { 191 TEST_F(RtcpTest, BasicSenderReport) {
193 Rtcp rtcp(base::Bind(&MockFrameSender::OnReceivedCastFeedback, 192 Rtcp rtcp(base::Bind(&MockFrameSender::OnReceivedCastFeedback,
194 base::Unretained(&mock_frame_sender_)), 193 base::Unretained(&mock_frame_sender_)),
195 base::Bind(&MockFrameSender::OnReceivedRtt, 194 base::Bind(&MockFrameSender::OnReceivedRtt,
196 base::Unretained(&mock_frame_sender_)), 195 base::Unretained(&mock_frame_sender_)),
197 RtcpLogMessageCallback(), 196 RtcpLogMessageCallback(),
198 testing_clock_, 197 testing_clock_,
199 &sender_to_receiver_, 198 &sender_to_receiver_,
200 kSenderSsrc, 199 kSenderSsrc,
201 kReceiverSsrc, 200 kReceiverSsrc);
202 kCName);
203 sender_to_receiver_.set_rtcp_receiver(&rtcp); 201 sender_to_receiver_.set_rtcp_receiver(&rtcp);
204 rtcp.SendRtcpFromRtpSender(base::TimeTicks(), 0, 1, 1); 202 rtcp.SendRtcpFromRtpSender(base::TimeTicks(), 0, 1, 1);
205 } 203 }
206 204
207 TEST_F(RtcpTest, BasicReceiverReport) { 205 TEST_F(RtcpTest, BasicReceiverReport) {
208 Rtcp rtcp(base::Bind(&MockFrameSender::OnReceivedCastFeedback, 206 Rtcp rtcp(base::Bind(&MockFrameSender::OnReceivedCastFeedback,
209 base::Unretained(&mock_frame_sender_)), 207 base::Unretained(&mock_frame_sender_)),
210 base::Bind(&MockFrameSender::OnReceivedRtt, 208 base::Bind(&MockFrameSender::OnReceivedRtt,
211 base::Unretained(&mock_frame_sender_)), 209 base::Unretained(&mock_frame_sender_)),
212 RtcpLogMessageCallback(), 210 RtcpLogMessageCallback(),
213 testing_clock_, 211 testing_clock_,
214 &receiver_to_sender_, 212 &receiver_to_sender_,
215 kSenderSsrc, 213 kSenderSsrc,
216 kReceiverSsrc, 214 kReceiverSsrc);
217 kCName);
218 receiver_to_sender_.set_rtcp_receiver(&rtcp); 215 receiver_to_sender_.set_rtcp_receiver(&rtcp);
219 rtcp.SendRtcpFromRtpReceiver(NULL, base::TimeDelta(), NULL, &stats_); 216 rtcp.SendRtcpFromRtpReceiver(NULL, base::TimeDelta(), NULL, &stats_);
220 } 217 }
221 218
222 TEST_F(RtcpTest, BasicCast) { 219 TEST_F(RtcpTest, BasicCast) {
223 EXPECT_CALL(mock_frame_sender_, OnReceivedCastFeedback(_)).Times(1); 220 EXPECT_CALL(mock_frame_sender_, OnReceivedCastFeedback(_)).Times(1);
224 221
225 // Media sender. 222 // Media sender.
226 Rtcp rtcp(base::Bind(&MockFrameSender::OnReceivedCastFeedback, 223 Rtcp rtcp(base::Bind(&MockFrameSender::OnReceivedCastFeedback,
227 base::Unretained(&mock_frame_sender_)), 224 base::Unretained(&mock_frame_sender_)),
228 base::Bind(&MockFrameSender::OnReceivedRtt, 225 base::Bind(&MockFrameSender::OnReceivedRtt,
229 base::Unretained(&mock_frame_sender_)), 226 base::Unretained(&mock_frame_sender_)),
230 RtcpLogMessageCallback(), 227 RtcpLogMessageCallback(),
231 testing_clock_, 228 testing_clock_,
232 &receiver_to_sender_, 229 &receiver_to_sender_,
233 kSenderSsrc, 230 kSenderSsrc,
234 kSenderSsrc, 231 kSenderSsrc);
235 kCName);
236 receiver_to_sender_.set_rtcp_receiver(&rtcp); 232 receiver_to_sender_.set_rtcp_receiver(&rtcp);
237 RtcpCastMessage cast_message(kSenderSsrc); 233 RtcpCastMessage cast_message(kSenderSsrc);
238 cast_message.ack_frame_id = kAckFrameId; 234 cast_message.ack_frame_id = kAckFrameId;
239 PacketIdSet missing_packets; 235 PacketIdSet missing_packets;
240 cast_message.missing_frames_and_packets[kLostFrameId] = missing_packets; 236 cast_message.missing_frames_and_packets[kLostFrameId] = missing_packets;
241 237
242 missing_packets.insert(kLostPacketId1); 238 missing_packets.insert(kLostPacketId1);
243 missing_packets.insert(kLostPacketId2); 239 missing_packets.insert(kLostPacketId2);
244 missing_packets.insert(kLostPacketId3); 240 missing_packets.insert(kLostPacketId3);
245 cast_message.missing_frames_and_packets[kFrameIdWithLostPackets] = 241 cast_message.missing_frames_and_packets[kFrameIdWithLostPackets] =
246 missing_packets; 242 missing_packets;
247 rtcp.SendRtcpFromRtpReceiver(&cast_message, base::TimeDelta(), NULL, NULL); 243 rtcp.SendRtcpFromRtpReceiver(&cast_message, base::TimeDelta(), NULL, NULL);
248 } 244 }
249 245
250 TEST_F(RtcpTest, RttReducedSizeRtcp) { 246 TEST_F(RtcpTest, RttReducedSizeRtcp) {
251 // Media receiver. 247 // Media receiver.
252 Rtcp rtcp_receiver(RtcpCastMessageCallback(), 248 Rtcp rtcp_receiver(RtcpCastMessageCallback(),
253 RtcpRttCallback(), 249 RtcpRttCallback(),
254 RtcpLogMessageCallback(), 250 RtcpLogMessageCallback(),
255 testing_clock_, 251 testing_clock_,
256 &receiver_to_sender_, 252 &receiver_to_sender_,
257 kReceiverSsrc, 253 kReceiverSsrc,
258 kSenderSsrc, 254 kSenderSsrc);
259 kCName);
260 255
261 // Media sender. 256 // Media sender.
262 Rtcp rtcp_sender(base::Bind(&MockFrameSender::OnReceivedCastFeedback, 257 Rtcp rtcp_sender(base::Bind(&MockFrameSender::OnReceivedCastFeedback,
263 base::Unretained(&mock_frame_sender_)), 258 base::Unretained(&mock_frame_sender_)),
264 base::Bind(&MockFrameSender::OnReceivedRtt, 259 base::Bind(&MockFrameSender::OnReceivedRtt,
265 base::Unretained(&mock_frame_sender_)), 260 base::Unretained(&mock_frame_sender_)),
266 RtcpLogMessageCallback(), 261 RtcpLogMessageCallback(),
267 testing_clock_, 262 testing_clock_,
268 &sender_to_receiver_, 263 &sender_to_receiver_,
269 kSenderSsrc, 264 kSenderSsrc,
270 kReceiverSsrc, 265 kReceiverSsrc);
271 kCName);
272 266
273 sender_to_receiver_.set_rtcp_receiver(&rtcp_receiver); 267 sender_to_receiver_.set_rtcp_receiver(&rtcp_receiver);
274 receiver_to_sender_.set_rtcp_receiver(&rtcp_sender); 268 receiver_to_sender_.set_rtcp_receiver(&rtcp_sender);
275 269
276 base::TimeDelta rtt; 270 base::TimeDelta rtt;
277 base::TimeDelta avg_rtt; 271 base::TimeDelta avg_rtt;
278 base::TimeDelta min_rtt; 272 base::TimeDelta min_rtt;
279 base::TimeDelta max_rtt; 273 base::TimeDelta max_rtt;
280 EXPECT_FALSE(rtcp_sender.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); 274 EXPECT_FALSE(rtcp_sender.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt));
281 EXPECT_FALSE(rtcp_receiver.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); 275 EXPECT_FALSE(rtcp_receiver.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt));
(...skipping 18 matching lines...) Expand all
300 } 294 }
301 295
302 TEST_F(RtcpTest, Rtt) { 296 TEST_F(RtcpTest, Rtt) {
303 // Media receiver. 297 // Media receiver.
304 Rtcp rtcp_receiver(RtcpCastMessageCallback(), 298 Rtcp rtcp_receiver(RtcpCastMessageCallback(),
305 RtcpRttCallback(), 299 RtcpRttCallback(),
306 RtcpLogMessageCallback(), 300 RtcpLogMessageCallback(),
307 testing_clock_, 301 testing_clock_,
308 &receiver_to_sender_, 302 &receiver_to_sender_,
309 kReceiverSsrc, 303 kReceiverSsrc,
310 kSenderSsrc, 304 kSenderSsrc);
311 kCName);
312 305
313 // Media sender. 306 // Media sender.
314 Rtcp rtcp_sender(base::Bind(&MockFrameSender::OnReceivedCastFeedback, 307 Rtcp rtcp_sender(base::Bind(&MockFrameSender::OnReceivedCastFeedback,
315 base::Unretained(&mock_frame_sender_)), 308 base::Unretained(&mock_frame_sender_)),
316 base::Bind(&MockFrameSender::OnReceivedRtt, 309 base::Bind(&MockFrameSender::OnReceivedRtt,
317 base::Unretained(&mock_frame_sender_)), 310 base::Unretained(&mock_frame_sender_)),
318 RtcpLogMessageCallback(), 311 RtcpLogMessageCallback(),
319 testing_clock_, 312 testing_clock_,
320 &sender_to_receiver_, 313 &sender_to_receiver_,
321 kSenderSsrc, 314 kSenderSsrc,
322 kReceiverSsrc, 315 kReceiverSsrc);
323 kCName);
324 316
325 receiver_to_sender_.set_rtcp_receiver(&rtcp_sender); 317 receiver_to_sender_.set_rtcp_receiver(&rtcp_sender);
326 sender_to_receiver_.set_rtcp_receiver(&rtcp_receiver); 318 sender_to_receiver_.set_rtcp_receiver(&rtcp_receiver);
327 319
328 base::TimeDelta rtt; 320 base::TimeDelta rtt;
329 base::TimeDelta avg_rtt; 321 base::TimeDelta avg_rtt;
330 base::TimeDelta min_rtt; 322 base::TimeDelta min_rtt;
331 base::TimeDelta max_rtt; 323 base::TimeDelta max_rtt;
332 EXPECT_FALSE(rtcp_sender.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); 324 EXPECT_FALSE(rtcp_sender.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt));
333 EXPECT_FALSE(rtcp_receiver.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); 325 EXPECT_FALSE(rtcp_receiver.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt));
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 } 381 }
390 382
391 TEST_F(RtcpTest, RttWithPacketLoss) { 383 TEST_F(RtcpTest, RttWithPacketLoss) {
392 // Media receiver. 384 // Media receiver.
393 Rtcp rtcp_receiver(RtcpCastMessageCallback(), 385 Rtcp rtcp_receiver(RtcpCastMessageCallback(),
394 RtcpRttCallback(), 386 RtcpRttCallback(),
395 RtcpLogMessageCallback(), 387 RtcpLogMessageCallback(),
396 testing_clock_, 388 testing_clock_,
397 &receiver_to_sender_, 389 &receiver_to_sender_,
398 kReceiverSsrc, 390 kReceiverSsrc,
399 kSenderSsrc, 391 kSenderSsrc);
400 kCName);
401 392
402 // Media sender. 393 // Media sender.
403 Rtcp rtcp_sender(base::Bind(&MockFrameSender::OnReceivedCastFeedback, 394 Rtcp rtcp_sender(base::Bind(&MockFrameSender::OnReceivedCastFeedback,
404 base::Unretained(&mock_frame_sender_)), 395 base::Unretained(&mock_frame_sender_)),
405 base::Bind(&MockFrameSender::OnReceivedRtt, 396 base::Bind(&MockFrameSender::OnReceivedRtt,
406 base::Unretained(&mock_frame_sender_)), 397 base::Unretained(&mock_frame_sender_)),
407 RtcpLogMessageCallback(), 398 RtcpLogMessageCallback(),
408 testing_clock_, 399 testing_clock_,
409 &sender_to_receiver_, 400 &sender_to_receiver_,
410 kSenderSsrc, 401 kSenderSsrc,
411 kReceiverSsrc, 402 kReceiverSsrc);
412 kCName);
413 403
414 receiver_to_sender_.set_rtcp_receiver(&rtcp_sender); 404 receiver_to_sender_.set_rtcp_receiver(&rtcp_sender);
415 sender_to_receiver_.set_rtcp_receiver(&rtcp_receiver); 405 sender_to_receiver_.set_rtcp_receiver(&rtcp_receiver);
416 406
417 rtcp_receiver.SendRtcpFromRtpReceiver(NULL, base::TimeDelta(), NULL, &stats_); 407 rtcp_receiver.SendRtcpFromRtpReceiver(NULL, base::TimeDelta(), NULL, &stats_);
418 rtcp_sender.SendRtcpFromRtpSender(testing_clock_->NowTicks(), 0, 1, 1); 408 rtcp_sender.SendRtcpFromRtpSender(testing_clock_->NowTicks(), 0, 1, 1);
419 RunTasks(33); 409 RunTasks(33);
420 410
421 base::TimeDelta rtt; 411 base::TimeDelta rtt;
422 base::TimeDelta avg_rtt; 412 base::TimeDelta avg_rtt;
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
482 base::TimeTicks out_3 = ConvertNtpToTimeTicks(ntp_seconds_3, ntp_fraction_3); 472 base::TimeTicks out_3 = ConvertNtpToTimeTicks(ntp_seconds_3, ntp_fraction_3);
483 EXPECT_EQ(input_time, out_3); // Verify inverse. 473 EXPECT_EQ(input_time, out_3); // Verify inverse.
484 474
485 // Verify delta. 475 // Verify delta.
486 EXPECT_EQ((out_3 - out_2), time_delta); 476 EXPECT_EQ((out_3 - out_2), time_delta);
487 EXPECT_NEAR((ntp_fraction_3 - ntp_fraction_2), 0xffffffff / 2, 1); 477 EXPECT_NEAR((ntp_fraction_3 - ntp_fraction_2), 0xffffffff / 2, 1);
488 } 478 }
489 479
490 } // namespace cast 480 } // namespace cast
491 } // namespace media 481 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/net/rtcp/rtcp_sender_unittest.cc ('k') | media/cast/net/rtcp/rtcp_utility.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698