| Index: media/cast/rtcp/sender_rtcp_event_subscriber.cc
|
| diff --git a/media/cast/rtcp/sender_rtcp_event_subscriber.cc b/media/cast/rtcp/sender_rtcp_event_subscriber.cc
|
| deleted file mode 100644
|
| index 6a44b339065da13baf61519aeaa6198b8d6eb125..0000000000000000000000000000000000000000
|
| --- a/media/cast/rtcp/sender_rtcp_event_subscriber.cc
|
| +++ /dev/null
|
| @@ -1,92 +0,0 @@
|
| -// Copyright 2014 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/rtcp/sender_rtcp_event_subscriber.h"
|
| -
|
| -#include <utility>
|
| -
|
| -#include "base/logging.h"
|
| -#include "media/cast/rtcp/rtcp_defines.h"
|
| -
|
| -namespace media {
|
| -namespace cast {
|
| -
|
| -SenderRtcpEventSubscriber::SenderRtcpEventSubscriber(
|
| - const size_t max_size_to_retain)
|
| - : max_size_to_retain_(max_size_to_retain) {
|
| - DCHECK(max_size_to_retain_ > 0u);
|
| -}
|
| -
|
| -SenderRtcpEventSubscriber::~SenderRtcpEventSubscriber() {
|
| - DCHECK(thread_checker_.CalledOnValidThread());
|
| -}
|
| -
|
| -void SenderRtcpEventSubscriber::OnReceiveFrameEvent(
|
| - const FrameEvent& frame_event) {
|
| - DCHECK(thread_checker_.CalledOnValidThread());
|
| - if (frame_event.media_type != VIDEO_EVENT)
|
| - return;
|
| - if (frame_event.type != FRAME_CAPTURE_BEGIN &&
|
| - frame_event.type != FRAME_ENCODED) {
|
| - // Not interested in other events.
|
| - return;
|
| - }
|
| -
|
| - RtcpEventMap::iterator it = rtcp_events_.find(frame_event.rtp_timestamp);
|
| - if (it == rtcp_events_.end()) {
|
| - // We have not stored this frame (RTP timestamp) in our map.
|
| - RtcpEvent rtcp_event;
|
| - rtcp_event.type = frame_event.type;
|
| - rtcp_event.timestamp = frame_event.timestamp;
|
| -
|
| - // Do not need to fill out rtcp_event.delay_delta or rtcp_event.packet_id
|
| - // as they are not set in frame events we are interested in.
|
| - rtcp_events_.insert(std::make_pair(frame_event.rtp_timestamp, rtcp_event));
|
| -
|
| - TruncateMapIfNeeded();
|
| - } else {
|
| - // We already have this frame (RTP timestamp) in our map.
|
| - // Only update events that are later in the chain.
|
| - // This is due to that events can be reordered on the wire.
|
| - if (frame_event.type == FRAME_CAPTURE_BEGIN) {
|
| - return; // First event in chain can not be late by definition.
|
| - }
|
| -
|
| - if (it->second.type == FRAME_ENCODED) {
|
| - return; // Last event in chain should not be updated.
|
| - }
|
| -
|
| - // Update existing entry.
|
| - it->second.type = frame_event.type;
|
| - }
|
| -
|
| - DCHECK(rtcp_events_.size() <= max_size_to_retain_);
|
| -}
|
| -
|
| -void SenderRtcpEventSubscriber::OnReceivePacketEvent(
|
| - const PacketEvent& packet_event) {
|
| - DCHECK(thread_checker_.CalledOnValidThread());
|
| - // Do nothing as RTP sender is not interested in packet events for RTCP.
|
| -}
|
| -
|
| -void SenderRtcpEventSubscriber::GetRtcpEventsAndReset(
|
| - RtcpEventMap* rtcp_events) {
|
| - DCHECK(thread_checker_.CalledOnValidThread());
|
| - rtcp_events->swap(rtcp_events_);
|
| - rtcp_events_.clear();
|
| -}
|
| -
|
| -void SenderRtcpEventSubscriber::TruncateMapIfNeeded() {
|
| - // If map size has exceeded |max_size_to_retain_|, remove entry with
|
| - // the smallest RTP timestamp.
|
| - if (rtcp_events_.size() > max_size_to_retain_) {
|
| - DVLOG(2) << "RTCP event map exceeded size limit; "
|
| - << "removing oldest entry";
|
| - // This is fine since we only insert elements one at a time.
|
| - rtcp_events_.erase(rtcp_events_.begin());
|
| - }
|
| -}
|
| -
|
| -} // namespace cast
|
| -} // namespace media
|
|
|