| 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 b8c7acb0f748a5820eedcea435ccee6297c767e1..7bca63caa4ab0fe34d4558812b3903eee51784ce 100644
|
| --- a/media/cast/net/rtcp/sender_rtcp_session.cc
|
| +++ b/media/cast/net/rtcp/sender_rtcp_session.cc
|
| @@ -69,10 +69,7 @@ std::pair<uint64_t, uint64_t> GetReceiverEventKey(
|
| } // namespace
|
|
|
| SenderRtcpSession::SenderRtcpSession(
|
| - const RtcpCastMessageCallback& cast_callback,
|
| - const RtcpRttCallback& rtt_callback,
|
| - const RtcpLogMessageCallback& log_callback,
|
| - const RtcpPliCallback pli_callback,
|
| + std::unique_ptr<SenderRtcpObserver> observer,
|
| base::TickClock* clock,
|
| PacedPacketSender* packet_sender,
|
| uint32_t local_ssrc,
|
| @@ -81,10 +78,7 @@ SenderRtcpSession::SenderRtcpSession(
|
| packet_sender_(packet_sender),
|
| local_ssrc_(local_ssrc),
|
| remote_ssrc_(remote_ssrc),
|
| - cast_callback_(cast_callback),
|
| - rtt_callback_(rtt_callback),
|
| - log_callback_(log_callback),
|
| - pli_callback_(pli_callback),
|
| + sender_rtcp_observer_(std::move(observer)),
|
| largest_seen_timestamp_(base::TimeTicks::FromInternalValue(
|
| std::numeric_limits<int64_t>::min())),
|
| parser_(local_ssrc, remote_ssrc),
|
| @@ -109,10 +103,8 @@ 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_picture_loss_indicator())
|
| + sender_rtcp_observer_->OnPliReceived();
|
| if (parser_.has_receiver_reference_time_report()) {
|
| base::TimeTicks t = ConvertNtpToTimeTicks(
|
| parser_.receiver_reference_time_report().ntp_seconds,
|
| @@ -129,7 +121,7 @@ bool SenderRtcpSession::IncomingRtcpPacket(const uint8_t* data, size_t length) {
|
| }
|
| if (parser_.has_receiver_log()) {
|
| if (DedupeReceiverLog(parser_.mutable_receiver_log())) {
|
| - OnReceivedReceiverLog(parser_.receiver_log());
|
| + sender_rtcp_observer_->OnReceiverLogReceived(parser_.receiver_log());
|
| }
|
| }
|
| if (parser_.has_last_report()) {
|
| @@ -140,7 +132,7 @@ bool SenderRtcpSession::IncomingRtcpPacket(const uint8_t* data, size_t length) {
|
| parser_.mutable_cast_message()->ack_frame_id =
|
| ack_frame_id_wrap_helper_.MapTo32bitsFrameId(
|
| parser_.mutable_cast_message()->ack_frame_id);
|
| - OnReceivedCastFeedback(parser_.cast_message());
|
| + sender_rtcp_observer_->OnCastMessageReceived(parser_.cast_message());
|
| }
|
| }
|
| return true;
|
| @@ -166,8 +158,7 @@ void SenderRtcpSession::OnReceivedDelaySinceLastReport(
|
| current_round_trip_time_ =
|
| std::max(current_round_trip_time_, base::TimeDelta::FromMilliseconds(1));
|
|
|
| - if (!rtt_callback_.is_null())
|
| - rtt_callback_.Run(current_round_trip_time_);
|
| + sender_rtcp_observer_->OnRttReceived(current_round_trip_time_);
|
| }
|
|
|
| void SenderRtcpSession::SaveLastSentNtpTime(const base::TimeTicks& now,
|
| @@ -252,19 +243,5 @@ void SenderRtcpSession::SendRtcpReport(
|
| rtcp_builder.BuildRtcpFromSender(sender_info));
|
| }
|
|
|
| -void SenderRtcpSession::OnReceivedCastFeedback(
|
| - const RtcpCastMessage& cast_message) {
|
| - if (cast_callback_.is_null())
|
| - return;
|
| - cast_callback_.Run(cast_message);
|
| -}
|
| -
|
| -void SenderRtcpSession::OnReceivedReceiverLog(
|
| - const RtcpReceiverLogMessage& receiver_log) {
|
| - if (log_callback_.is_null())
|
| - return;
|
| - log_callback_.Run(receiver_log);
|
| -}
|
| -
|
| } // namespace cast
|
| } // namespace media
|
|
|