| 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 e8d764f8d2aebbf83e226af60029e5b18dfc18d6..b0dec585a28d92682a39acd54e29ab189165d25e 100644
|
| --- a/media/cast/net/rtcp/sender_rtcp_session.cc
|
| +++ b/media/cast/net/rtcp/sender_rtcp_session.cc
|
| @@ -79,6 +79,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,
|
| @@ -90,6 +91,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),
|
| @@ -114,6 +116,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,
|
|
|