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

Unified Diff: media/cast/logging/encoding_event_subscriber_unittest.cc

Issue 241833002: Cast: Limit number of events/packets in EncodingEventSubscriber protos. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix merge Created 6 years, 8 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/logging/encoding_event_subscriber.cc ('k') | media/cast/logging/log_deserializer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « media/cast/logging/encoding_event_subscriber.cc ('k') | media/cast/logging/log_deserializer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698