Index: media/cast/logging/encoding_event_subscriber_unittest.cc |
diff --git a/media/cast/logging/encoding_event_subscriber_unittest.cc b/media/cast/logging/encoding_event_subscriber_unittest.cc |
index 4e30bbc2f9f9f410d9f9df3ad47bc4ab320e1804..eafe3f16e2311a00b4f5f2758d05f61edfea4917 100644 |
--- a/media/cast/logging/encoding_event_subscriber_unittest.cc |
+++ b/media/cast/logging/encoding_event_subscriber_unittest.cc |
@@ -64,8 +64,8 @@ class EncodingEventSubscriberTest : public ::testing::Test { |
scoped_refptr<test::FakeSingleThreadTaskRunner> task_runner_; |
scoped_refptr<CastEnvironment> cast_environment_; |
scoped_ptr<EncodingEventSubscriber> event_subscriber_; |
- FrameEventMap frame_events_; |
- PacketEventMap packet_events_; |
+ FrameEventList frame_events_; |
+ PacketEventList packet_events_; |
LogMetadata metadata_; |
RtpTimestamp first_rtp_timestamp_; |
}; |
@@ -90,8 +90,8 @@ TEST_F(EncodingEventSubscriberTest, FrameEventTruncating) { |
GetEventsAndReset(); |
ASSERT_EQ(10u, frame_events_.size()); |
- EXPECT_EQ(100u, frame_events_.begin()->first); |
- EXPECT_EQ(1000u, frame_events_.rbegin()->first); |
+ EXPECT_EQ(100u, frame_events_.front()->relative_rtp_timestamp()); |
+ EXPECT_EQ(1000u, frame_events_.back()->relative_rtp_timestamp()); |
} |
TEST_F(EncodingEventSubscriberTest, PacketEventTruncating) { |
@@ -113,8 +113,8 @@ TEST_F(EncodingEventSubscriberTest, PacketEventTruncating) { |
GetEventsAndReset(); |
ASSERT_EQ(10u, packet_events_.size()); |
- EXPECT_EQ(100u, packet_events_.begin()->first); |
- EXPECT_EQ(1000u, packet_events_.rbegin()->first); |
+ EXPECT_EQ(100u, packet_events_.front()->relative_rtp_timestamp()); |
+ EXPECT_EQ(1000u, packet_events_.back()->relative_rtp_timestamp()); |
} |
TEST_F(EncodingEventSubscriberTest, EventFiltering) { |
@@ -135,10 +135,10 @@ TEST_F(EncodingEventSubscriberTest, EventFiltering) { |
GetEventsAndReset(); |
- FrameEventMap::iterator frame_it = frame_events_.find(0); |
- ASSERT_TRUE(frame_it != frame_events_.end()); |
+ ASSERT_EQ(1u, frame_events_.size()); |
+ FrameEventList::iterator it = frame_events_.begin(); |
- linked_ptr<AggregatedFrameEvent> frame_event = frame_it->second; |
+ linked_ptr<AggregatedFrameEvent> frame_event = *it; |
ASSERT_EQ(1, frame_event->event_type_size()); |
EXPECT_EQ(media::cast::proto::VIDEO_FRAME_DECODED, |
@@ -162,10 +162,9 @@ TEST_F(EncodingEventSubscriberTest, FrameEvent) { |
ASSERT_EQ(1u, frame_events_.size()); |
RtpTimestamp relative_rtp_timestamp = rtp_timestamp - first_rtp_timestamp_; |
- FrameEventMap::iterator it = frame_events_.find(relative_rtp_timestamp); |
- ASSERT_TRUE(it != frame_events_.end()); |
+ FrameEventList::iterator it = frame_events_.begin(); |
- linked_ptr<AggregatedFrameEvent> event = it->second; |
+ linked_ptr<AggregatedFrameEvent> event = *it; |
EXPECT_EQ(relative_rtp_timestamp, event->relative_rtp_timestamp()); |
@@ -195,10 +194,9 @@ TEST_F(EncodingEventSubscriberTest, FrameEventDelay) { |
ASSERT_EQ(1u, frame_events_.size()); |
RtpTimestamp relative_rtp_timestamp = rtp_timestamp - first_rtp_timestamp_; |
- FrameEventMap::iterator it = frame_events_.find(relative_rtp_timestamp); |
- ASSERT_TRUE(it != frame_events_.end()); |
+ FrameEventList::iterator it = frame_events_.begin(); |
- linked_ptr<AggregatedFrameEvent> event = it->second; |
+ linked_ptr<AggregatedFrameEvent> event = *it; |
EXPECT_EQ(relative_rtp_timestamp, event->relative_rtp_timestamp()); |
@@ -228,10 +226,9 @@ TEST_F(EncodingEventSubscriberTest, FrameEventSize) { |
ASSERT_EQ(1u, frame_events_.size()); |
RtpTimestamp relative_rtp_timestamp = rtp_timestamp - first_rtp_timestamp_; |
- FrameEventMap::iterator it = frame_events_.find(relative_rtp_timestamp); |
- ASSERT_TRUE(it != frame_events_.end()); |
+ FrameEventList::iterator it = frame_events_.begin(); |
- linked_ptr<AggregatedFrameEvent> event = it->second; |
+ linked_ptr<AggregatedFrameEvent> event = *it; |
EXPECT_EQ(relative_rtp_timestamp, event->relative_rtp_timestamp()); |
@@ -273,10 +270,9 @@ TEST_F(EncodingEventSubscriberTest, MultipleFrameEvents) { |
ASSERT_EQ(2u, frame_events_.size()); |
RtpTimestamp relative_rtp_timestamp = rtp_timestamp1 - first_rtp_timestamp_; |
- FrameEventMap::iterator it = frame_events_.find(relative_rtp_timestamp); |
- ASSERT_TRUE(it != frame_events_.end()); |
+ FrameEventList::iterator it = frame_events_.begin(); |
- linked_ptr<AggregatedFrameEvent> event = it->second; |
+ linked_ptr<AggregatedFrameEvent> event = *it; |
EXPECT_EQ(relative_rtp_timestamp, event->relative_rtp_timestamp()); |
@@ -291,10 +287,9 @@ TEST_F(EncodingEventSubscriberTest, MultipleFrameEvents) { |
EXPECT_FALSE(event->has_key_frame()); |
relative_rtp_timestamp = rtp_timestamp2 - first_rtp_timestamp_; |
- it = frame_events_.find(relative_rtp_timestamp); |
- ASSERT_TRUE(it != frame_events_.end()); |
+ ++it; |
- event = it->second; |
+ event = *it; |
EXPECT_EQ(relative_rtp_timestamp, event->relative_rtp_timestamp()); |
@@ -322,10 +317,9 @@ TEST_F(EncodingEventSubscriberTest, PacketEvent) { |
ASSERT_EQ(1u, packet_events_.size()); |
RtpTimestamp relative_rtp_timestamp = rtp_timestamp - first_rtp_timestamp_; |
- PacketEventMap::iterator it = packet_events_.find(relative_rtp_timestamp); |
- ASSERT_TRUE(it != packet_events_.end()); |
+ PacketEventList::iterator it = packet_events_.begin(); |
- linked_ptr<AggregatedPacketEvent> event = it->second; |
+ linked_ptr<AggregatedPacketEvent> event = *it; |
EXPECT_EQ(relative_rtp_timestamp, event->relative_rtp_timestamp()); |
@@ -371,10 +365,9 @@ TEST_F(EncodingEventSubscriberTest, MultiplePacketEventsForPacket) { |
ASSERT_EQ(1u, packet_events_.size()); |
RtpTimestamp relative_rtp_timestamp = rtp_timestamp - first_rtp_timestamp_; |
- PacketEventMap::iterator it = packet_events_.find(relative_rtp_timestamp); |
- ASSERT_TRUE(it != packet_events_.end()); |
+ PacketEventList::iterator it = packet_events_.begin(); |
- linked_ptr<AggregatedPacketEvent> event = it->second; |
+ linked_ptr<AggregatedPacketEvent> event = *it; |
EXPECT_EQ(relative_rtp_timestamp, event->relative_rtp_timestamp()); |
@@ -421,10 +414,9 @@ TEST_F(EncodingEventSubscriberTest, MultiplePacketEventsForFrame) { |
ASSERT_EQ(1u, packet_events_.size()); |
RtpTimestamp relative_rtp_timestamp = rtp_timestamp - first_rtp_timestamp_; |
- PacketEventMap::iterator it = packet_events_.find(relative_rtp_timestamp); |
- ASSERT_TRUE(it != packet_events_.end()); |
+ PacketEventList::iterator it = packet_events_.begin(); |
- linked_ptr<AggregatedPacketEvent> event = it->second; |
+ linked_ptr<AggregatedPacketEvent> event = *it; |
EXPECT_EQ(relative_rtp_timestamp, event->relative_rtp_timestamp()); |
@@ -477,10 +469,9 @@ TEST_F(EncodingEventSubscriberTest, MultiplePacketEvents) { |
ASSERT_EQ(2u, packet_events_.size()); |
RtpTimestamp relative_rtp_timestamp = rtp_timestamp_1 - first_rtp_timestamp_; |
- PacketEventMap::iterator it = packet_events_.find(relative_rtp_timestamp); |
- ASSERT_TRUE(it != packet_events_.end()); |
+ PacketEventList::iterator it = packet_events_.begin(); |
- linked_ptr<AggregatedPacketEvent> event = it->second; |
+ linked_ptr<AggregatedPacketEvent> event = *it; |
EXPECT_EQ(relative_rtp_timestamp, event->relative_rtp_timestamp()); |
@@ -494,11 +485,10 @@ TEST_F(EncodingEventSubscriberTest, MultiplePacketEvents) { |
EXPECT_EQ(InMilliseconds(now1), base_event.event_timestamp_ms(0)); |
relative_rtp_timestamp = rtp_timestamp_2 - first_rtp_timestamp_; |
- it = packet_events_.find(relative_rtp_timestamp); |
+ ++it; |
ASSERT_TRUE(it != packet_events_.end()); |
- event = it->second; |
- |
+ event = *it; |
EXPECT_EQ(relative_rtp_timestamp, event->relative_rtp_timestamp()); |
ASSERT_EQ(1, event->base_packet_event_size()); |
@@ -529,11 +519,13 @@ TEST_F(EncodingEventSubscriberTest, FirstRtpTimestamp) { |
GetEventsAndReset(); |
EXPECT_EQ(rtp_timestamp, first_rtp_timestamp_); |
- FrameEventMap::iterator it = frame_events_.find(0); |
+ FrameEventList::iterator it = frame_events_.begin(); |
ASSERT_NE(frame_events_.end(), it); |
+ EXPECT_EQ(0u, (*it)->relative_rtp_timestamp()); |
- it = frame_events_.find(30); |
+ ++it; |
ASSERT_NE(frame_events_.end(), it); |
+ EXPECT_EQ(30u, (*it)->relative_rtp_timestamp()); |
rtp_timestamp = 67890; |
@@ -564,11 +556,90 @@ TEST_F(EncodingEventSubscriberTest, RelativeRtpTimestampWrapAround) { |
GetEventsAndReset(); |
- FrameEventMap::iterator it = frame_events_.find(0); |
+ FrameEventList::iterator it = frame_events_.begin(); |
ASSERT_NE(frame_events_.end(), it); |
+ EXPECT_EQ(0u, (*it)->relative_rtp_timestamp()); |
- it = frame_events_.find(30); |
+ ++it; |
ASSERT_NE(frame_events_.end(), it); |
+ EXPECT_EQ(30u, (*it)->relative_rtp_timestamp()); |
+} |
+ |
+TEST_F(EncodingEventSubscriberTest, MaxEventsPerProto) { |
+ Init(VIDEO_EVENT); |
+ RtpTimestamp rtp_timestamp = 100; |
+ for (int i = 0; i < kMaxEventsPerProto + 1; i++) { |
+ cast_environment_->Logging()->InsertFrameEvent(testing_clock_->NowTicks(), |
+ kVideoAckReceived, |
+ rtp_timestamp, |
+ /*frame_id*/ 0); |
+ testing_clock_->Advance(base::TimeDelta::FromMilliseconds(30)); |
+ } |
+ |
+ GetEventsAndReset(); |
+ |
+ ASSERT_EQ(2u, frame_events_.size()); |
+ FrameEventList::iterator frame_it = frame_events_.begin(); |
+ ASSERT_TRUE(frame_it != frame_events_.end()); |
+ |
+ linked_ptr<AggregatedFrameEvent> frame_event = *frame_it; |
+ |
+ EXPECT_EQ(kMaxEventsPerProto, frame_event->event_type_size()); |
+ |
+ for (int i = 0; i < kMaxPacketsPerFrame + 1; i++) { |
+ cast_environment_->Logging()->InsertPacketEvent( |
+ testing_clock_->NowTicks(), |
+ kVideoPacketRetransmitted, |
+ rtp_timestamp, |
+ /*frame_id*/ 0, |
+ i, |
+ kMaxPacketsPerFrame, |
+ 123); |
+ testing_clock_->Advance(base::TimeDelta::FromMilliseconds(30)); |
+ } |
+ |
+ GetEventsAndReset(); |
+ |
+ EXPECT_EQ(2u, packet_events_.size()); |
+ |
+ PacketEventList::iterator packet_it = packet_events_.begin(); |
+ ASSERT_TRUE(packet_it != packet_events_.end()); |
+ |
+ linked_ptr<AggregatedPacketEvent> packet_event = *packet_it; |
+ |
+ EXPECT_EQ(kMaxPacketsPerFrame, |
+ packet_event->base_packet_event_size()); |
+ |
+ ++packet_it; |
+ packet_event = *packet_it; |
+ EXPECT_EQ(1, packet_event->base_packet_event_size()); |
+ |
+ for (int j = 0; j < kMaxEventsPerProto + 1; j++) { |
+ cast_environment_->Logging()->InsertPacketEvent( |
+ testing_clock_->NowTicks(), |
+ kVideoPacketRetransmitted, |
+ rtp_timestamp, |
+ /*frame_id*/ 0, |
+ 0, |
+ 0, |
+ 123); |
+ testing_clock_->Advance(base::TimeDelta::FromMilliseconds(30)); |
+ } |
+ |
+ GetEventsAndReset(); |
+ |
+ EXPECT_EQ(2u, packet_events_.size()); |
+ packet_it = packet_events_.begin(); |
+ ASSERT_TRUE(packet_it != packet_events_.end()); |
+ |
+ packet_event = *packet_it; |
+ |
+ EXPECT_EQ(kMaxEventsPerProto, |
+ packet_event->base_packet_event(0).event_type_size()); |
+ |
+ ++packet_it; |
+ packet_event = *packet_it; |
+ EXPECT_EQ(1, packet_event->base_packet_event(0).event_type_size()); |
} |
} // namespace cast |