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

Side by Side Diff: media/cast/rtcp/sender_rtcp_event_subscriber.cc

Issue 145873007: Cast: Added missing DCHECKs to ThreadChecker calls and minor cleanup. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 10 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 unified diff | Download patch
OLDNEW
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/rtcp/sender_rtcp_event_subscriber.h" 5 #include "media/cast/rtcp/sender_rtcp_event_subscriber.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/single_thread_task_runner.h" 9 #include "base/logging.h"
10 #include "media/cast/cast_environment.h"
11 #include "media/cast/rtcp/rtcp_defines.h" 10 #include "media/cast/rtcp/rtcp_defines.h"
12 11
13 namespace media { 12 namespace media {
14 namespace cast { 13 namespace cast {
15 14
16 SenderRtcpEventSubscriber::SenderRtcpEventSubscriber( 15 SenderRtcpEventSubscriber::SenderRtcpEventSubscriber(
17 const scoped_refptr<base::SingleThreadTaskRunner>& main_thread_proxy,
18 const size_t max_size_to_retain) 16 const size_t max_size_to_retain)
19 : max_size_to_retain_(max_size_to_retain) { 17 : max_size_to_retain_(max_size_to_retain) {
20 DCHECK(main_thread_proxy->RunsTasksOnCurrentThread());
21 DCHECK(max_size_to_retain_ > 0u); 18 DCHECK(max_size_to_retain_ > 0u);
22 } 19 }
23 20
24 SenderRtcpEventSubscriber::~SenderRtcpEventSubscriber() { 21 SenderRtcpEventSubscriber::~SenderRtcpEventSubscriber() {
25 thread_checker_.CalledOnValidThread(); 22 DCHECK(thread_checker_.CalledOnValidThread());
26 } 23 }
27 24
28 void SenderRtcpEventSubscriber::OnReceiveFrameEvent( 25 void SenderRtcpEventSubscriber::OnReceiveFrameEvent(
29 const FrameEvent& frame_event) { 26 const FrameEvent& frame_event) {
30 thread_checker_.CalledOnValidThread(); 27 DCHECK(thread_checker_.CalledOnValidThread());
31 if (frame_event.type != kVideoFrameCaptured && 28 if (frame_event.type != kVideoFrameCaptured &&
32 frame_event.type != kVideoFrameSentToEncoder && 29 frame_event.type != kVideoFrameSentToEncoder &&
33 frame_event.type != kVideoFrameEncoded) { 30 frame_event.type != kVideoFrameEncoded) {
34 // Not interested in other events. 31 // Not interested in other events.
35 return; 32 return;
36 } 33 }
37 34
38 RtcpEventMap::iterator it = rtcp_events_.find(frame_event.rtp_timestamp); 35 RtcpEventMap::iterator it = rtcp_events_.find(frame_event.rtp_timestamp);
39 if (it == rtcp_events_.end()) { 36 if (it == rtcp_events_.end()) {
40 // We have not stored this frame (RTP timestamp) in our map. 37 // We have not stored this frame (RTP timestamp) in our map.
(...skipping 20 matching lines...) Expand all
61 58
62 // Update existing entry. 59 // Update existing entry.
63 it->second.type = frame_event.type; 60 it->second.type = frame_event.type;
64 } 61 }
65 62
66 DCHECK(rtcp_events_.size() <= max_size_to_retain_); 63 DCHECK(rtcp_events_.size() <= max_size_to_retain_);
67 } 64 }
68 65
69 void SenderRtcpEventSubscriber::OnReceivePacketEvent( 66 void SenderRtcpEventSubscriber::OnReceivePacketEvent(
70 const PacketEvent& packet_event) { 67 const PacketEvent& packet_event) {
71 thread_checker_.CalledOnValidThread(); 68 DCHECK(thread_checker_.CalledOnValidThread());
72 // Do nothing as RTP sender is not interested in packet events for RTCP. 69 // Do nothing as RTP sender is not interested in packet events for RTCP.
73 } 70 }
74 71
75 void SenderRtcpEventSubscriber::OnReceiveGenericEvent( 72 void SenderRtcpEventSubscriber::OnReceiveGenericEvent(
76 const GenericEvent& generic_event) { 73 const GenericEvent& generic_event) {
77 thread_checker_.CalledOnValidThread(); 74 DCHECK(thread_checker_.CalledOnValidThread());
78 // Do nothing as RTP sender is not interested in generic events for RTCP. 75 // Do nothing as RTP sender is not interested in generic events for RTCP.
79 } 76 }
80 77
81 void SenderRtcpEventSubscriber::GetRtcpEventsAndReset( 78 void SenderRtcpEventSubscriber::GetRtcpEventsAndReset(
82 RtcpEventMap* rtcp_events) { 79 RtcpEventMap* rtcp_events) {
83 thread_checker_.CalledOnValidThread(); 80 DCHECK(thread_checker_.CalledOnValidThread());
84 rtcp_events->swap(rtcp_events_); 81 rtcp_events->swap(rtcp_events_);
85 rtcp_events_.clear(); 82 rtcp_events_.clear();
86 } 83 }
87 84
88 void SenderRtcpEventSubscriber::TruncateMapIfNeeded() { 85 void SenderRtcpEventSubscriber::TruncateMapIfNeeded() {
89 // If map size has exceeded |max_size_to_retain_|, remove entry with 86 // If map size has exceeded |max_size_to_retain_|, remove entry with
90 // the smallest RTP timestamp. 87 // the smallest RTP timestamp.
91 if (rtcp_events_.size() > max_size_to_retain_) { 88 if (rtcp_events_.size() > max_size_to_retain_) {
92 DVLOG(2) << "RTCP event map exceeded size limit; " 89 DVLOG(2) << "RTCP event map exceeded size limit; "
93 << "removing oldest entry"; 90 << "removing oldest entry";
94 // This is fine since we only insert elements one at a time. 91 // This is fine since we only insert elements one at a time.
95 rtcp_events_.erase(rtcp_events_.begin()); 92 rtcp_events_.erase(rtcp_events_.begin());
96 } 93 }
97 } 94 }
98 95
99 } // namespace cast 96 } // namespace cast
100 } // namespace media 97 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/rtcp/sender_rtcp_event_subscriber.h ('k') | media/cast/rtcp/sender_rtcp_event_subscriber_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698