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

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

Issue 69603002: Incorporating logging into Cast (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Adding scoped_ptr include Created 7 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « media/cast/rtcp/rtcp_receiver.h ('k') | media/cast/rtcp/rtcp_receiver_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/rtcp_receiver.h" 5 #include "media/cast/rtcp/rtcp_receiver.h"
6 6
7 #include "base/debug/trace_event.h"
8 #include "base/logging.h" 7 #include "base/logging.h"
9 #include "media/cast/rtcp/rtcp_utility.h" 8 #include "media/cast/rtcp/rtcp_utility.h"
10 9
11 namespace media { 10 namespace media {
12 namespace cast { 11 namespace cast {
13 12
14 RtcpReceiver::RtcpReceiver(RtcpSenderFeedback* sender_feedback, 13 RtcpReceiver::RtcpReceiver(scoped_refptr<CastEnvironment> cast_environment,
14 RtcpSenderFeedback* sender_feedback,
15 RtcpReceiverFeedback* receiver_feedback, 15 RtcpReceiverFeedback* receiver_feedback,
16 RtcpRttFeedback* rtt_feedback, 16 RtcpRttFeedback* rtt_feedback,
17 uint32 local_ssrc) 17 uint32 local_ssrc)
18 : ssrc_(local_ssrc), 18 : ssrc_(local_ssrc),
19 remote_ssrc_(0), 19 remote_ssrc_(0),
20 sender_feedback_(sender_feedback), 20 sender_feedback_(sender_feedback),
21 receiver_feedback_(receiver_feedback), 21 receiver_feedback_(receiver_feedback),
22 rtt_feedback_(rtt_feedback) { 22 rtt_feedback_(rtt_feedback),
23 } 23 cast_environment_(cast_environment) {}
24 24
25 RtcpReceiver::~RtcpReceiver() {} 25 RtcpReceiver::~RtcpReceiver() {}
26 26
27 void RtcpReceiver::SetRemoteSSRC(uint32 ssrc) { 27 void RtcpReceiver::SetRemoteSSRC(uint32 ssrc) {
28 remote_ssrc_ = ssrc; 28 remote_ssrc_ = ssrc;
29 } 29 }
30 30
31 void RtcpReceiver::IncomingRtcpPacket(RtcpParser* rtcp_parser) { 31 void RtcpReceiver::IncomingRtcpPacket(RtcpParser* rtcp_parser) {
32 RtcpFieldTypes field_type = rtcp_parser->Begin(); 32 RtcpFieldTypes field_type = rtcp_parser->Begin();
33 while (field_type != kRtcpNotValidCode) { 33 while (field_type != kRtcpNotValidCode) {
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 // which the information in this reception report block pertains. 155 // which the information in this reception report block pertains.
156 156
157 const RtcpFieldReportBlockItem& rb = rtcp_field->report_block_item; 157 const RtcpFieldReportBlockItem& rb = rtcp_field->report_block_item;
158 158
159 // Filter out all report blocks that are not for us. 159 // Filter out all report blocks that are not for us.
160 if (rb.ssrc != ssrc_) { 160 if (rb.ssrc != ssrc_) {
161 // This block is not for us ignore it. 161 // This block is not for us ignore it.
162 return; 162 return;
163 } 163 }
164 VLOG(1) << "Cast RTCP received RB from SSRC " << remote_ssrc; 164 VLOG(1) << "Cast RTCP received RB from SSRC " << remote_ssrc;
165 165 cast_environment_->Logging()->InsertGenericEvent(kPacketLoss,
166 TRACE_COUNTER_ID1("cast_rtcp", "RtcpReceiver::FractionLost", 166 rb.fraction_lost);
167 rb.ssrc, rb.fraction_lost); 167 cast_environment_->Logging()->InsertGenericEvent(kJitterMs,
168 TRACE_COUNTER_ID1("cast_rtcp", "RtcpReceiver::CumulativeNumberOfPacketsLost", 168 rb.jitter);
169 rb.ssrc, rb.cumulative_number_of_packets_lost);
170 TRACE_COUNTER_ID1("cast_rtcp", "RtcpReceiver::Jitter",
171 rb.ssrc, rb.jitter);
172 169
173 RtcpReportBlock report_block; 170 RtcpReportBlock report_block;
174 report_block.remote_ssrc = remote_ssrc; 171 report_block.remote_ssrc = remote_ssrc;
175 report_block.media_ssrc = rb.ssrc; 172 report_block.media_ssrc = rb.ssrc;
176 report_block.fraction_lost = rb.fraction_lost; 173 report_block.fraction_lost = rb.fraction_lost;
177 report_block.cumulative_lost = rb.cumulative_number_of_packets_lost; 174 report_block.cumulative_lost = rb.cumulative_number_of_packets_lost;
178 report_block.extended_high_sequence_number = 175 report_block.extended_high_sequence_number =
179 rb.extended_highest_sequence_number; 176 rb.extended_highest_sequence_number;
180 report_block.jitter = rb.jitter; 177 report_block.jitter = rb.jitter;
181 report_block.last_sr = rb.last_sender_report; 178 report_block.last_sr = rb.last_sender_report;
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 435
439 void RtcpReceiver::HandleFIRItem(const RtcpField* rtcp_field) { 436 void RtcpReceiver::HandleFIRItem(const RtcpField* rtcp_field) {
440 // Is it our sender that is requested to generate a new keyframe. 437 // Is it our sender that is requested to generate a new keyframe.
441 if (ssrc_ != rtcp_field->fir_item.ssrc) return; 438 if (ssrc_ != rtcp_field->fir_item.ssrc) return;
442 439
443 VLOG(1) << "Cast RTCP received FIR on our SSRC " << ssrc_; 440 VLOG(1) << "Cast RTCP received FIR on our SSRC " << ssrc_;
444 } 441 }
445 442
446 } // namespace cast 443 } // namespace cast
447 } // namespace media 444 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/rtcp/rtcp_receiver.h ('k') | media/cast/rtcp/rtcp_receiver_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698