| Index: media/cast/logging/log_deserializer.cc
|
| diff --git a/media/cast/logging/log_deserializer.cc b/media/cast/logging/log_deserializer.cc
|
| index 5e5b189115c805996d7e8b3bdb74038cb5924fdd..d7b97be675258dc8888c04a498c18a7426b6ed15 100644
|
| --- a/media/cast/logging/log_deserializer.cc
|
| +++ b/media/cast/logging/log_deserializer.cc
|
| @@ -12,7 +12,8 @@
|
|
|
| using media::cast::FrameEventMap;
|
| using media::cast::PacketEventMap;
|
| -using media::cast::RtpTimestamp;
|
| +using media::cast::RtpTimeDelta;
|
| +using media::cast::RtpTimeTicks;
|
| using media::cast::proto::AggregatedFrameEvent;
|
| using media::cast::proto::AggregatedPacketEvent;
|
| using media::cast::proto::BasePacketEvent;
|
| @@ -71,7 +72,7 @@ bool PopulateDeserializedLog(base::BigEndianReader* reader,
|
| PacketEventMap packet_event_map;
|
|
|
| int num_frame_events = log->metadata.num_frame_events();
|
| - RtpTimestamp relative_rtp_timestamp = 0;
|
| + RtpTimeTicks relative_rtp_timestamp;
|
| uint16 proto_size = 0;
|
| for (int i = 0; i < num_frame_events; i++) {
|
| if (!reader->ReadU16(&proto_size))
|
| @@ -86,15 +87,15 @@ bool PopulateDeserializedLog(base::BigEndianReader* reader,
|
| // During serialization the RTP timestamp in proto is relative to previous
|
| // frame.
|
| // Adjust RTP timestamp back to value relative to first RTP timestamp.
|
| + relative_rtp_timestamp +=
|
| + RtpTimeDelta::FromTicks(frame_event->relative_rtp_timestamp());
|
| frame_event->set_relative_rtp_timestamp(
|
| - frame_event->relative_rtp_timestamp() + relative_rtp_timestamp);
|
| - relative_rtp_timestamp = frame_event->relative_rtp_timestamp();
|
| + relative_rtp_timestamp.lower_32_bits());
|
|
|
| - FrameEventMap::iterator it = frame_event_map.find(
|
| - frame_event->relative_rtp_timestamp());
|
| + FrameEventMap::iterator it = frame_event_map.find(relative_rtp_timestamp);
|
| if (it == frame_event_map.end()) {
|
| frame_event_map.insert(
|
| - std::make_pair(frame_event->relative_rtp_timestamp(), frame_event));
|
| + std::make_pair(relative_rtp_timestamp, frame_event));
|
| } else {
|
| // Events for the same frame might have been split into more than one
|
| // proto. Merge them.
|
| @@ -105,7 +106,7 @@ bool PopulateDeserializedLog(base::BigEndianReader* reader,
|
| log->frame_events.swap(frame_event_map);
|
|
|
| int num_packet_events = log->metadata.num_packet_events();
|
| - relative_rtp_timestamp = 0;
|
| + relative_rtp_timestamp = RtpTimeTicks();
|
| for (int i = 0; i < num_packet_events; i++) {
|
| if (!reader->ReadU16(&proto_size))
|
| return false;
|
| @@ -116,15 +117,15 @@ bool PopulateDeserializedLog(base::BigEndianReader* reader,
|
| if (!reader->Skip(proto_size))
|
| return false;
|
|
|
| + relative_rtp_timestamp +=
|
| + RtpTimeDelta::FromTicks(packet_event->relative_rtp_timestamp());
|
| packet_event->set_relative_rtp_timestamp(
|
| - packet_event->relative_rtp_timestamp() + relative_rtp_timestamp);
|
| - relative_rtp_timestamp = packet_event->relative_rtp_timestamp();
|
| + relative_rtp_timestamp.lower_32_bits());
|
|
|
| - PacketEventMap::iterator it = packet_event_map.find(
|
| - packet_event->relative_rtp_timestamp());
|
| + PacketEventMap::iterator it = packet_event_map.find(relative_rtp_timestamp);
|
| if (it == packet_event_map.end()) {
|
| packet_event_map.insert(
|
| - std::make_pair(packet_event->relative_rtp_timestamp(), packet_event));
|
| + std::make_pair(relative_rtp_timestamp, packet_event));
|
| } else {
|
| // Events for the same frame might have been split into more than one
|
| // proto. Merge them.
|
|
|