Pass RtpRtcp::Configuration to RtcpReceiver ctor and initialize ssrcs
Bug: webrtc:10774 Change-Id: Iaae717ed1b7373d5cb2246e3ba92fc6ace422b41 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145206 Commit-Queue: Erik Språng <sprang@webrtc.org> Reviewed-by: Åsa Persson <asapersson@webrtc.org> Cr-Commit-Position: refs/heads/master@{#28536}
This commit is contained in:
@ -63,6 +63,8 @@ const int64_t kRtcpMinFrameLengthMs = 17;
|
||||
// Maximum number of received RRTRs that will be stored.
|
||||
const size_t kMaxNumberOfStoredRrtrs = 200;
|
||||
|
||||
constexpr int32_t kDefaultVideoReportInterval = 1000;
|
||||
constexpr int32_t kDefaultAudioReportInterval = 5000;
|
||||
} // namespace
|
||||
|
||||
struct RTCPReceiver::PacketInformation {
|
||||
@ -118,27 +120,21 @@ struct RTCPReceiver::LastFirStatus {
|
||||
uint8_t sequence_number;
|
||||
};
|
||||
|
||||
RTCPReceiver::RTCPReceiver(
|
||||
Clock* clock,
|
||||
bool receiver_only,
|
||||
RtcpPacketTypeCounterObserver* packet_type_counter_observer,
|
||||
RtcpBandwidthObserver* rtcp_bandwidth_observer,
|
||||
RtcpIntraFrameObserver* rtcp_intra_frame_observer,
|
||||
RtcpLossNotificationObserver* rtcp_loss_notification_observer,
|
||||
TransportFeedbackObserver* transport_feedback_observer,
|
||||
VideoBitrateAllocationObserver* bitrate_allocation_observer,
|
||||
int report_interval_ms,
|
||||
ModuleRtpRtcp* owner)
|
||||
: clock_(clock),
|
||||
receiver_only_(receiver_only),
|
||||
RTCPReceiver::RTCPReceiver(const RtpRtcp::Configuration& config,
|
||||
ModuleRtpRtcp* owner)
|
||||
: clock_(config.clock),
|
||||
receiver_only_(config.receiver_only),
|
||||
rtp_rtcp_(owner),
|
||||
rtcp_bandwidth_observer_(rtcp_bandwidth_observer),
|
||||
rtcp_intra_frame_observer_(rtcp_intra_frame_observer),
|
||||
rtcp_loss_notification_observer_(rtcp_loss_notification_observer),
|
||||
transport_feedback_observer_(transport_feedback_observer),
|
||||
bitrate_allocation_observer_(bitrate_allocation_observer),
|
||||
report_interval_ms_(report_interval_ms),
|
||||
main_ssrc_(0),
|
||||
rtcp_bandwidth_observer_(config.bandwidth_callback),
|
||||
rtcp_intra_frame_observer_(config.intra_frame_callback),
|
||||
rtcp_loss_notification_observer_(config.rtcp_loss_notification_observer),
|
||||
transport_feedback_observer_(config.transport_feedback_callback),
|
||||
bitrate_allocation_observer_(config.bitrate_allocation_observer),
|
||||
report_interval_ms_(config.rtcp_report_interval_ms > 0
|
||||
? config.rtcp_report_interval_ms
|
||||
: (config.audio ? kDefaultAudioReportInterval
|
||||
: kDefaultVideoReportInterval)),
|
||||
main_ssrc_(config.media_send_ssrc.value_or(0)),
|
||||
remote_ssrc_(0),
|
||||
remote_sender_rtp_time_(0),
|
||||
xr_rrtr_status_(false),
|
||||
@ -148,10 +144,19 @@ RTCPReceiver::RTCPReceiver(
|
||||
last_increased_sequence_number_ms_(0),
|
||||
stats_callback_(nullptr),
|
||||
report_block_data_observer_(nullptr),
|
||||
packet_type_counter_observer_(packet_type_counter_observer),
|
||||
packet_type_counter_observer_(config.rtcp_packet_type_counter_observer),
|
||||
num_skipped_packets_(0),
|
||||
last_skipped_packets_warning_ms_(clock->TimeInMilliseconds()) {
|
||||
last_skipped_packets_warning_ms_(clock_->TimeInMilliseconds()) {
|
||||
RTC_DCHECK(owner);
|
||||
if (config.media_send_ssrc) {
|
||||
registered_ssrcs_.insert(*config.media_send_ssrc);
|
||||
}
|
||||
if (config.rtx_send_ssrc) {
|
||||
registered_ssrcs_.insert(*config.rtx_send_ssrc);
|
||||
}
|
||||
if (config.flexfec_sender) {
|
||||
registered_ssrcs_.insert(config.flexfec_sender->ssrc());
|
||||
}
|
||||
}
|
||||
|
||||
RTCPReceiver::~RTCPReceiver() {}
|
||||
|
||||
Reference in New Issue
Block a user