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

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

Issue 1878883003: Refactor: simplify interface of SenderRtcpSession and CastTransport. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments. Created 4 years, 8 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
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

Powered by Google App Engine
This is Rietveld 408576698