diff options
Diffstat (limited to 'chromium/media/cast/logging/logging_internal.cc')
-rw-r--r-- | chromium/media/cast/logging/logging_internal.cc | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/chromium/media/cast/logging/logging_internal.cc b/chromium/media/cast/logging/logging_internal.cc new file mode 100644 index 00000000000..ce2249ee4e0 --- /dev/null +++ b/chromium/media/cast/logging/logging_internal.cc @@ -0,0 +1,79 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "media/cast/logging/logging_internal.h" + +namespace media { +namespace cast { + +FrameLogData::FrameLogData(base::TickClock* clock) + : clock_(clock), + frame_map_() {} + +FrameLogData::~FrameLogData() {} + +void FrameLogData::Insert(uint32 rtp_timestamp, uint32 frame_id) { + FrameEvent info; + InsertBase(rtp_timestamp, frame_id, info); +} + +void FrameLogData::InsertWithSize( + uint32 rtp_timestamp, uint32 frame_id, int size) { + FrameEvent info; + info.size = size; + InsertBase(rtp_timestamp, frame_id, info); +} + +void FrameLogData::InsertWithDelay( + uint32 rtp_timestamp, uint32 frame_id, base::TimeDelta delay) { + FrameEvent info; + info.delay_delta = delay; + InsertBase(rtp_timestamp, frame_id, info); +} + +void FrameLogData::InsertBase( + uint32 rtp_timestamp, uint32 frame_id, FrameEvent info) { + info.timestamp = clock_->NowTicks(); + info.frame_id = frame_id; + frame_map_.insert(std::make_pair(rtp_timestamp, info)); +} + +PacketLogData::PacketLogData(base::TickClock* clock) + : clock_(clock), + packet_map_() {} + +PacketLogData::~PacketLogData() {} + +void PacketLogData::Insert(uint32 rtp_timestamp, + uint32 frame_id, uint16 packet_id, uint16 max_packet_id, int size) { + PacketEvent info; + info.size = size; + info.max_packet_id = max_packet_id; + info.frame_id = frame_id; + info.timestamp = clock_->NowTicks(); + // Is this a new frame? + PacketMap::iterator it = packet_map_.find(rtp_timestamp); + if (it == packet_map_.end()) { + // New rtp_timestamp id - create base packet map. + BasePacketMap base_map; + base_map.insert(std::make_pair(packet_id, info)); + packet_map_.insert(std::make_pair(rtp_timestamp, base_map)); + } else { + // Existing rtp_timestamp. + it->second.insert(std::make_pair(packet_id, info)); + } +} + +GenericLogData::GenericLogData(base::TickClock* clock) + : clock_(clock) {} + +GenericLogData::~GenericLogData() {} + +void GenericLogData::Insert(int data) { + data_.push_back(data); + timestamp_.push_back(clock_->NowTicks()); +} + +} // namespace cast +} // namespace media |