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

Side by Side Diff: media/cast/rtcp/receiver_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/receiver_rtcp_event_subscriber.h" 5 #include "media/cast/rtcp/receiver_rtcp_event_subscriber.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/single_thread_task_runner.h"
10 #include "media/cast/cast_environment.h"
11
12 namespace media { 9 namespace media {
13 namespace cast { 10 namespace cast {
14 11
15 ReceiverRtcpEventSubscriber::ReceiverRtcpEventSubscriber( 12 ReceiverRtcpEventSubscriber::ReceiverRtcpEventSubscriber(
16 const scoped_refptr<base::SingleThreadTaskRunner>& main_thread_proxy,
17 const size_t max_size_to_retain, Type type) 13 const size_t max_size_to_retain, Type type)
18 : max_size_to_retain_(max_size_to_retain), type_(type) { 14 : max_size_to_retain_(max_size_to_retain), type_(type) {
19 DCHECK(main_thread_proxy->RunsTasksOnCurrentThread());
20 DCHECK(max_size_to_retain_ > 0u); 15 DCHECK(max_size_to_retain_ > 0u);
21 DCHECK(type_ == kAudioEventSubscriber || type_ == kVideoEventSubscriber); 16 DCHECK(type_ == kAudioEventSubscriber || type_ == kVideoEventSubscriber);
22 } 17 }
23 18
24 ReceiverRtcpEventSubscriber::~ReceiverRtcpEventSubscriber() { 19 ReceiverRtcpEventSubscriber::~ReceiverRtcpEventSubscriber() {
25 thread_checker_.CalledOnValidThread(); 20 DCHECK(thread_checker_.CalledOnValidThread());
26 } 21 }
27 22
28 void ReceiverRtcpEventSubscriber::OnReceiveFrameEvent( 23 void ReceiverRtcpEventSubscriber::OnReceiveFrameEvent(
29 const FrameEvent& frame_event) { 24 const FrameEvent& frame_event) {
30 thread_checker_.CalledOnValidThread(); 25 DCHECK(thread_checker_.CalledOnValidThread());
31 26
32 if (ShouldProcessEvent(frame_event.type)) { 27 if (ShouldProcessEvent(frame_event.type)) {
33 RtcpEvent rtcp_event; 28 RtcpEvent rtcp_event;
34 switch (frame_event.type) { 29 switch (frame_event.type) {
35 case kAudioPlayoutDelay: 30 case kAudioPlayoutDelay:
36 case kVideoRenderDelay: 31 case kVideoRenderDelay:
37 rtcp_event.delay_delta = frame_event.delay_delta; 32 rtcp_event.delay_delta = frame_event.delay_delta;
38 case kAudioFrameDecoded: 33 case kAudioFrameDecoded:
39 case kVideoFrameDecoded: 34 case kVideoFrameDecoded:
40 // TODO(imcheng): This doesn't seem correct because kAudioAckSent and 35 // TODO(imcheng): This doesn't seem correct because kAudioAckSent and
(...skipping 11 matching lines...) Expand all
52 } 47 }
53 } 48 }
54 49
55 TruncateMapIfNeeded(); 50 TruncateMapIfNeeded();
56 51
57 DCHECK(rtcp_events_.size() <= max_size_to_retain_); 52 DCHECK(rtcp_events_.size() <= max_size_to_retain_);
58 } 53 }
59 54
60 void ReceiverRtcpEventSubscriber::OnReceivePacketEvent( 55 void ReceiverRtcpEventSubscriber::OnReceivePacketEvent(
61 const PacketEvent& packet_event) { 56 const PacketEvent& packet_event) {
62 thread_checker_.CalledOnValidThread(); 57 DCHECK(thread_checker_.CalledOnValidThread());
63 58
64 if (ShouldProcessEvent(packet_event.type)) { 59 if (ShouldProcessEvent(packet_event.type)) {
65 RtcpEvent rtcp_event; 60 RtcpEvent rtcp_event;
66 if (packet_event.type == kAudioPacketReceived || 61 if (packet_event.type == kAudioPacketReceived ||
67 packet_event.type == kVideoPacketReceived) { 62 packet_event.type == kVideoPacketReceived) {
68 rtcp_event.type = packet_event.type; 63 rtcp_event.type = packet_event.type;
69 rtcp_event.timestamp = packet_event.timestamp; 64 rtcp_event.timestamp = packet_event.timestamp;
70 rtcp_event.packet_id = packet_event.packet_id; 65 rtcp_event.packet_id = packet_event.packet_id;
71 rtcp_events_.insert( 66 rtcp_events_.insert(
72 std::make_pair(packet_event.rtp_timestamp, rtcp_event)); 67 std::make_pair(packet_event.rtp_timestamp, rtcp_event));
73 } 68 }
74 } 69 }
75 70
76 TruncateMapIfNeeded(); 71 TruncateMapIfNeeded();
77 72
78 DCHECK(rtcp_events_.size() <= max_size_to_retain_); 73 DCHECK(rtcp_events_.size() <= max_size_to_retain_);
79 } 74 }
80 75
81 void ReceiverRtcpEventSubscriber::OnReceiveGenericEvent( 76 void ReceiverRtcpEventSubscriber::OnReceiveGenericEvent(
82 const GenericEvent& generic_event) { 77 const GenericEvent& generic_event) {
83 thread_checker_.CalledOnValidThread(); 78 DCHECK(thread_checker_.CalledOnValidThread());
84 // Do nothing as RTP receiver is not interested in generic events for RTCP. 79 // Do nothing as RTP receiver is not interested in generic events for RTCP.
85 } 80 }
86 81
87 void ReceiverRtcpEventSubscriber::GetReceiverLogMessageAndReset( 82 void ReceiverRtcpEventSubscriber::GetReceiverLogMessageAndReset(
88 RtcpReceiverLogMessage* receiver_log) { 83 RtcpReceiverLogMessage* receiver_log) {
89 thread_checker_.CalledOnValidThread(); 84 DCHECK(thread_checker_.CalledOnValidThread());
90 85
91 receiver_log->clear(); 86 receiver_log->clear();
92 87
93 typedef std::multimap<RtpTimestamp, RtcpEvent> RtcpEventMultiMap; 88 typedef std::multimap<RtpTimestamp, RtcpEvent> RtcpEventMultiMap;
94 RtcpEventMultiMap::const_iterator it = rtcp_events_.begin(); 89 RtcpEventMultiMap::const_iterator it = rtcp_events_.begin();
95 while (it != rtcp_events_.end()) { 90 while (it != rtcp_events_.end()) {
96 // On each iteration, process all entries that have the same key (RTP 91 // On each iteration, process all entries that have the same key (RTP
97 // timestamp) within the multimap, and generate a 92 // timestamp) within the multimap, and generate a
98 // RtcpReceiverFrameLogMessage from them. 93 // RtcpReceiverFrameLogMessage from them.
99 RtpTimestamp rtp_timestamp = it->first; 94 RtpTimestamp rtp_timestamp = it->first;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 return event_type == kVideoRenderDelay || 130 return event_type == kVideoRenderDelay ||
136 event_type == kVideoFrameDecoded || event_type == kVideoAckSent || 131 event_type == kVideoFrameDecoded || event_type == kVideoAckSent ||
137 event_type == kVideoPacketReceived; 132 event_type == kVideoPacketReceived;
138 } else { 133 } else {
139 return false; 134 return false;
140 } 135 }
141 } 136 }
142 137
143 } // namespace cast 138 } // namespace cast
144 } // namespace media 139 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/rtcp/receiver_rtcp_event_subscriber.h ('k') | media/cast/rtcp/receiver_rtcp_event_subscriber_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698