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

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

Issue 281453003: Cast: Simplify code path for RTCP sender report (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merged Created 6 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « media/cast/rtcp/rtcp.h ('k') | media/cast/rtcp/rtcp_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.h" 5 #include "media/cast/rtcp/rtcp.h"
6 6
7 #include "base/big_endian.h" 7 #include "base/big_endian.h"
8 #include "base/rand_util.h" 8 #include "base/rand_util.h"
9 #include "media/cast/cast_config.h" 9 #include "media/cast/cast_config.h"
10 #include "media/cast/cast_defines.h" 10 #include "media/cast/cast_defines.h"
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 UpdateNextTimeToSendRtcp(); 199 UpdateNextTimeToSendRtcp();
200 } 200 }
201 rtcp_sender_->SendRtcpFromRtpReceiver(packet_type_flags, 201 rtcp_sender_->SendRtcpFromRtpReceiver(packet_type_flags,
202 &report_block, 202 &report_block,
203 &rrtr, 203 &rrtr,
204 cast_message, 204 cast_message,
205 rtcp_events, 205 rtcp_events,
206 target_delay_ms_); 206 target_delay_ms_);
207 } 207 }
208 208
209 void Rtcp::SendRtcpFromRtpSender( 209 void Rtcp::SendRtcpFromRtpSender(base::TimeTicks current_time,
210 transport::RtcpSenderInfo sender_info) { 210 uint32 current_time_as_rtp_timestamp) {
211 DCHECK(transport_sender_); 211 DCHECK(transport_sender_);
212 uint32 packet_type_flags = transport::kRtcpSr; 212 uint32 packet_type_flags = transport::kRtcpSr;
213 base::TimeTicks now = cast_environment_->Clock()->NowTicks(); 213 uint32 current_ntp_seconds = 0;
214 214 uint32 current_ntp_fractions = 0;
215 SaveLastSentNtpTime(now, sender_info.ntp_seconds, sender_info.ntp_fraction); 215 ConvertTimeTicksToNtp(current_time, &current_ntp_seconds,
216 &current_ntp_fractions);
217 SaveLastSentNtpTime(current_time, current_ntp_seconds,
218 current_ntp_fractions);
216 219
217 transport::RtcpDlrrReportBlock dlrr; 220 transport::RtcpDlrrReportBlock dlrr;
218 if (!time_last_report_received_.is_null()) { 221 if (!time_last_report_received_.is_null()) {
219 packet_type_flags |= transport::kRtcpDlrr; 222 packet_type_flags |= transport::kRtcpDlrr;
220 dlrr.last_rr = last_report_received_; 223 dlrr.last_rr = last_report_received_;
221 uint32 delay_seconds = 0; 224 uint32 delay_seconds = 0;
222 uint32 delay_fraction = 0; 225 uint32 delay_fraction = 0;
223 base::TimeDelta delta = now - time_last_report_received_; 226 base::TimeDelta delta = current_time - time_last_report_received_;
224 ConvertTimeToFractions(delta.InMicroseconds(), &delay_seconds, 227 ConvertTimeToFractions(delta.InMicroseconds(), &delay_seconds,
225 &delay_fraction); 228 &delay_fraction);
226 229
227 dlrr.delay_since_last_rr = ConvertToNtpDiff(delay_seconds, delay_fraction); 230 dlrr.delay_since_last_rr = ConvertToNtpDiff(delay_seconds, delay_fraction);
228 } 231 }
229 232
230 transport_sender_->SendRtcpFromRtpSender( 233 transport_sender_->SendRtcpFromRtpSender(
231 packet_type_flags, sender_info, dlrr, local_ssrc_, 234 packet_type_flags, current_ntp_seconds, current_ntp_fractions,
232 c_name_); 235 current_time_as_rtp_timestamp, dlrr, local_ssrc_, c_name_);
233 UpdateNextTimeToSendRtcp(); 236 UpdateNextTimeToSendRtcp();
234 } 237 }
235 238
236 void Rtcp::OnReceivedNtp(uint32 ntp_seconds, uint32 ntp_fraction) { 239 void Rtcp::OnReceivedNtp(uint32 ntp_seconds, uint32 ntp_fraction) {
237 last_report_received_ = (ntp_seconds << 16) + (ntp_fraction >> 16); 240 last_report_received_ = (ntp_seconds << 16) + (ntp_fraction >> 16);
238 241
239 base::TimeTicks now = cast_environment_->Clock()->NowTicks(); 242 base::TimeTicks now = cast_environment_->Clock()->NowTicks();
240 time_last_report_received_ = now; 243 time_last_report_received_ = now;
241 } 244 }
242 245
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 VLOG(2) << "Received log message via RTCP that we did not expect: " 430 VLOG(2) << "Received log message via RTCP that we did not expect: "
428 << static_cast<int>(event_it->type); 431 << static_cast<int>(event_it->type);
429 break; 432 break;
430 } 433 }
431 } 434 }
432 } 435 }
433 } 436 }
434 437
435 } // namespace cast 438 } // namespace cast
436 } // namespace media 439 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/rtcp/rtcp.h ('k') | media/cast/rtcp/rtcp_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698