Index: media/cast/net/cast_transport_sender_impl.cc |
diff --git a/media/cast/net/cast_transport_sender_impl.cc b/media/cast/net/cast_transport_sender_impl.cc |
index 80672350c85c65d02f9dbe23a1ecb1eb206bfbfd..5f46089bd0a4c1c8132b4e50c021007aedb9d60b 100644 |
--- a/media/cast/net/cast_transport_sender_impl.cc |
+++ b/media/cast/net/cast_transport_sender_impl.cc |
@@ -97,7 +97,8 @@ CastTransportSenderImpl::~CastTransportSenderImpl() { |
void CastTransportSenderImpl::InitializeAudio( |
const CastTransportRtpConfig& config, |
const RtcpCastMessageCallback& cast_message_cb, |
- const RtcpRttCallback& rtt_cb) { |
+ const RtcpRttCallback& rtt_cb, |
+ const RtcpPliCallback& pli_cb) { |
LOG_IF(WARNING, config.aes_key.empty() || config.aes_iv_mask.empty()) |
<< "Unsafe to send audio with encryption DISABLED."; |
if (!audio_encryptor_.Initialize(config.aes_key, config.aes_iv_mask)) { |
@@ -122,7 +123,7 @@ void CastTransportSenderImpl::InitializeAudio( |
weak_factory_.GetWeakPtr(), config.ssrc, cast_message_cb), |
rtt_cb, base::Bind(&CastTransportSenderImpl::OnReceivedLogMessage, |
weak_factory_.GetWeakPtr(), AUDIO_EVENT), |
- clock_, &pacer_, config.ssrc, config.feedback_ssrc)); |
+ pli_cb, clock_, &pacer_, config.ssrc, config.feedback_ssrc)); |
pacer_.RegisterAudioSsrc(config.ssrc); |
valid_sender_ssrcs_.insert(config.feedback_ssrc); |
transport_client_->OnStatusChanged(TRANSPORT_AUDIO_INITIALIZED); |
@@ -131,7 +132,8 @@ void CastTransportSenderImpl::InitializeAudio( |
void CastTransportSenderImpl::InitializeVideo( |
const CastTransportRtpConfig& config, |
const RtcpCastMessageCallback& cast_message_cb, |
- const RtcpRttCallback& rtt_cb) { |
+ const RtcpRttCallback& rtt_cb, |
+ const RtcpPliCallback& pli_cb) { |
LOG_IF(WARNING, config.aes_key.empty() || config.aes_iv_mask.empty()) |
<< "Unsafe to send video with encryption DISABLED."; |
if (!video_encryptor_.Initialize(config.aes_key, config.aes_iv_mask)) { |
@@ -151,7 +153,7 @@ void CastTransportSenderImpl::InitializeVideo( |
weak_factory_.GetWeakPtr(), config.ssrc, cast_message_cb), |
rtt_cb, base::Bind(&CastTransportSenderImpl::OnReceivedLogMessage, |
weak_factory_.GetWeakPtr(), VIDEO_EVENT), |
- clock_, &pacer_, config.ssrc, config.feedback_ssrc)); |
+ pli_cb, clock_, &pacer_, config.ssrc, config.feedback_ssrc)); |
pacer_.RegisterVideoSsrc(config.ssrc); |
valid_sender_ssrcs_.insert(config.feedback_ssrc); |
transport_client_->OnStatusChanged(TRANSPORT_VIDEO_INITIALIZED); |
@@ -449,6 +451,15 @@ void CastTransportSenderImpl::AddCastFeedback( |
rtcp_builder_at_rtp_receiver_->AddCast(cast_message, target_delay); |
} |
+void CastTransportSenderImpl::AddPli(const RtcpPliMessage& pli_message) { |
+ if (!rtcp_builder_at_rtp_receiver_) { |
+ VLOG(1) << "rtcp_builder_at_rtp_receiver_ is not initialized before " |
+ "calling CastTransportSenderImpl::AddPli."; |
+ return; |
+ } |
+ rtcp_builder_at_rtp_receiver_->AddPli(pli_message); |
+} |
+ |
void CastTransportSenderImpl::AddRtcpEvents( |
const ReceiverRtcpEventSubscriber::RtcpEvents& rtcp_events) { |
if (!rtcp_builder_at_rtp_receiver_) { |