OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "media/cast/logging/encoding_event_subscriber.h" | 5 #include "media/cast/logging/encoding_event_subscriber.h" |
6 | 6 |
7 #include <cstring> | 7 #include <cstring> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
171 base_packet_event_proto = GetNewBasePacketEvent( | 171 base_packet_event_proto = GetNewBasePacketEvent( |
172 event_proto.get(), packet_event.packet_id, packet_event.size); | 172 event_proto.get(), packet_event.packet_id, packet_event.size); |
173 } | 173 } |
174 } | 174 } |
175 | 175 |
176 base_packet_event_proto->add_event_type( | 176 base_packet_event_proto->add_event_type( |
177 ToProtoEventType(packet_event.type)); | 177 ToProtoEventType(packet_event.type)); |
178 base_packet_event_proto->add_event_timestamp_ms( | 178 base_packet_event_proto->add_event_timestamp_ms( |
179 (packet_event.timestamp - base::TimeTicks()).InMilliseconds()); | 179 (packet_event.timestamp - base::TimeTicks()).InMilliseconds()); |
180 | 180 |
| 181 // |base_packet_event_proto| could have been created with a receiver event |
| 182 // which does not have the packet size and we would need to overwrite it when |
| 183 // we see a sender event, which does have the packet size. |
| 184 if (packet_event.size > 0) { |
| 185 base_packet_event_proto->set_size(packet_event.size); |
| 186 } |
| 187 |
181 if (packet_event_map_.size() > kMaxMapSize) | 188 if (packet_event_map_.size() > kMaxMapSize) |
182 TransferPacketEvents(kNumMapEntriesToTransfer); | 189 TransferPacketEvents(kNumMapEntriesToTransfer); |
183 | 190 |
184 DCHECK(packet_event_map_.size() <= kMaxMapSize); | 191 DCHECK(packet_event_map_.size() <= kMaxMapSize); |
185 DCHECK(packet_event_storage_.size() <= max_frames_); | 192 DCHECK(packet_event_storage_.size() <= max_frames_); |
186 } | 193 } |
187 | 194 |
188 void EncodingEventSubscriber::GetEventsAndReset(LogMetadata* metadata, | 195 void EncodingEventSubscriber::GetEventsAndReset(LogMetadata* metadata, |
189 FrameEventList* frame_events, PacketEventList* packet_events) { | 196 FrameEventList* frame_events, PacketEventList* packet_events) { |
190 DCHECK(thread_checker_.CalledOnValidThread()); | 197 DCHECK(thread_checker_.CalledOnValidThread()); |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
273 frame_event_storage_index_ = 0; | 280 frame_event_storage_index_ = 0; |
274 packet_event_map_.clear(); | 281 packet_event_map_.clear(); |
275 packet_event_storage_.clear(); | 282 packet_event_storage_.clear(); |
276 packet_event_storage_index_ = 0; | 283 packet_event_storage_index_ = 0; |
277 seen_first_rtp_timestamp_ = false; | 284 seen_first_rtp_timestamp_ = false; |
278 first_rtp_timestamp_ = 0u; | 285 first_rtp_timestamp_ = 0u; |
279 } | 286 } |
280 | 287 |
281 } // namespace cast | 288 } // namespace cast |
282 } // namespace media | 289 } // namespace media |
OLD | NEW |