Index: media/cast/rtcp/rtcp_unittest.cc |
diff --git a/media/cast/rtcp/rtcp_unittest.cc b/media/cast/rtcp/rtcp_unittest.cc |
index 93d01e72db732b2c5281fd67e8b2da47b5bf81bf..080bdb9bf3663644ff360abb2f398b16046d7a3c 100644 |
--- a/media/cast/rtcp/rtcp_unittest.cc |
+++ b/media/cast/rtcp/rtcp_unittest.cc |
@@ -69,8 +69,8 @@ class RtcpPeer : public Rtcp { |
RtpReceiverStatistics* rtp_receiver_statistics, |
RtcpMode rtcp_mode, |
const base::TimeDelta& rtcp_interval, |
- bool sending_media, |
uint32 local_ssrc, |
+ uint32 remote_ssrc, |
const std::string& c_name) |
: Rtcp(clock, |
sender_feedback, |
@@ -79,8 +79,8 @@ class RtcpPeer : public Rtcp { |
rtp_receiver_statistics, |
rtcp_mode, |
rtcp_interval, |
- sending_media, |
local_ssrc, |
+ remote_ssrc, |
c_name) { |
} |
@@ -117,8 +117,8 @@ TEST_F(RtcpTest, TimeToSend) { |
NULL, |
kRtcpCompound, |
base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), |
- true, // Media sender. |
kSenderSsrc, |
+ kReceiverSsrc, |
kCName); |
transport_.SetRtcpReceiver(&rtcp); |
EXPECT_LE(start_time, rtcp.TimeToSendNextRtcpReport()); |
@@ -138,11 +138,11 @@ TEST_F(RtcpTest, BasicSenderReport) { |
NULL, |
kRtcpCompound, |
base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), |
- true, // Media sender. |
kSenderSsrc, |
+ kReceiverSsrc, |
kCName); |
transport_.SetRtcpReceiver(&rtcp); |
- rtcp.SendRtcpReport(kUnknownSsrc); |
+ rtcp.SendRtcpFromRtpSender(NULL); |
} |
TEST_F(RtcpTest, BasicReceiverReport) { |
@@ -153,12 +153,11 @@ TEST_F(RtcpTest, BasicReceiverReport) { |
NULL, |
kRtcpCompound, |
base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), |
- false, // Media receiver. |
kSenderSsrc, |
+ kReceiverSsrc, |
kCName); |
transport_.SetRtcpReceiver(&rtcp); |
- rtcp.SetRemoteSSRC(kSenderSsrc); |
- rtcp.SendRtcpReport(kSenderSsrc); |
+ rtcp.SendRtcpFromRtpReceiver(NULL, NULL); |
} |
TEST_F(RtcpTest, BasicCast) { |
@@ -172,11 +171,10 @@ TEST_F(RtcpTest, BasicCast) { |
NULL, |
kRtcpReducedSize, |
base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), |
- false, |
+ kSenderSsrc, |
kSenderSsrc, |
kCName); |
transport_.SetRtcpReceiver(&rtcp); |
- rtcp.SetRemoteSSRC(kSenderSsrc); |
RtcpCastMessage cast_message(kSenderSsrc); |
cast_message.ack_frame_id_ = kAckFrameId; |
PacketIdSet missing_packets; |
@@ -186,12 +184,12 @@ TEST_F(RtcpTest, BasicCast) { |
missing_packets.insert(kLostPacketId1); |
missing_packets.insert(kLostPacketId2); |
missing_packets.insert(kLostPacketId3); |
- cast_message.missing_frames_and_packets_[ |
- kFrameIdWithLostPackets] = missing_packets; |
- rtcp.SendRtcpCast(cast_message); |
+ cast_message.missing_frames_and_packets_[kFrameIdWithLostPackets] = |
+ missing_packets; |
+ rtcp.SendRtcpFromRtpReceiver(&cast_message, NULL); |
} |
-TEST_F(RtcpTest, Rtt) { |
+TEST_F(RtcpTest, RttReducedSizeRtcp) { |
// Media receiver. |
LocalRtcpTransport receiver_transport(&testing_clock_); |
Rtcp rtcp_receiver(&testing_clock_, |
@@ -201,8 +199,8 @@ TEST_F(RtcpTest, Rtt) { |
NULL, |
kRtcpReducedSize, |
base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), |
- false, |
kReceiverSsrc, |
+ kSenderSsrc, |
kCName); |
// Media sender. |
@@ -214,16 +212,13 @@ TEST_F(RtcpTest, Rtt) { |
NULL, |
kRtcpReducedSize, |
base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), |
- true, |
kSenderSsrc, |
+ kReceiverSsrc, |
kCName); |
receiver_transport.SetRtcpReceiver(&rtcp_sender); |
sender_transport.SetRtcpReceiver(&rtcp_receiver); |
- rtcp_sender.SetRemoteSSRC(kReceiverSsrc); |
- rtcp_receiver.SetRemoteSSRC(kSenderSsrc); |
- |
base::TimeDelta rtt; |
base::TimeDelta avg_rtt; |
base::TimeDelta min_rtt; |
@@ -231,42 +226,107 @@ TEST_F(RtcpTest, Rtt) { |
EXPECT_FALSE(rtcp_sender.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); |
EXPECT_FALSE(rtcp_receiver.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); |
- rtcp_sender.SendRtcpReport(kSenderSsrc); |
- rtcp_receiver.SendRtcpReport(kSenderSsrc); |
+ rtcp_sender.SendRtcpFromRtpSender(NULL); |
+ rtcp_receiver.SendRtcpFromRtpReceiver(NULL, NULL); |
EXPECT_TRUE(rtcp_sender.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); |
EXPECT_FALSE(rtcp_receiver.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); |
EXPECT_NEAR(2 * kAddedDelay, rtt.InMilliseconds(), 1); |
EXPECT_NEAR(2 * kAddedDelay, avg_rtt.InMilliseconds(), 1); |
EXPECT_NEAR(2 * kAddedDelay, min_rtt.InMilliseconds(), 1); |
EXPECT_NEAR(2 * kAddedDelay, max_rtt.InMilliseconds(), 1); |
- rtcp_sender.SendRtcpReport(kSenderSsrc); |
+ rtcp_sender.SendRtcpFromRtpSender(NULL); |
EXPECT_TRUE(rtcp_receiver.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); |
EXPECT_NEAR(2 * kAddedDelay, rtt.InMilliseconds(), 1); |
EXPECT_NEAR(2 * kAddedDelay, avg_rtt.InMilliseconds(), 1); |
EXPECT_NEAR(2 * kAddedDelay, min_rtt.InMilliseconds(), 1); |
EXPECT_NEAR(2 * kAddedDelay, max_rtt.InMilliseconds(), 1); |
+} |
+ |
+TEST_F(RtcpTest, Rtt) { |
+ // Media receiver. |
+ LocalRtcpTransport receiver_transport(&testing_clock_); |
+ Rtcp rtcp_receiver(&testing_clock_, |
+ &mock_sender_feedback_, |
+ &receiver_transport, |
+ NULL, |
+ NULL, |
+ kRtcpCompound, |
+ base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), |
+ kReceiverSsrc, |
+ kSenderSsrc, |
+ kCName); |
+ |
+ // Media sender. |
+ LocalRtcpTransport sender_transport(&testing_clock_); |
+ Rtcp rtcp_sender(&testing_clock_, |
+ &mock_sender_feedback_, |
+ &sender_transport, |
+ NULL, |
+ NULL, |
+ kRtcpCompound, |
+ base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), |
+ kSenderSsrc, |
+ kReceiverSsrc, |
+ kCName); |
+ |
+ receiver_transport.SetRtcpReceiver(&rtcp_sender); |
+ sender_transport.SetRtcpReceiver(&rtcp_receiver); |
+ |
+ base::TimeDelta rtt; |
+ base::TimeDelta avg_rtt; |
+ base::TimeDelta min_rtt; |
+ base::TimeDelta max_rtt; |
+ EXPECT_FALSE(rtcp_sender.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); |
+ EXPECT_FALSE(rtcp_receiver.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); |
+ |
+ rtcp_sender.SendRtcpFromRtpSender(NULL); |
+ rtcp_receiver.SendRtcpFromRtpReceiver(NULL, NULL); |
+ EXPECT_TRUE(rtcp_sender.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); |
+ EXPECT_FALSE(rtcp_receiver.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); |
+ EXPECT_NEAR(2 * kAddedDelay, rtt.InMilliseconds(), 1); |
+ EXPECT_NEAR(2 * kAddedDelay, avg_rtt.InMilliseconds(), 1); |
+ EXPECT_NEAR(2 * kAddedDelay, min_rtt.InMilliseconds(), 1); |
+ EXPECT_NEAR(2 * kAddedDelay, max_rtt.InMilliseconds(), 1); |
+ |
+ rtcp_sender.SendRtcpFromRtpSender(NULL); |
+ EXPECT_TRUE(rtcp_receiver.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); |
+ EXPECT_NEAR(2 * kAddedDelay, rtt.InMilliseconds(), 1); |
+ EXPECT_NEAR(2 * kAddedDelay, avg_rtt.InMilliseconds(), 1); |
+ EXPECT_NEAR(2 * kAddedDelay, min_rtt.InMilliseconds(), 1); |
+ EXPECT_NEAR(2 * kAddedDelay, max_rtt.InMilliseconds(), 1); |
receiver_transport.SetShortDelay(); |
sender_transport.SetShortDelay(); |
- rtcp_receiver.SendRtcpReport(kSenderSsrc); |
+ rtcp_receiver.SendRtcpFromRtpReceiver(NULL, NULL); |
EXPECT_TRUE(rtcp_sender.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); |
- |
EXPECT_NEAR(kAddedDelay + kAddedShortDelay, rtt.InMilliseconds(), 1); |
EXPECT_NEAR((kAddedShortDelay + 3 * kAddedDelay) / 2, |
avg_rtt.InMilliseconds(), |
1); |
EXPECT_NEAR(kAddedDelay + kAddedShortDelay, min_rtt.InMilliseconds(), 1); |
EXPECT_NEAR(2 * kAddedDelay, max_rtt.InMilliseconds(), 1); |
- rtcp_sender.SendRtcpReport(kSenderSsrc); |
- EXPECT_TRUE(rtcp_receiver.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); |
+ rtcp_sender.SendRtcpFromRtpSender(NULL); |
+ EXPECT_TRUE(rtcp_receiver.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); |
EXPECT_NEAR(2 * kAddedShortDelay, rtt.InMilliseconds(), 1); |
EXPECT_NEAR((2 * kAddedShortDelay + 2 * kAddedDelay) / 2, |
avg_rtt.InMilliseconds(), |
1); |
EXPECT_NEAR(2 * kAddedShortDelay, min_rtt.InMilliseconds(), 1); |
EXPECT_NEAR(2 * kAddedDelay, max_rtt.InMilliseconds(), 1); |
+ |
+ rtcp_receiver.SendRtcpFromRtpReceiver(NULL, NULL); |
+ EXPECT_TRUE(rtcp_sender.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); |
+ EXPECT_NEAR(2 * kAddedShortDelay, rtt.InMilliseconds(), 1); |
+ EXPECT_NEAR(2 * kAddedShortDelay, min_rtt.InMilliseconds(), 1); |
+ EXPECT_NEAR(2 * kAddedDelay, max_rtt.InMilliseconds(), 1); |
+ |
+ rtcp_receiver.SendRtcpFromRtpReceiver(NULL, NULL); |
+ EXPECT_TRUE(rtcp_sender.Rtt(&rtt, &avg_rtt, &min_rtt, &max_rtt)); |
+ EXPECT_NEAR(2 * kAddedShortDelay, rtt.InMilliseconds(), 1); |
+ EXPECT_NEAR(2 * kAddedShortDelay, min_rtt.InMilliseconds(), 1); |
+ EXPECT_NEAR(2 * kAddedDelay, max_rtt.InMilliseconds(), 1); |
} |
TEST_F(RtcpTest, NtpAndTime) { |
@@ -309,8 +369,8 @@ TEST_F(RtcpTest, WrapAround) { |
NULL, |
kRtcpReducedSize, |
base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), |
- false, |
kReceiverSsrc, |
+ kSenderSsrc, |
kCName); |
uint32 new_timestamp = 0; |
uint32 old_timestamp = 0; |
@@ -337,8 +397,8 @@ TEST_F(RtcpTest, RtpTimestampInSenderTime) { |
NULL, |
kRtcpReducedSize, |
base::TimeDelta::FromMilliseconds(kRtcpIntervalMs), |
- false, |
kReceiverSsrc, |
+ kSenderSsrc, |
kCName); |
int frequency = 32000; |
uint32 rtp_timestamp = 64000; |