summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorimcheng@chromium.org <imcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-10 04:39:16 +0000
committerimcheng@chromium.org <imcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-10 04:39:16 +0000
commitec8423cd41dd44f2aedf424a1b51b4202968e517 (patch)
tree2f55813a1067b5a7d48b07052e76276e518b98de
parentb9d8e2f6d247d2f136fde31718cbfc2811b6e976 (diff)
downloadchromium_src-ec8423cd41dd44f2aedf424a1b51b4202968e517.zip
chromium_src-ec8423cd41dd44f2aedf424a1b51b4202968e517.tar.gz
chromium_src-ec8423cd41dd44f2aedf424a1b51b4202968e517.tar.bz2
Cast: Fix a bug with indexing in LogDeserializer.
The inner loop in MergePacketEvent should be using j to access the BasePacketEvents. Also improved merging logic in MergeFrameEvent a bit. Review URL: https://codereview.chromium.org/263293003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269522 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--media/cast/logging/log_deserializer.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/media/cast/logging/log_deserializer.cc b/media/cast/logging/log_deserializer.cc
index 5621be0..a4c79b3 100644
--- a/media/cast/logging/log_deserializer.cc
+++ b/media/cast/logging/log_deserializer.cc
@@ -33,7 +33,7 @@ void MergePacketEvent(const AggregatedPacketEvent& from,
const BasePacketEvent& from_base_event = from.base_packet_event(i);
bool merged = false;
for (int j = 0; j < to->base_packet_event_size(); j++) {
- BasePacketEvent* to_base_event = to->mutable_base_packet_event(i);
+ BasePacketEvent* to_base_event = to->mutable_base_packet_event(j);
if (from_base_event.packet_id() == to_base_event->packet_id()) {
to_base_event->MergeFrom(from_base_event);
merged = true;
@@ -51,12 +51,14 @@ void MergeFrameEvent(const AggregatedFrameEvent& from,
linked_ptr<AggregatedFrameEvent> to) {
to->mutable_event_type()->MergeFrom(from.event_type());
to->mutable_event_timestamp_ms()->MergeFrom(from.event_timestamp_ms());
- if (!to->has_encoded_frame_size())
+ if (!to->has_encoded_frame_size() && from.has_encoded_frame_size())
to->set_encoded_frame_size(from.encoded_frame_size());
- if (!to->has_delay_millis())
+ if (!to->has_delay_millis() && from.has_delay_millis())
to->set_delay_millis(from.delay_millis());
- if (!to->has_key_frame())
+ if (!to->has_key_frame() && from.has_key_frame())
to->set_key_frame(from.key_frame());
+ if (!to->has_target_bitrate() && from.has_target_bitrate())
+ to->set_target_bitrate(from.target_bitrate());
}
bool PopulateDeserializedLog(base::BigEndianReader* reader,