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

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

Issue 331383006: [Cast] Fix log_deserializer BasePacketEvent merge bug. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 6 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/cast/logging/log_deserializer.cc
diff --git a/media/cast/logging/log_deserializer.cc b/media/cast/logging/log_deserializer.cc
index a4c79b3de950bef74568ab7c220525c0509989d5..1c6dd572240d61df1d70351227236856ec753fbe 100644
--- a/media/cast/logging/log_deserializer.cc
+++ b/media/cast/logging/log_deserializer.cc
@@ -35,7 +35,12 @@ void MergePacketEvent(const AggregatedPacketEvent& from,
for (int j = 0; j < to->base_packet_event_size(); j++) {
BasePacketEvent* to_base_event = to->mutable_base_packet_event(j);
if (from_base_event.packet_id() == to_base_event->packet_id()) {
+ int packet_size = std::max(
+ from_base_event.size(), to_base_event->size());
+ // Need special merge logic here because we need to prevent a valid
+ // packet size (> 0) from being overwritten with an invalid one (= 0).
to_base_event->MergeFrom(from_base_event);
+ to_base_event->set_size(packet_size);
merged = true;
break;
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698