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

Unified Diff: media/cast/rtcp/rtcp.cc

Issue 192843002: Cast:Adding signaling and infrastructure for adjustable delay (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: nit Created 6 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/cast/rtcp/rtcp.h ('k') | media/cast/rtcp/rtcp_defines.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/cast/rtcp/rtcp.cc
diff --git a/media/cast/rtcp/rtcp.cc b/media/cast/rtcp/rtcp.cc
index cd910eb13b0b0e0de66a3d8eedb388fdfcb6633c..9f2007a2fb3ced44a041757f2879b395f352d619 100644
--- a/media/cast/rtcp/rtcp.cc
+++ b/media/cast/rtcp/rtcp.cc
@@ -19,6 +19,7 @@ namespace media {
namespace cast {
static const int kMaxRttMs = 10000; // 10 seconds.
+static const uint16 kMaxDelay = 2000;
// Time limit for received RTCP messages when we stop using it for lip-sync.
static const int64 kMaxDiffSinceReceivedRtcpMs = 100000; // 100 seconds.
@@ -241,18 +242,18 @@ void Rtcp::SendRtcpFromRtpReceiver(
// Attach our NTP to all RTCP packets; with this information a "smart" sender
// can make decisions based on how old the RTCP message is.
- packet_type_flags |= RtcpSender::kRtcpRrtr;
+ packet_type_flags |= transport::kRtcpRrtr;
ConvertTimeTicksToNtp(now, &rrtr.ntp_seconds, &rrtr.ntp_fraction);
SaveLastSentNtpTime(now, rrtr.ntp_seconds, rrtr.ntp_fraction);
if (cast_message) {
- packet_type_flags |= RtcpSender::kRtcpCast;
+ packet_type_flags |= transport::kRtcpCast;
}
if (event_subscriber) {
- packet_type_flags |= RtcpSender::kRtcpReceiverLog;
+ packet_type_flags |= transport::kRtcpReceiverLog;
}
if (rtcp_mode_ == kRtcpCompound || now >= next_time_to_send_rtcp_) {
- packet_type_flags |= RtcpSender::kRtcpRr;
+ packet_type_flags |= transport::kRtcpRr;
report_block.remote_ssrc = 0; // Not needed to set send side.
report_block.media_ssrc = remote_ssrc_; // SSRC of the RTP packet sender.
@@ -281,17 +282,18 @@ void Rtcp::SendRtcpFromRtpReceiver(
UpdateNextTimeToSendRtcp();
}
rtcp_sender_->SendRtcpFromRtpReceiver(
- packet_type_flags, &report_block, &rrtr, cast_message, event_subscriber);
+ packet_type_flags, &report_block, &rrtr, cast_message, event_subscriber,
+ target_delay_ms_);
}
void Rtcp::SendRtcpFromRtpSender(
const transport::RtcpSenderLogMessage& sender_log_message) {
DCHECK(transport_sender_);
- uint32 packet_type_flags = RtcpSender::kRtcpSr;
+ uint32 packet_type_flags = transport::kRtcpSr;
base::TimeTicks now = cast_environment_->Clock()->NowTicks();
if (sender_log_message.size()) {
- packet_type_flags |= RtcpSender::kRtcpSenderLog;
+ packet_type_flags |= transport::kRtcpSenderLog;
}
transport::RtcpSenderInfo sender_info;
@@ -304,7 +306,7 @@ void Rtcp::SendRtcpFromRtpSender(
transport::RtcpDlrrReportBlock dlrr;
if (!time_last_report_received_.is_null()) {
- packet_type_flags |= RtcpSender::kRtcpDlrr;
+ packet_type_flags |= transport::kRtcpDlrr;
dlrr.last_rr = last_report_received_;
uint32 delay_seconds = 0;
uint32 delay_fraction = 0;
@@ -392,6 +394,11 @@ void Rtcp::SetCastReceiverEventHistorySize(size_t size) {
rtcp_receiver_->SetCastReceiverEventHistorySize(size);
}
+void Rtcp::SetTargetDelay(base::TimeDelta target_delay) {
+ target_delay_ms_ = static_cast<uint16>(target_delay.InMilliseconds());
+ DCHECK(target_delay_ms_ < kMaxDelay);
+}
+
void Rtcp::OnReceivedDelaySinceLastReport(uint32 receivers_ssrc,
uint32 last_report,
uint32 delay_since_last_report) {
« no previous file with comments | « media/cast/rtcp/rtcp.h ('k') | media/cast/rtcp/rtcp_defines.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698