Split out RtcpCnameCallback from RtcpStatisticsCallback

Cname callback is used only on receive side, and statistics (soon)
only on the send side.

Bug: webrtc:10679
Change-Id: I122e9cafaea93cd0ba75dc955a652d9d4bddc379
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147867
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28767}
This commit is contained in:
Niels Möller
2019-08-05 12:45:19 +02:00
committed by Commit Bot
parent ed44f5464a
commit 4d7c405599
15 changed files with 47 additions and 18 deletions

View File

@ -146,6 +146,7 @@ RTCPReceiver::RTCPReceiver(const RtpRtcp::Configuration& config,
last_received_rb_ms_(0),
last_increased_sequence_number_ms_(0),
stats_callback_(nullptr),
cname_callback_(nullptr),
report_block_data_observer_(nullptr),
packet_type_counter_observer_(config.rtcp_packet_type_counter_observer),
num_skipped_packets_(0),
@ -664,8 +665,8 @@ void RTCPReceiver::HandleSdes(const CommonHeader& rtcp_block,
received_cnames_[chunk.ssrc] = chunk.cname;
{
rtc::CritScope lock(&feedbacks_lock_);
if (stats_callback_)
stats_callback_->CNameChanged(chunk.cname.c_str(), chunk.ssrc);
if (cname_callback_)
cname_callback_->OnCname(chunk.ssrc, chunk.cname);
}
}
packet_information->packet_type_flags |= kRtcpSdes;
@ -1000,6 +1001,11 @@ RtcpStatisticsCallback* RTCPReceiver::GetRtcpStatisticsCallback() {
return stats_callback_;
}
void RTCPReceiver::RegisterRtcpCnameCallback(RtcpCnameCallback* callback) {
rtc::CritScope cs(&feedbacks_lock_);
cname_callback_ = callback;
}
void RTCPReceiver::SetReportBlockDataObserver(
ReportBlockDataObserver* observer) {
rtc::CritScope cs(&feedbacks_lock_);