| Index: media/cast/net/rtcp/sender_rtcp_session.cc
|
| diff --git a/media/cast/net/rtcp/sender_rtcp_session.cc b/media/cast/net/rtcp/sender_rtcp_session.cc
|
| index 9fccbb62ae038d9a2b5771f00d13037109166b6e..b8c7acb0f748a5820eedcea435ccee6297c767e1 100644
|
| --- a/media/cast/net/rtcp/sender_rtcp_session.cc
|
| +++ b/media/cast/net/rtcp/sender_rtcp_session.cc
|
| @@ -72,6 +72,7 @@ SenderRtcpSession::SenderRtcpSession(
|
| const RtcpCastMessageCallback& cast_callback,
|
| const RtcpRttCallback& rtt_callback,
|
| const RtcpLogMessageCallback& log_callback,
|
| + const RtcpPliCallback pli_callback,
|
| base::TickClock* clock,
|
| PacedPacketSender* packet_sender,
|
| uint32_t local_ssrc,
|
| @@ -83,6 +84,7 @@ SenderRtcpSession::SenderRtcpSession(
|
| cast_callback_(cast_callback),
|
| rtt_callback_(rtt_callback),
|
| log_callback_(log_callback),
|
| + pli_callback_(pli_callback),
|
| largest_seen_timestamp_(base::TimeTicks::FromInternalValue(
|
| std::numeric_limits<int64_t>::min())),
|
| parser_(local_ssrc, remote_ssrc),
|
| @@ -107,6 +109,10 @@ bool SenderRtcpSession::IncomingRtcpPacket(const uint8_t* data, size_t length) {
|
| // Parse this packet.
|
| base::BigEndianReader reader(reinterpret_cast<const char*>(data), length);
|
| if (parser_.Parse(&reader)) {
|
| + if (parser_.has_picture_loss_indicator()) {
|
| + if (!pli_callback_.is_null())
|
| + pli_callback_.Run();
|
| + }
|
| if (parser_.has_receiver_reference_time_report()) {
|
| base::TimeTicks t = ConvertNtpToTimeTicks(
|
| parser_.receiver_reference_time_report().ntp_seconds,
|
|
|