Make RTCP report interval configurable

Bug: webrtc:8789
Change-Id: I79c9132123c946b030ed79c647b4329e81d6e6ae
Reviewed-on: https://webrtc-review.googlesource.com/43201
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21837}
This commit is contained in:
Jiawei Ou
2018-01-31 22:08:26 -08:00
committed by Commit Bot
parent addc380168
commit 3587b8302a
13 changed files with 160 additions and 33 deletions

View File

@ -80,7 +80,8 @@ class RTCPSender {
ReceiveStatisticsProvider* receive_statistics,
RtcpPacketTypeCounterObserver* packet_type_counter_observer,
RtcEventLog* event_log,
Transport* outgoing_transport);
Transport* outgoing_transport,
RtcpIntervalConfig interval_config);
virtual ~RTCPSender();
RtcpMode Status() const;
@ -148,6 +149,9 @@ class RTCPSender {
void SetVideoBitrateAllocation(const BitrateAllocation& bitrate);
bool SendFeedbackPacket(const rtcp::TransportFeedback& packet);
int64_t RtcpAudioReportInverval() const;
int64_t RtcpVideoReportInverval() const;
private:
class RtcpContext;
@ -194,6 +198,8 @@ class RTCPSender {
RtcEventLog* const event_log_;
Transport* const transport_;
const RtcpIntervalConfig interval_config_;
rtc::CriticalSection critical_section_rtcp_sender_;
bool using_nack_ RTC_GUARDED_BY(critical_section_rtcp_sender_);
bool sending_ RTC_GUARDED_BY(critical_section_rtcp_sender_);