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

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

Issue 136903003: cast: Wire upp logging to be sent over RTCP between receiver and sender. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merge TOT Created 6 years, 11 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
« no previous file with comments | « media/cast/rtcp/rtcp_receiver.cc ('k') | media/cast/rtcp/rtcp_sender.cc » ('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/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 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 88
89 RtcpReceiverEventLogMessages::const_iterator event_incoming_it = 89 RtcpReceiverEventLogMessages::const_iterator event_incoming_it =
90 incoming_it->event_log_messages_.begin(); 90 incoming_it->event_log_messages_.begin();
91 RtcpReceiverEventLogMessages::const_iterator event_expected_it = 91 RtcpReceiverEventLogMessages::const_iterator event_expected_it =
92 expected_it->event_log_messages_.begin(); 92 expected_it->event_log_messages_.begin();
93 for (; event_incoming_it != incoming_it->event_log_messages_.end(); 93 for (; event_incoming_it != incoming_it->event_log_messages_.end();
94 ++event_incoming_it, ++event_expected_it) { 94 ++event_incoming_it, ++event_expected_it) {
95 EXPECT_EQ(event_expected_it->type, event_incoming_it->type); 95 EXPECT_EQ(event_expected_it->type, event_incoming_it->type);
96 EXPECT_EQ(event_expected_it->event_timestamp, 96 EXPECT_EQ(event_expected_it->event_timestamp,
97 event_incoming_it->event_timestamp); 97 event_incoming_it->event_timestamp);
98 if (event_expected_it->type == kPacketReceived) { 98 if (event_expected_it->type == kVideoPacketReceived) {
99 EXPECT_EQ(event_expected_it->packet_id, event_incoming_it->packet_id); 99 EXPECT_EQ(event_expected_it->packet_id, event_incoming_it->packet_id);
100 } else { 100 } else {
101 EXPECT_EQ(event_expected_it->delay_delta, 101 EXPECT_EQ(event_expected_it->delay_delta,
102 event_incoming_it->delay_delta); 102 event_incoming_it->delay_delta);
103 } 103 }
104 } 104 }
105 expected_receiver_log_.pop_front(); 105 expected_receiver_log_.pop_front();
106 expected_it = expected_receiver_log_.begin(); 106 expected_it = expected_receiver_log_.begin();
107 } 107 }
108 called_on_received_receiver_log_ = true; 108 called_on_received_receiver_log_ = true;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 }; 149 };
150 150
151 } // namespace 151 } // namespace
152 152
153 class RtcpReceiverTest : public ::testing::Test { 153 class RtcpReceiverTest : public ::testing::Test {
154 protected: 154 protected:
155 RtcpReceiverTest() 155 RtcpReceiverTest()
156 : task_runner_(new test::FakeTaskRunner(&testing_clock_)), 156 : task_runner_(new test::FakeTaskRunner(&testing_clock_)),
157 cast_environment_(new CastEnvironment(&testing_clock_, task_runner_, 157 cast_environment_(new CastEnvironment(&testing_clock_, task_runner_,
158 task_runner_, task_runner_, task_runner_, task_runner_, 158 task_runner_, task_runner_, task_runner_, task_runner_,
159 task_runner_, GetDefaultCastLoggingConfig())), 159 task_runner_, GetDefaultCastReceiverLoggingConfig())),
160 rtcp_receiver_(new RtcpReceiver(cast_environment_, 160 rtcp_receiver_(new RtcpReceiver(cast_environment_,
161 &mock_sender_feedback_, 161 &mock_sender_feedback_,
162 &mock_receiver_feedback_, 162 &mock_receiver_feedback_,
163 &mock_rtt_feedback_, 163 &mock_rtt_feedback_,
164 kSourceSsrc)) { 164 kSourceSsrc)) {
165 } 165 }
166 166
167 virtual ~RtcpReceiverTest() {} 167 virtual ~RtcpReceiverTest() {}
168 168
169 virtual void SetUp() OVERRIDE { 169 virtual void SetUp() OVERRIDE {
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 &mock_sender_feedback_, 495 &mock_sender_feedback_,
496 &cast_log_verification, 496 &cast_log_verification,
497 &mock_rtt_feedback_, 497 &mock_rtt_feedback_,
498 kSourceSsrc); 498 kSourceSsrc);
499 rtcp_receiver.SetRemoteSSRC(kSenderSsrc); 499 rtcp_receiver.SetRemoteSSRC(kSenderSsrc);
500 500
501 RtcpReceiverLogMessage receiver_log; 501 RtcpReceiverLogMessage receiver_log;
502 RtcpReceiverFrameLogMessage frame_log(kRtpTimestamp); 502 RtcpReceiverFrameLogMessage frame_log(kRtpTimestamp);
503 RtcpReceiverEventLogMessage event_log; 503 RtcpReceiverEventLogMessage event_log;
504 504
505 event_log.type = kAckSent; 505 event_log.type = kVideoAckSent;
506 event_log.event_timestamp = testing_clock.NowTicks(); 506 event_log.event_timestamp = testing_clock.NowTicks();
507 event_log.delay_delta = base::TimeDelta::FromMilliseconds(kDelayDeltaMs); 507 event_log.delay_delta = base::TimeDelta::FromMilliseconds(kDelayDeltaMs);
508 frame_log.event_log_messages_.push_back(event_log); 508 frame_log.event_log_messages_.push_back(event_log);
509 509
510 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs)); 510 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs));
511 event_log.type = kPacketReceived; 511 event_log.type = kVideoPacketReceived;
512 event_log.event_timestamp = testing_clock.NowTicks(); 512 event_log.event_timestamp = testing_clock.NowTicks();
513 event_log.packet_id = kLostPacketId1; 513 event_log.packet_id = kLostPacketId1;
514 frame_log.event_log_messages_.push_back(event_log); 514 frame_log.event_log_messages_.push_back(event_log);
515 receiver_log.push_back(frame_log); 515 receiver_log.push_back(frame_log);
516 516
517 cast_log_verification.SetExpectedReceiverLog(receiver_log); 517 cast_log_verification.SetExpectedReceiverLog(receiver_log);
518 518
519 TestRtcpPacketBuilder p; 519 TestRtcpPacketBuilder p;
520 p.AddRr(kSenderSsrc, 1); 520 p.AddRr(kSenderSsrc, 1);
521 p.AddRb(kSourceSsrc); 521 p.AddRb(kSourceSsrc);
522 p.AddReceiverLog(kSenderSsrc); 522 p.AddReceiverLog(kSenderSsrc);
523 p.AddReceiverFrameLog(kRtpTimestamp, 2, kTimeBaseMs); 523 p.AddReceiverFrameLog(kRtpTimestamp, 2, kTimeBaseMs);
524 p.AddReceiverEventLog(kDelayDeltaMs, 1, 0); 524 p.AddReceiverEventLog(kDelayDeltaMs, 5, 0);
525 p.AddReceiverEventLog(kLostPacketId1, 6, kTimeDelayMs); 525 p.AddReceiverEventLog(kLostPacketId1, 8, kTimeDelayMs);
526 526
527 EXPECT_CALL(mock_rtt_feedback_, 527 EXPECT_CALL(mock_rtt_feedback_,
528 OnReceivedDelaySinceLastReport(kSourceSsrc, kLastSr, kDelayLastSr)). 528 OnReceivedDelaySinceLastReport(kSourceSsrc, kLastSr, kDelayLastSr)).
529 Times(1); 529 Times(1);
530 530
531 RtcpParser rtcp_parser(p.Packet(), p.Length()); 531 RtcpParser rtcp_parser(p.Packet(), p.Length());
532 rtcp_receiver.IncomingRtcpPacket(&rtcp_parser); 532 rtcp_receiver.IncomingRtcpPacket(&rtcp_parser);
533 533
534 EXPECT_TRUE(cast_log_verification.OnReceivedReceiverLogCalled()); 534 EXPECT_TRUE(cast_log_verification.OnReceivedReceiverLogCalled());
535 } 535 }
(...skipping 11 matching lines...) Expand all
547 &cast_log_verification, 547 &cast_log_verification,
548 &mock_rtt_feedback_, 548 &mock_rtt_feedback_,
549 kSourceSsrc); 549 kSourceSsrc);
550 rtcp_receiver.SetRemoteSSRC(kSenderSsrc); 550 rtcp_receiver.SetRemoteSSRC(kSenderSsrc);
551 551
552 RtcpReceiverLogMessage receiver_log; 552 RtcpReceiverLogMessage receiver_log;
553 553
554 for (int j = 0; j < 100; ++j) { 554 for (int j = 0; j < 100; ++j) {
555 RtcpReceiverFrameLogMessage frame_log(kRtpTimestamp); 555 RtcpReceiverFrameLogMessage frame_log(kRtpTimestamp);
556 RtcpReceiverEventLogMessage event_log; 556 RtcpReceiverEventLogMessage event_log;
557 event_log.type = kAckSent; 557 event_log.type = kVideoAckSent;
558 event_log.event_timestamp = testing_clock.NowTicks(); 558 event_log.event_timestamp = testing_clock.NowTicks();
559 event_log.delay_delta = base::TimeDelta::FromMilliseconds(kDelayDeltaMs); 559 event_log.delay_delta = base::TimeDelta::FromMilliseconds(kDelayDeltaMs);
560 frame_log.event_log_messages_.push_back(event_log); 560 frame_log.event_log_messages_.push_back(event_log);
561 receiver_log.push_back(frame_log); 561 receiver_log.push_back(frame_log);
562 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs)); 562 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs));
563 } 563 }
564 564
565 cast_log_verification.SetExpectedReceiverLog(receiver_log); 565 cast_log_verification.SetExpectedReceiverLog(receiver_log);
566 566
567 TestRtcpPacketBuilder p; 567 TestRtcpPacketBuilder p;
568 p.AddRr(kSenderSsrc, 1); 568 p.AddRr(kSenderSsrc, 1);
569 p.AddRb(kSourceSsrc); 569 p.AddRb(kSourceSsrc);
570 p.AddReceiverLog(kSenderSsrc); 570 p.AddReceiverLog(kSenderSsrc);
571 for (int i = 0; i < 100; ++i) { 571 for (int i = 0; i < 100; ++i) {
572 p.AddReceiverFrameLog(kRtpTimestamp, 1, kTimeBaseMs + i * kTimeDelayMs); 572 p.AddReceiverFrameLog(kRtpTimestamp, 1, kTimeBaseMs + i * kTimeDelayMs);
573 p.AddReceiverEventLog(kDelayDeltaMs, 1, 0); 573 p.AddReceiverEventLog(kDelayDeltaMs, 5, 0);
574 } 574 }
575 575
576 EXPECT_CALL(mock_rtt_feedback_, 576 EXPECT_CALL(mock_rtt_feedback_,
577 OnReceivedDelaySinceLastReport(kSourceSsrc, kLastSr, kDelayLastSr)). 577 OnReceivedDelaySinceLastReport(kSourceSsrc, kLastSr, kDelayLastSr)).
578 Times(1); 578 Times(1);
579 579
580 RtcpParser rtcp_parser(p.Packet(), p.Length()); 580 RtcpParser rtcp_parser(p.Packet(), p.Length());
581 rtcp_receiver.IncomingRtcpPacket(&rtcp_parser); 581 rtcp_receiver.IncomingRtcpPacket(&rtcp_parser);
582 582
583 EXPECT_TRUE(cast_log_verification.OnReceivedReceiverLogCalled()); 583 EXPECT_TRUE(cast_log_verification.OnReceivedReceiverLogCalled());
584 } 584 }
585 585
586 } // namespace cast 586 } // namespace cast
587 } // namespace media 587 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/rtcp/rtcp_receiver.cc ('k') | media/cast/rtcp/rtcp_sender.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698