Index: webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc |
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc |
index a6c7647be5e9e3b0d301b450425ecffd7a451dac..d79e6899e1af23e021d68752bc89ec8514357456 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<uint32_t> ModuleRtpRtcpImpl::FlexfecSsrc() const { |
- return rtp_sender_->FlexfecSsrc(); |
+ if (rtp_sender_) |
+ return rtp_sender_->FlexfecSsrc(); |
+ return rtc::Optional<uint32_t>(); |
} |
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<uint32_t> flexfec_ssrc = FlexfecSsrc(); |
+ if (flexfec_ssrc) |
+ ssrcs.insert(*flexfec_ssrc); |
rtcp_receiver_.SetSsrcs(main_ssrc, ssrcs); |
} |