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

Unified Diff: media/cast/net/rtcp/rtcp_receiver_unittest.cc

Issue 387933005: Cast: Refactor RTCP handling (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix test Created 6 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/cast/net/rtcp/rtcp_receiver.cc ('k') | media/cast/net/rtcp/rtcp_sender.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/cast/net/rtcp/rtcp_receiver_unittest.cc
diff --git a/media/cast/net/rtcp/rtcp_receiver_unittest.cc b/media/cast/net/rtcp/rtcp_receiver_unittest.cc
index f4010cb36bd18ac2dffde551b4a0ca6bebc3f8fc..47ae24bee290a63bb0bb547a5266ae077fc86c95 100644
--- a/media/cast/net/rtcp/rtcp_receiver_unittest.cc
+++ b/media/cast/net/rtcp/rtcp_receiver_unittest.cc
@@ -7,7 +7,6 @@
#include "media/cast/cast_environment.h"
#include "media/cast/net/cast_transport_defines.h"
#include "media/cast/net/rtcp/mock_rtcp_receiver_feedback.h"
-#include "media/cast/net/rtcp/mock_rtcp_sender_feedback.h"
#include "media/cast/net/rtcp/rtcp_receiver.h"
#include "media/cast/net/rtcp/rtcp_utility.h"
#include "media/cast/net/rtcp/test_rtcp_packet_builder.h"
@@ -27,58 +26,13 @@ static const base::TimeDelta kTargetDelay =
static const std::string kCName("test@10.1.1.1");
namespace {
-class SenderFeedbackCastVerification : public RtcpSenderFeedback {
- public:
- SenderFeedbackCastVerification() : called_(false) {}
-
- virtual void OnReceivedCastFeedback(const RtcpCastMessage& cast_feedback)
- OVERRIDE {
- EXPECT_EQ(cast_feedback.media_ssrc_, kSenderSsrc);
- EXPECT_EQ(cast_feedback.ack_frame_id_, kAckFrameId);
-
- MissingFramesAndPacketsMap::const_iterator frame_it =
- cast_feedback.missing_frames_and_packets_.begin();
- EXPECT_TRUE(frame_it != cast_feedback.missing_frames_and_packets_.end());
- EXPECT_EQ(kLostFrameId, frame_it->first);
- EXPECT_EQ(frame_it->second.size(), 1UL);
- EXPECT_EQ(*frame_it->second.begin(), kRtcpCastAllPacketsLost);
- ++frame_it;
- EXPECT_TRUE(frame_it != cast_feedback.missing_frames_and_packets_.end());
- EXPECT_EQ(kFrameIdWithLostPackets, frame_it->first);
- EXPECT_EQ(3UL, frame_it->second.size());
- PacketIdSet::const_iterator packet_it = frame_it->second.begin();
- EXPECT_EQ(kLostPacketId1, *packet_it);
- ++packet_it;
- EXPECT_EQ(kLostPacketId2, *packet_it);
- ++packet_it;
- EXPECT_EQ(kLostPacketId3, *packet_it);
- ++frame_it;
- EXPECT_EQ(frame_it, cast_feedback.missing_frames_and_packets_.end());
- called_ = true;
- }
-
- bool called() const { return called_; }
-
- private:
- bool called_;
-
- DISALLOW_COPY_AND_ASSIGN(SenderFeedbackCastVerification);
-};
-
-class RtcpReceiverCastLogVerification : public RtcpReceiverFeedback {
+class RtcpMessageVerification : public MockRtcpReceiverFeedback {
public:
- RtcpReceiverCastLogVerification()
+ RtcpMessageVerification()
: called_on_received_sender_log_(false),
- called_on_received_receiver_log_(false) {}
-
- virtual void OnReceivedSenderReport(
- const RtcpSenderInfo& remote_sender_info) OVERRIDE{};
-
- virtual void OnReceiverReferenceTimeReport(
- const RtcpReceiverReferenceTimeReport& remote_time_report) OVERRIDE{};
-
- virtual void OnReceivedSendReportRequest() OVERRIDE{};
+ called_on_received_receiver_log_(false),
+ called_on_received_cast_message_(false) {}
virtual void OnReceivedReceiverLog(const RtcpReceiverLogMessage& receiver_log)
OVERRIDE {
@@ -113,10 +67,41 @@ class RtcpReceiverCastLogVerification : public RtcpReceiverFeedback {
called_on_received_receiver_log_ = true;
}
- bool OnReceivedReceiverLogCalled() {
+ virtual void OnReceivedCastFeedback(const RtcpCastMessage& cast_message)
+ OVERRIDE {
+ EXPECT_EQ(cast_message.media_ssrc, kSenderSsrc);
+ EXPECT_EQ(cast_message.ack_frame_id, kAckFrameId);
+
+ MissingFramesAndPacketsMap::const_iterator frame_it =
+ cast_message.missing_frames_and_packets.begin();
+
+ EXPECT_TRUE(frame_it != cast_message.missing_frames_and_packets.end());
+ EXPECT_EQ(kLostFrameId, frame_it->first);
+ EXPECT_EQ(frame_it->second.size(), 1UL);
+ EXPECT_EQ(*frame_it->second.begin(), kRtcpCastAllPacketsLost);
+ ++frame_it;
+ EXPECT_TRUE(frame_it != cast_message.missing_frames_and_packets.end());
+ EXPECT_EQ(kFrameIdWithLostPackets, frame_it->first);
+ EXPECT_EQ(3UL, frame_it->second.size());
+ PacketIdSet::const_iterator packet_it = frame_it->second.begin();
+ EXPECT_EQ(kLostPacketId1, *packet_it);
+ ++packet_it;
+ EXPECT_EQ(kLostPacketId2, *packet_it);
+ ++packet_it;
+ EXPECT_EQ(kLostPacketId3, *packet_it);
+ ++frame_it;
+ EXPECT_EQ(frame_it, cast_message.missing_frames_and_packets.end());
+ called_on_received_cast_message_ = true;
+ }
+
+ bool OnReceivedReceiverLogCalled() const {
return called_on_received_receiver_log_ && expected_receiver_log_.empty();
}
+ bool OnReceivedCastFeedbackCalled() const {
+ return called_on_received_cast_message_;
+ }
+
void SetExpectedReceiverLog(const RtcpReceiverLogMessage& receiver_log) {
expected_receiver_log_ = receiver_log;
}
@@ -125,8 +110,9 @@ class RtcpReceiverCastLogVerification : public RtcpReceiverFeedback {
RtcpReceiverLogMessage expected_receiver_log_;
bool called_on_received_sender_log_;
bool called_on_received_receiver_log_;
+ bool called_on_received_cast_message_;
- DISALLOW_COPY_AND_ASSIGN(RtcpReceiverCastLogVerification);
+ DISALLOW_COPY_AND_ASSIGN(RtcpMessageVerification);
};
} // namespace
@@ -136,23 +122,13 @@ class RtcpReceiverTest : public ::testing::Test {
RtcpReceiverTest()
: testing_clock_(new base::SimpleTestTickClock()),
task_runner_(new test::FakeSingleThreadTaskRunner(testing_clock_)),
- cast_environment_(new CastEnvironment(
- scoped_ptr<base::TickClock>(testing_clock_).Pass(),
- task_runner_,
- task_runner_,
- task_runner_)),
- rtcp_receiver_(new RtcpReceiver(cast_environment_,
- &mock_sender_feedback_,
- &mock_receiver_feedback_,
- &mock_rtt_feedback_,
+ rtcp_receiver_(new RtcpReceiver(&mock_receiver_feedback_,
kSourceSsrc)) {
EXPECT_CALL(mock_receiver_feedback_, OnReceivedSenderReport(_)).Times(0);
EXPECT_CALL(mock_receiver_feedback_, OnReceiverReferenceTimeReport(_))
.Times(0);
- EXPECT_CALL(mock_receiver_feedback_, OnReceivedSendReportRequest())
- .Times(0);
- EXPECT_CALL(mock_sender_feedback_, OnReceivedCastFeedback(_)).Times(0);
- EXPECT_CALL(mock_rtt_feedback_, OnReceivedDelaySinceLastReport(_, _, _))
+ EXPECT_CALL(mock_receiver_feedback_, OnReceivedCastFeedback(_)).Times(0);
+ EXPECT_CALL(mock_receiver_feedback_, OnReceivedDelaySinceLastReport(_, _))
.Times(0);
expected_sender_info_.ntp_seconds = kNtpHigh;
@@ -184,10 +160,7 @@ class RtcpReceiverTest : public ::testing::Test {
base::SimpleTestTickClock* testing_clock_; // Owned by CastEnvironment.
scoped_refptr<test::FakeSingleThreadTaskRunner> task_runner_;
- scoped_refptr<CastEnvironment> cast_environment_;
MockRtcpReceiverFeedback mock_receiver_feedback_;
- MockRtcpRttFeedback mock_rtt_feedback_;
- MockRtcpSenderFeedback mock_sender_feedback_;
scoped_ptr<RtcpReceiver> rtcp_receiver_;
RtcpSenderInfo expected_sender_info_;
RtcpReportBlock expected_report_block_;
@@ -226,9 +199,8 @@ TEST_F(RtcpReceiverTest, InjectReceiveReportPacket) {
// local ssrc.
InjectRtcpPacket(p1.Data(), p1.Length());
- EXPECT_CALL(mock_rtt_feedback_,
- OnReceivedDelaySinceLastReport(
- kSourceSsrc, kLastSr, kDelayLastSr)).Times(1);
+ EXPECT_CALL(mock_receiver_feedback_,
+ OnReceivedDelaySinceLastReport(kLastSr, kDelayLastSr)).Times(1);
TestRtcpPacketBuilder p2;
p2.AddRr(kSenderSsrc, 1);
@@ -260,9 +232,8 @@ TEST_F(RtcpReceiverTest, InjectSenderReportWithReportBlockPacket) {
InjectRtcpPacket(p1.Data(), p1.Length());
EXPECT_CALL(mock_receiver_feedback_, OnReceivedSenderReport(_)).Times(0);
- EXPECT_CALL(mock_rtt_feedback_,
- OnReceivedDelaySinceLastReport(
- kSourceSsrc, kLastSr, kDelayLastSr)).Times(1);
+ EXPECT_CALL(mock_receiver_feedback_,
+ OnReceivedDelaySinceLastReport(kLastSr, kDelayLastSr)).Times(1);
rtcp_receiver_->SetRemoteSSRC(0);
@@ -278,9 +249,8 @@ TEST_F(RtcpReceiverTest, InjectSenderReportWithReportBlockPacket) {
EXPECT_CALL(mock_receiver_feedback_,
OnReceivedSenderReport(expected_sender_info_)).Times(1);
- EXPECT_CALL(mock_rtt_feedback_,
- OnReceivedDelaySinceLastReport(
- kSourceSsrc, kLastSr, kDelayLastSr)).Times(1);
+ EXPECT_CALL(mock_receiver_feedback_,
+ OnReceivedDelaySinceLastReport(kLastSr, kDelayLastSr)).Times(1);
rtcp_receiver_->SetRemoteSSRC(kSenderSsrc);
@@ -306,9 +276,8 @@ TEST_F(RtcpReceiverTest, InjectSenderReportPacketWithDlrr) {
EXPECT_CALL(mock_receiver_feedback_,
OnReceivedSenderReport(expected_sender_info_)).Times(1);
- EXPECT_CALL(mock_rtt_feedback_,
- OnReceivedDelaySinceLastReport(
- kSenderSsrc, kLastSr, kDelayLastSr)).Times(1);
+ EXPECT_CALL(mock_receiver_feedback_,
+ OnReceivedDelaySinceLastReport(kLastSr, kDelayLastSr)).Times(1);
// Enable receiving sender report.
rtcp_receiver_->SetRemoteSSRC(kSenderSsrc);
@@ -328,9 +297,8 @@ TEST_F(RtcpReceiverTest, InjectReceiverReportPacketWithRrtr) {
// local ssrc.
InjectRtcpPacket(p1.Data(), p1.Length());
- EXPECT_CALL(mock_rtt_feedback_,
- OnReceivedDelaySinceLastReport(
- kSourceSsrc, kLastSr, kDelayLastSr)).Times(1);
+ EXPECT_CALL(mock_receiver_feedback_,
+ OnReceivedDelaySinceLastReport(kLastSr, kDelayLastSr)).Times(1);
EXPECT_CALL(mock_receiver_feedback_,
OnReceiverReferenceTimeReport(
expected_receiver_reference_report_)).Times(1);
@@ -358,9 +326,8 @@ TEST_F(RtcpReceiverTest, InjectReceiverReportPacketWithIntraFrameRequest) {
// local ssrc.
InjectRtcpPacket(p1.Data(), p1.Length());
- EXPECT_CALL(mock_rtt_feedback_,
- OnReceivedDelaySinceLastReport(
- kSourceSsrc, kLastSr, kDelayLastSr)).Times(1);
+ EXPECT_CALL(mock_receiver_feedback_,
+ OnReceivedDelaySinceLastReport(kLastSr, kDelayLastSr)).Times(1);
TestRtcpPacketBuilder p2;
p2.AddRr(kSenderSsrc, 1);
@@ -381,10 +348,9 @@ TEST_F(RtcpReceiverTest, InjectReceiverReportPacketWithCastFeedback) {
// local ssrc.
InjectRtcpPacket(p1.Data(), p1.Length());
- EXPECT_CALL(mock_rtt_feedback_,
- OnReceivedDelaySinceLastReport(
- kSourceSsrc, kLastSr, kDelayLastSr)).Times(1);
- EXPECT_CALL(mock_sender_feedback_, OnReceivedCastFeedback(_)).Times(1);
+ EXPECT_CALL(mock_receiver_feedback_,
+ OnReceivedDelaySinceLastReport(kLastSr, kDelayLastSr)).Times(1);
+ EXPECT_CALL(mock_receiver_feedback_, OnReceivedCastFeedback(_)).Times(1);
// Enable receiving the cast feedback.
rtcp_receiver_->SetRemoteSSRC(kSenderSsrc);
@@ -399,16 +365,11 @@ TEST_F(RtcpReceiverTest, InjectReceiverReportPacketWithCastFeedback) {
}
TEST_F(RtcpReceiverTest, InjectReceiverReportPacketWithCastVerification) {
- SenderFeedbackCastVerification sender_feedback_cast_verification;
- RtcpReceiver rtcp_receiver(cast_environment_,
- &sender_feedback_cast_verification,
- &mock_receiver_feedback_,
- &mock_rtt_feedback_,
- kSourceSsrc);
+ RtcpMessageVerification verification;
+ RtcpReceiver rtcp_receiver(&verification, kSourceSsrc);
- EXPECT_CALL(mock_rtt_feedback_,
- OnReceivedDelaySinceLastReport(
- kSourceSsrc, kLastSr, kDelayLastSr)).Times(1);
+ EXPECT_CALL(verification,
+ OnReceivedDelaySinceLastReport(kLastSr, kDelayLastSr)).Times(1);
// Enable receiving the cast feedback.
rtcp_receiver.SetRemoteSSRC(kSenderSsrc);
@@ -422,7 +383,7 @@ TEST_F(RtcpReceiverTest, InjectReceiverReportPacketWithCastVerification) {
RtcpParser rtcp_parser(p.Data(), p.Length());
rtcp_receiver.IncomingRtcpPacket(&rtcp_parser);
- EXPECT_TRUE(sender_feedback_cast_verification.called());
+ EXPECT_TRUE(verification.OnReceivedCastFeedbackCalled());
}
TEST_F(RtcpReceiverTest, InjectReceiverReportWithReceiverLogVerificationBase) {
@@ -432,11 +393,8 @@ TEST_F(RtcpReceiverTest, InjectReceiverReportWithReceiverLogVerificationBase) {
base::SimpleTestTickClock testing_clock;
testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeBaseMs));
- RtcpReceiverCastLogVerification cast_log_verification;
- RtcpReceiver rtcp_receiver(cast_environment_,
- &mock_sender_feedback_,
- &cast_log_verification,
- &mock_rtt_feedback_,
+ RtcpMessageVerification verification;
+ RtcpReceiver rtcp_receiver(&verification,
kSourceSsrc);
rtcp_receiver.SetRemoteSSRC(kSenderSsrc);
rtcp_receiver.SetCastReceiverEventHistorySize(100);
@@ -463,7 +421,7 @@ TEST_F(RtcpReceiverTest, InjectReceiverReportWithReceiverLogVerificationBase) {
receiver_log.push_back(frame_log);
- cast_log_verification.SetExpectedReceiverLog(receiver_log);
+ verification.SetExpectedReceiverLog(receiver_log);
TestRtcpPacketBuilder p;
p.AddRr(kSenderSsrc, 1);
@@ -480,14 +438,13 @@ TEST_F(RtcpReceiverTest, InjectReceiverReportWithReceiverLogVerificationBase) {
p.AddReceiverEventLog(kLostPacketId1, PACKET_RECEIVED, kTimeDelayMs);
p.AddReceiverEventLog(kLostPacketId2, PACKET_RECEIVED, kTimeDelayMs);
- EXPECT_CALL(mock_rtt_feedback_,
- OnReceivedDelaySinceLastReport(
- kSourceSsrc, kLastSr, kDelayLastSr)).Times(1);
+ EXPECT_CALL(verification,
+ OnReceivedDelaySinceLastReport(kLastSr, kDelayLastSr)).Times(1);
RtcpParser rtcp_parser(p.Data(), p.Length());
rtcp_receiver.IncomingRtcpPacket(&rtcp_parser);
- EXPECT_TRUE(cast_log_verification.OnReceivedReceiverLogCalled());
+ EXPECT_TRUE(verification.OnReceivedReceiverLogCalled());
}
TEST_F(RtcpReceiverTest, InjectReceiverReportWithReceiverLogVerificationMulti) {
@@ -497,11 +454,8 @@ TEST_F(RtcpReceiverTest, InjectReceiverReportWithReceiverLogVerificationMulti) {
base::SimpleTestTickClock testing_clock;
testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeBaseMs));
- RtcpReceiverCastLogVerification cast_log_verification;
- RtcpReceiver rtcp_receiver(cast_environment_,
- &mock_sender_feedback_,
- &cast_log_verification,
- &mock_rtt_feedback_,
+ RtcpMessageVerification verification;
+ RtcpReceiver rtcp_receiver(&verification,
kSourceSsrc);
rtcp_receiver.SetRemoteSSRC(kSenderSsrc);
@@ -518,7 +472,7 @@ TEST_F(RtcpReceiverTest, InjectReceiverReportWithReceiverLogVerificationMulti) {
testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs));
}
- cast_log_verification.SetExpectedReceiverLog(receiver_log);
+ verification.SetExpectedReceiverLog(receiver_log);
TestRtcpPacketBuilder p;
p.AddRr(kSenderSsrc, 1);
@@ -529,14 +483,13 @@ TEST_F(RtcpReceiverTest, InjectReceiverReportWithReceiverLogVerificationMulti) {
p.AddReceiverEventLog(kDelayDeltaMs, FRAME_ACK_SENT, 0);
}
- EXPECT_CALL(mock_rtt_feedback_,
- OnReceivedDelaySinceLastReport(
- kSourceSsrc, kLastSr, kDelayLastSr)).Times(1);
+ EXPECT_CALL(verification,
+ OnReceivedDelaySinceLastReport(kLastSr, kDelayLastSr)).Times(1);
RtcpParser rtcp_parser(p.Data(), p.Length());
rtcp_receiver.IncomingRtcpPacket(&rtcp_parser);
- EXPECT_TRUE(cast_log_verification.OnReceivedReceiverLogCalled());
+ EXPECT_TRUE(verification.OnReceivedReceiverLogCalled());
}
} // namespace cast
« no previous file with comments | « media/cast/net/rtcp/rtcp_receiver.cc ('k') | media/cast/net/rtcp/rtcp_sender.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698