summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorimcheng@chromium.org <imcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-30 08:42:55 +0000
committerimcheng@chromium.org <imcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-30 08:42:55 +0000
commita1ce0c74e464436c1758fe89aaf6c9824a3cf23b (patch)
treea9d016a2bda59ac7cdeac948eec9b10fbc960a21 /media
parentb32fe542a38857eec6d083e935d873cfb14ea079 (diff)
downloadchromium_src-a1ce0c74e464436c1758fe89aaf6c9824a3cf23b.zip
chromium_src-a1ce0c74e464436c1758fe89aaf6c9824a3cf23b.tar.gz
chromium_src-a1ce0c74e464436c1758fe89aaf6c9824a3cf23b.tar.bz2
Cast: log packet size for packet events in EncodingEventSubscriber.
This will help us figure out things like (re)transmission bitrate. BUG= Review URL: https://codereview.chromium.org/258143003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267140 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media')
-rw-r--r--media/cast/logging/encoding_event_subscriber.cc20
-rw-r--r--media/cast/logging/encoding_event_subscriber_unittest.cc1
-rw-r--r--media/cast/logging/proto/raw_events.proto3
3 files changed, 18 insertions, 6 deletions
diff --git a/media/cast/logging/encoding_event_subscriber.cc b/media/cast/logging/encoding_event_subscriber.cc
index 52924f7..2ccf731 100644
--- a/media/cast/logging/encoding_event_subscriber.cc
+++ b/media/cast/logging/encoding_event_subscriber.cc
@@ -31,6 +31,14 @@ bool IsRtpTimestampLessThan(const ProtoPtr& lhs, const ProtoPtr& rhs) {
return lhs->relative_rtp_timestamp() < rhs->relative_rtp_timestamp();
}
+BasePacketEvent* GetNewBasePacketEvent(AggregatedPacketEvent* event_proto,
+ int packet_id, int size) {
+ BasePacketEvent* base = event_proto->add_base_packet_event();
+ base->set_packet_id(packet_id);
+ base->set_size(size);
+ return base;
+}
+
}
namespace media {
@@ -121,8 +129,8 @@ void EncodingEventSubscriber::OnReceivePacketEvent(
event_proto->set_relative_rtp_timestamp(relative_rtp_timestamp);
packet_event_map_.insert(
std::make_pair(relative_rtp_timestamp, event_proto));
- base_packet_event_proto = event_proto->add_base_packet_event();
- base_packet_event_proto->set_packet_id(packet_event.packet_id);
+ base_packet_event_proto = GetNewBasePacketEvent(
+ event_proto.get(), packet_event.packet_id, packet_event.size);
} else {
// Found existing entry, now look up existing BasePacketEvent using packet
// ID. If not found, create a new entry and add to proto.
@@ -149,8 +157,8 @@ void EncodingEventSubscriber::OnReceivePacketEvent(
it->second = event_proto;
}
- base_packet_event_proto = event_proto->add_base_packet_event();
- base_packet_event_proto->set_packet_id(packet_event.packet_id);
+ base_packet_event_proto = GetNewBasePacketEvent(
+ event_proto.get(), packet_event.packet_id, packet_event.size);
} else if (base_packet_event_proto->event_type_size() >=
kMaxEventsPerProto) {
DVLOG(3) << "Too many events in packet "
@@ -160,8 +168,8 @@ void EncodingEventSubscriber::OnReceivePacketEvent(
event_proto.reset(new AggregatedPacketEvent);
event_proto->set_relative_rtp_timestamp(relative_rtp_timestamp);
it->second = event_proto;
- base_packet_event_proto = event_proto->add_base_packet_event();
- base_packet_event_proto->set_packet_id(packet_event.packet_id);
+ base_packet_event_proto = GetNewBasePacketEvent(
+ event_proto.get(), packet_event.packet_id, packet_event.size);
}
}
diff --git a/media/cast/logging/encoding_event_subscriber_unittest.cc b/media/cast/logging/encoding_event_subscriber_unittest.cc
index cdaed1f..8c919c0 100644
--- a/media/cast/logging/encoding_event_subscriber_unittest.cc
+++ b/media/cast/logging/encoding_event_subscriber_unittest.cc
@@ -331,6 +331,7 @@ TEST_F(EncodingEventSubscriberTest, PacketEvent) {
base_event.event_type(0));
ASSERT_EQ(1, base_event.event_timestamp_ms_size());
EXPECT_EQ(InMilliseconds(now), base_event.event_timestamp_ms(0));
+ EXPECT_EQ(size, base_event.size());
GetEventsAndReset();
EXPECT_TRUE(packet_events_.empty());
diff --git a/media/cast/logging/proto/raw_events.proto b/media/cast/logging/proto/raw_events.proto
index dbd259d..8f232cf 100644
--- a/media/cast/logging/proto/raw_events.proto
+++ b/media/cast/logging/proto/raw_events.proto
@@ -107,6 +107,9 @@ message BasePacketEvent {
// LogMetadata.reference_timestamp_ms_at_unix_epoch to relate to a real time
// and date.
repeated int64 event_timestamp_ms = 3 [packed = true];
+
+ // Size of the packet.
+ optional int32 size = 4;
}
message AggregatedPacketEvent {