diff --git a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc index a6c7647be5..d79e6899e1 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc +++ b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc @@ -235,7 +235,9 @@ void ModuleRtpRtcpImpl::SetRtxSendPayloadType(int payload_type, } rtc::Optional ModuleRtpRtcpImpl::FlexfecSsrc() const { - return rtp_sender_->FlexfecSsrc(); + if (rtp_sender_) + return rtp_sender_->FlexfecSsrc(); + return rtc::Optional(); } int32_t ModuleRtpRtcpImpl::IncomingRtcpPacket( @@ -865,6 +867,9 @@ void ModuleRtpRtcpImpl::SetRtcpReceiverSsrcs(uint32_t main_ssrc) { ssrcs.insert(main_ssrc); if (RtxSendStatus() != kRtxOff) ssrcs.insert(rtp_sender_->RtxSsrc()); + rtc::Optional flexfec_ssrc = FlexfecSsrc(); + if (flexfec_ssrc) + ssrcs.insert(*flexfec_ssrc); rtcp_receiver_.SetSsrcs(main_ssrc, ssrcs); }