From 9e795c6ad85b57750e57db8d3883a144c024062e Mon Sep 17 00:00:00 2001 From: brandtr Date: Mon, 14 Nov 2016 05:37:16 -0800 Subject: [PATCH] Update RTPSender::IsFecPacket for FlexFEC. BUG=webrtc:5654 Review-Url: https://codereview.webrtc.org/2496113003 Cr-Commit-Position: refs/heads/master@{#15067} --- webrtc/modules/rtp_rtcp/source/rtp_sender.cc | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/webrtc/modules/rtp_rtcp/source/rtp_sender.cc b/webrtc/modules/rtp_rtcp/source/rtp_sender.cc index 4bd74a6bb5..fbaa544ac8 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_sender.cc +++ b/webrtc/modules/rtp_rtcp/source/rtp_sender.cc @@ -807,14 +807,18 @@ void RTPSender::UpdateRtpStats(const RtpPacketToSend& packet, } bool RTPSender::IsFecPacket(const RtpPacketToSend& packet) const { - if (!video_) { + if (!video_) return false; - } + + // FlexFEC. + if (packet.Ssrc() == FlexfecSsrc()) + return true; + + // RED+ULPFEC. int pt_red; int pt_fec; video_->GetUlpfecConfig(&pt_red, &pt_fec); - const bool fec_enabled = (pt_fec != -1); - return fec_enabled && static_cast(packet.PayloadType()) == pt_red && + return static_cast(packet.PayloadType()) == pt_red && static_cast(packet.payload()[0]) == pt_fec; }