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

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

Issue 266373008: Cast: Fix rtcp event dedup logic in rtcp_receiver. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 7 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
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_environment.h" 7 #include "media/cast/cast_environment.h"
8 #include "media/cast/rtcp/mock_rtcp_receiver_feedback.h" 8 #include "media/cast/rtcp/mock_rtcp_receiver_feedback.h"
9 #include "media/cast/rtcp/mock_rtcp_sender_feedback.h" 9 #include "media/cast/rtcp/mock_rtcp_sender_feedback.h"
10 #include "media/cast/rtcp/rtcp_receiver.h" 10 #include "media/cast/rtcp/rtcp_receiver.h"
(...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after
504 event_log.type = kVideoAckSent; 504 event_log.type = kVideoAckSent;
505 event_log.event_timestamp = testing_clock.NowTicks(); 505 event_log.event_timestamp = testing_clock.NowTicks();
506 event_log.delay_delta = base::TimeDelta::FromMilliseconds(kDelayDeltaMs); 506 event_log.delay_delta = base::TimeDelta::FromMilliseconds(kDelayDeltaMs);
507 frame_log.event_log_messages_.push_back(event_log); 507 frame_log.event_log_messages_.push_back(event_log);
508 508
509 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs)); 509 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs));
510 event_log.type = kVideoPacketReceived; 510 event_log.type = kVideoPacketReceived;
511 event_log.event_timestamp = testing_clock.NowTicks(); 511 event_log.event_timestamp = testing_clock.NowTicks();
512 event_log.packet_id = kLostPacketId1; 512 event_log.packet_id = kLostPacketId1;
513 frame_log.event_log_messages_.push_back(event_log); 513 frame_log.event_log_messages_.push_back(event_log);
514
515 event_log.type = kVideoPacketReceived;
516 event_log.event_timestamp = testing_clock.NowTicks();
517 event_log.packet_id = kLostPacketId2;
518 frame_log.event_log_messages_.push_back(event_log);
519
514 receiver_log.push_back(frame_log); 520 receiver_log.push_back(frame_log);
515 521
516 cast_log_verification.SetExpectedReceiverLog(receiver_log); 522 cast_log_verification.SetExpectedReceiverLog(receiver_log);
517 523
518 TestRtcpPacketBuilder p; 524 TestRtcpPacketBuilder p;
519 p.AddRr(kSenderSsrc, 1); 525 p.AddRr(kSenderSsrc, 1);
520 p.AddRb(kSourceSsrc); 526 p.AddRb(kSourceSsrc);
521 p.AddReceiverLog(kSenderSsrc); 527 p.AddReceiverLog(kSenderSsrc);
522 p.AddReceiverFrameLog(kRtpTimestamp, 2, kTimeBaseMs); 528 p.AddReceiverFrameLog(kRtpTimestamp, 3, kTimeBaseMs);
523 p.AddReceiverEventLog(kDelayDeltaMs, 5, 0); 529 p.AddReceiverEventLog(kDelayDeltaMs, kVideoAckSent, 0);
524 p.AddReceiverEventLog(kLostPacketId1, 8, kTimeDelayMs); 530 p.AddReceiverEventLog(kLostPacketId1, kVideoPacketReceived, kTimeDelayMs);
531 p.AddReceiverEventLog(kLostPacketId2, kVideoPacketReceived, kTimeDelayMs);
525 532
526 // Adds duplicated receiver event. 533 // Adds duplicated receiver event.
527 p.AddReceiverFrameLog(kRtpTimestamp, 2, kTimeBaseMs); 534 p.AddReceiverFrameLog(kRtpTimestamp, 3, kTimeBaseMs);
528 p.AddReceiverEventLog(kDelayDeltaMs, 5, 0); 535 p.AddReceiverEventLog(kDelayDeltaMs, kVideoAckSent, 0);
529 p.AddReceiverEventLog(kLostPacketId1, 8, kTimeDelayMs); 536 p.AddReceiverEventLog(kLostPacketId1, kVideoPacketReceived, kTimeDelayMs);
537 p.AddReceiverEventLog(kLostPacketId2, kVideoPacketReceived, kTimeDelayMs);
530 538
531 EXPECT_CALL(mock_rtt_feedback_, 539 EXPECT_CALL(mock_rtt_feedback_,
532 OnReceivedDelaySinceLastReport( 540 OnReceivedDelaySinceLastReport(
533 kSourceSsrc, kLastSr, kDelayLastSr)).Times(1); 541 kSourceSsrc, kLastSr, kDelayLastSr)).Times(1);
534 542
535 RtcpParser rtcp_parser(p.Data(), p.Length()); 543 RtcpParser rtcp_parser(p.Data(), p.Length());
536 rtcp_receiver.IncomingRtcpPacket(&rtcp_parser); 544 rtcp_receiver.IncomingRtcpPacket(&rtcp_parser);
537 545
538 EXPECT_TRUE(cast_log_verification.OnReceivedReceiverLogCalled()); 546 EXPECT_TRUE(cast_log_verification.OnReceivedReceiverLogCalled());
539 } 547 }
(...skipping 27 matching lines...) Expand all
567 } 575 }
568 576
569 cast_log_verification.SetExpectedReceiverLog(receiver_log); 577 cast_log_verification.SetExpectedReceiverLog(receiver_log);
570 578
571 TestRtcpPacketBuilder p; 579 TestRtcpPacketBuilder p;
572 p.AddRr(kSenderSsrc, 1); 580 p.AddRr(kSenderSsrc, 1);
573 p.AddRb(kSourceSsrc); 581 p.AddRb(kSourceSsrc);
574 p.AddReceiverLog(kSenderSsrc); 582 p.AddReceiverLog(kSenderSsrc);
575 for (int i = 0; i < 100; ++i) { 583 for (int i = 0; i < 100; ++i) {
576 p.AddReceiverFrameLog(kRtpTimestamp, 1, kTimeBaseMs + i * kTimeDelayMs); 584 p.AddReceiverFrameLog(kRtpTimestamp, 1, kTimeBaseMs + i * kTimeDelayMs);
577 p.AddReceiverEventLog(kDelayDeltaMs, 5, 0); 585 p.AddReceiverEventLog(kDelayDeltaMs, kVideoAckSent, 0);
578 } 586 }
579 587
580 EXPECT_CALL(mock_rtt_feedback_, 588 EXPECT_CALL(mock_rtt_feedback_,
581 OnReceivedDelaySinceLastReport( 589 OnReceivedDelaySinceLastReport(
582 kSourceSsrc, kLastSr, kDelayLastSr)).Times(1); 590 kSourceSsrc, kLastSr, kDelayLastSr)).Times(1);
583 591
584 RtcpParser rtcp_parser(p.Data(), p.Length()); 592 RtcpParser rtcp_parser(p.Data(), p.Length());
585 rtcp_receiver.IncomingRtcpPacket(&rtcp_parser); 593 rtcp_receiver.IncomingRtcpPacket(&rtcp_parser);
586 594
587 EXPECT_TRUE(cast_log_verification.OnReceivedReceiverLogCalled()); 595 EXPECT_TRUE(cast_log_verification.OnReceivedReceiverLogCalled());
588 } 596 }
589 597
590 } // namespace cast 598 } // namespace cast
591 } // namespace media 599 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698