void VideoSendStreamImpl::ConfigureProtection() {
RTC_DCHECK_RUN_ON(worker_queue_);
// Consistency of FlexFEC parameters is checked in MaybeCreateFlexfecSender.
const bool flexfec_enabled = (flexfec_sender_ != nullptr);
// Consistency of NACK and RED+ULPFEC parameters is checked in this function.
const bool nack_enabled = config_->rtp.nack.rtp_history_ms > 0;
int red_payload_type = config_->rtp.ulpfec.red_payload_type;
int ulpfec_payload_type = config_->rtp.ulpfec.ulpfec_payload_type;
// Shorthands.
auto IsRedEnabled = [&]() { return red_payload_type >= 0; };
auto DisableRed = [&]() { red_payload_type = -1; };
auto IsUlpfecEnabled = [&]() { return ulpfec_payload_type >= 0; };
auto DisableUl
webrtc中的FEC配置
最新推荐文章于 2026-07-18 09:52:17 发布
本文详细介绍了WebRTC中前向纠错编码(FEC)的配置,特别是FlexFEC与UlpFEC的使用,并讨论了丢包重传策略,包括NACK和RTX的工作原理。在WebRTC中,当启用FlexFEC时,会禁用Red和UlpFEC。NACK通过RTCP反馈丢包序列号,而RTX则用于发送重传包。同时,文章还探讨了如何在源码层面理解和修改FEC及丢包重传的设置。
订阅专栏 解锁全文

3156

被折叠的 条评论
为什么被折叠?



