| Index: media/cast/rtcp/rtcp_sender_unittest.cc
|
| diff --git a/media/cast/rtcp/rtcp_sender_unittest.cc b/media/cast/rtcp/rtcp_sender_unittest.cc
|
| index c626eb9bf9abf02a5cc838664a947e0a5734efa5..4a5ce8ef97512c3ac6783168dc62cef311858ed4 100644
|
| --- a/media/cast/rtcp/rtcp_sender_unittest.cc
|
| +++ b/media/cast/rtcp/rtcp_sender_unittest.cc
|
| @@ -6,6 +6,7 @@
|
| #include "base/test/simple_test_tick_clock.h"
|
| #include "media/cast/cast_defines.h"
|
| #include "media/cast/cast_environment.h"
|
| +#include "media/cast/rtcp/receiver_rtcp_event_subscriber.h"
|
| #include "media/cast/rtcp/rtcp_sender.h"
|
| #include "media/cast/rtcp/rtcp_utility.h"
|
| #include "media/cast/rtcp/test_rtcp_packet_builder.h"
|
| @@ -242,7 +243,6 @@ TEST_F(RtcpSenderTest, RtcpReceiverReportWithRrtraAndCastMessage) {
|
| TEST_F(RtcpSenderTest, RtcpReceiverReportWithRrtrCastMessageAndLog) {
|
| static const uint32 kTimeBaseMs = 12345678;
|
| static const uint32 kTimeDelayMs = 10;
|
| - static const uint32 kDelayDeltaMs = 123;
|
|
|
| TestRtcpPacketBuilder p;
|
| p.AddRr(kSendingSsrc, 1);
|
| @@ -279,8 +279,8 @@ TEST_F(RtcpSenderTest, RtcpReceiverReportWithRrtrCastMessageAndLog) {
|
| cast_message.missing_frames_and_packets_[kFrameIdWithLostPackets] =
|
| missing_packets;
|
|
|
| - // Test empty Log message.
|
| - RtcpReceiverLogMessage receiver_log;
|
| + ReceiverRtcpEventSubscriber event_subscriber(
|
| + 500, ReceiverRtcpEventSubscriber::kVideoEventSubscriber);
|
|
|
| rtcp_sender_->SendRtcpFromRtpReceiver(
|
| RtcpSender::kRtcpRr | RtcpSender::kRtcpRrtr | RtcpSender::kRtcpCast |
|
| @@ -288,33 +288,31 @@ TEST_F(RtcpSenderTest, RtcpReceiverReportWithRrtrCastMessageAndLog) {
|
| &report_block,
|
| &rrtr,
|
| &cast_message,
|
| - &receiver_log);
|
| + &event_subscriber);
|
|
|
| base::SimpleTestTickClock testing_clock;
|
| testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeBaseMs));
|
|
|
| p.AddReceiverLog(kSendingSsrc);
|
| p.AddReceiverFrameLog(kRtpTimestamp, 2, kTimeBaseMs);
|
| - p.AddReceiverEventLog(kDelayDeltaMs, 5, 0);
|
| + p.AddReceiverEventLog(0, 5, 0);
|
| p.AddReceiverEventLog(kLostPacketId1, 8, kTimeDelayMs);
|
|
|
| test_transport_.SetExpectedRtcpPacket(p.GetPacket().Pass());
|
|
|
| - RtcpReceiverFrameLogMessage frame_log(kRtpTimestamp);
|
| - RtcpReceiverEventLogMessage event_log;
|
| -
|
| - event_log.type = kVideoAckSent;
|
| - event_log.event_timestamp = testing_clock.NowTicks();
|
| - event_log.delay_delta = base::TimeDelta::FromMilliseconds(kDelayDeltaMs);
|
| - frame_log.event_log_messages_.push_back(event_log);
|
| -
|
| + FrameEvent frame_event;
|
| + frame_event.rtp_timestamp = kRtpTimestamp;
|
| + frame_event.type = kVideoAckSent;
|
| + frame_event.timestamp = testing_clock.NowTicks();
|
| + event_subscriber.OnReceiveFrameEvent(frame_event);
|
| testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs));
|
| - event_log.type = kVideoPacketReceived;
|
| - event_log.event_timestamp = testing_clock.NowTicks();
|
| - event_log.packet_id = kLostPacketId1;
|
| - frame_log.event_log_messages_.push_back(event_log);
|
|
|
| - receiver_log.push_back(frame_log);
|
| + PacketEvent packet_event;
|
| + packet_event.rtp_timestamp = kRtpTimestamp;
|
| + packet_event.type = kVideoPacketReceived;
|
| + packet_event.timestamp = testing_clock.NowTicks();
|
| + packet_event.packet_id = kLostPacketId1;
|
| + event_subscriber.OnReceivePacketEvent(packet_event);
|
|
|
| rtcp_sender_->SendRtcpFromRtpReceiver(
|
| RtcpSender::kRtcpRr | RtcpSender::kRtcpRrtr | RtcpSender::kRtcpCast |
|
| @@ -322,16 +320,14 @@ TEST_F(RtcpSenderTest, RtcpReceiverReportWithRrtrCastMessageAndLog) {
|
| &report_block,
|
| &rrtr,
|
| &cast_message,
|
| - &receiver_log);
|
| + &event_subscriber);
|
|
|
| - EXPECT_TRUE(receiver_log.empty());
|
| EXPECT_EQ(2, test_transport_.packet_count());
|
| }
|
|
|
| TEST_F(RtcpSenderTest, RtcpReceiverReportWithOversizedFrameLog) {
|
| static const uint32 kTimeBaseMs = 12345678;
|
| static const uint32 kTimeDelayMs = 10;
|
| - static const uint32 kDelayDeltaMs = 123;
|
|
|
| TestRtcpPacketBuilder p;
|
| p.AddRr(kSendingSsrc, 1);
|
| @@ -355,7 +351,7 @@ TEST_F(RtcpSenderTest, RtcpReceiverReportWithOversizedFrameLog) {
|
| p.AddReceiverLog(kSendingSsrc);
|
|
|
| p.AddReceiverFrameLog(kRtpTimestamp, 1, kTimeBaseMs);
|
| - p.AddReceiverEventLog(kDelayDeltaMs, 5, 0);
|
| + p.AddReceiverEventLog(0, 5, 0);
|
| p.AddReceiverFrameLog(
|
| kRtpTimestamp + 2345, kRtcpMaxReceiverLogMessages, kTimeBaseMs);
|
|
|
| @@ -366,45 +362,37 @@ TEST_F(RtcpSenderTest, RtcpReceiverReportWithOversizedFrameLog) {
|
|
|
| test_transport_.SetExpectedRtcpPacket(p.GetPacket().Pass());
|
|
|
| - RtcpReceiverFrameLogMessage frame_1_log(kRtpTimestamp);
|
| - RtcpReceiverEventLogMessage event_log;
|
| -
|
| - event_log.type = kVideoAckSent;
|
| - event_log.event_timestamp = testing_clock.NowTicks();
|
| - event_log.delay_delta = base::TimeDelta::FromMilliseconds(kDelayDeltaMs);
|
| - frame_1_log.event_log_messages_.push_back(event_log);
|
| -
|
| - RtcpReceiverLogMessage receiver_log;
|
| - receiver_log.push_back(frame_1_log);
|
| -
|
| - RtcpReceiverFrameLogMessage frame_2_log(kRtpTimestamp + 2345);
|
| + ReceiverRtcpEventSubscriber event_subscriber(
|
| + 500, ReceiverRtcpEventSubscriber::kVideoEventSubscriber);
|
| + FrameEvent frame_event;
|
| + frame_event.rtp_timestamp = kRtpTimestamp;
|
| + frame_event.type = media::cast::kVideoAckSent;
|
| + frame_event.timestamp = testing_clock.NowTicks();
|
| + event_subscriber.OnReceiveFrameEvent(frame_event);
|
|
|
| - for (int j = 0; j < 300; ++j) {
|
| - event_log.type = kVideoPacketReceived;
|
| - event_log.event_timestamp = testing_clock.NowTicks();
|
| - event_log.packet_id = kLostPacketId1;
|
| - frame_2_log.event_log_messages_.push_back(event_log);
|
| + for (size_t i = 0; i < kRtcpMaxReceiverLogMessages; ++i) {
|
| + PacketEvent packet_event;
|
| + packet_event.rtp_timestamp = kRtpTimestamp + 2345;
|
| + packet_event.type = kVideoPacketReceived;
|
| + packet_event.timestamp = testing_clock.NowTicks();
|
| + packet_event.packet_id = kLostPacketId1;
|
| + event_subscriber.OnReceivePacketEvent(packet_event);
|
| testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs));
|
| }
|
| - receiver_log.push_back(frame_2_log);
|
|
|
| rtcp_sender_->SendRtcpFromRtpReceiver(
|
| RtcpSender::kRtcpRr | RtcpSender::kRtcpReceiverLog,
|
| &report_block,
|
| NULL,
|
| NULL,
|
| - &receiver_log);
|
| + &event_subscriber);
|
|
|
| EXPECT_EQ(1, test_transport_.packet_count());
|
| - EXPECT_EQ(1u, receiver_log.size());
|
| - EXPECT_EQ(300u - kRtcpMaxReceiverLogMessages,
|
| - receiver_log.front().event_log_messages_.size());
|
| }
|
|
|
| TEST_F(RtcpSenderTest, RtcpReceiverReportWithTooManyLogFrames) {
|
| static const uint32 kTimeBaseMs = 12345678;
|
| static const uint32 kTimeDelayMs = 10;
|
| - static const uint32 kDelayDeltaMs = 123;
|
|
|
| TestRtcpPacketBuilder p;
|
| p.AddRr(kSendingSsrc, 1);
|
| @@ -428,33 +416,30 @@ TEST_F(RtcpSenderTest, RtcpReceiverReportWithTooManyLogFrames) {
|
| p.AddReceiverLog(kSendingSsrc);
|
|
|
| for (int i = 0; i < 119; ++i) {
|
| - p.AddReceiverFrameLog(kRtpTimestamp, 1, kTimeBaseMs + i * kTimeDelayMs);
|
| - p.AddReceiverEventLog(kDelayDeltaMs, 5, 0);
|
| + p.AddReceiverFrameLog(kRtpTimestamp + i, 1, kTimeBaseMs + i * kTimeDelayMs);
|
| + p.AddReceiverEventLog(0, 5, 0);
|
| }
|
| test_transport_.SetExpectedRtcpPacket(p.GetPacket().Pass());
|
|
|
| - RtcpReceiverLogMessage receiver_log;
|
| -
|
| - for (int j = 0; j < 200; ++j) {
|
| - RtcpReceiverFrameLogMessage frame_log(kRtpTimestamp);
|
| - RtcpReceiverEventLogMessage event_log;
|
| -
|
| - event_log.type = kVideoAckSent;
|
| - event_log.event_timestamp = testing_clock.NowTicks();
|
| - event_log.delay_delta = base::TimeDelta::FromMilliseconds(kDelayDeltaMs);
|
| - frame_log.event_log_messages_.push_back(event_log);
|
| - receiver_log.push_back(frame_log);
|
| + ReceiverRtcpEventSubscriber event_subscriber(
|
| + 500, ReceiverRtcpEventSubscriber::kVideoEventSubscriber);
|
| + for (size_t i = 0; i < kRtcpMaxReceiverLogMessages; ++i) {
|
| + FrameEvent frame_event;
|
| + frame_event.rtp_timestamp = kRtpTimestamp + static_cast<int>(i);
|
| + frame_event.type = media::cast::kVideoAckSent;
|
| + frame_event.timestamp = testing_clock.NowTicks();
|
| + event_subscriber.OnReceiveFrameEvent(frame_event);
|
| testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeDelayMs));
|
| }
|
| +
|
| rtcp_sender_->SendRtcpFromRtpReceiver(
|
| RtcpSender::kRtcpRr | RtcpSender::kRtcpReceiverLog,
|
| &report_block,
|
| NULL,
|
| NULL,
|
| - &receiver_log);
|
| + &event_subscriber);
|
|
|
| EXPECT_EQ(1, test_transport_.packet_count());
|
| - EXPECT_EQ(81u, receiver_log.size());
|
| }
|
|
|
| } // namespace cast
|
|
|