diff options
author | imcheng@chromium.org <imcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-10 04:39:16 +0000 |
---|---|---|
committer | imcheng@chromium.org <imcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-10 04:39:16 +0000 |
commit | ec8423cd41dd44f2aedf424a1b51b4202968e517 (patch) | |
tree | 2f55813a1067b5a7d48b07052e76276e518b98de | |
parent | b9d8e2f6d247d2f136fde31718cbfc2811b6e976 (diff) | |
download | chromium_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.cc | 10 |
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, |