Index: webrtc/media/engine/webrtcvideoengine2.cc |
diff --git a/webrtc/media/engine/webrtcvideoengine2.cc b/webrtc/media/engine/webrtcvideoengine2.cc |
index 335ee3a691aed1f66d1f4bc0e628d07e2618fca3..3667408da5bdd4e6901b919580640ed9580bd1af 100644 |
--- a/webrtc/media/engine/webrtcvideoengine2.cc |
+++ b/webrtc/media/engine/webrtcvideoengine2.cc |
@@ -1186,14 +1186,9 @@ bool WebRtcVideoChannel2::AddRecvStream(const StreamParams& sp, |
webrtc::FlexfecConfig flexfec_config; |
ConfigureReceiverRtp(&config, &flexfec_config, sp); |
- // Set up A/V sync group based on sync label. |
- config.sync_group = sp.sync_label; |
- |
- config.rtp.remb = send_codec_ ? HasRemb(send_codec_->codec) : false; |
- config.rtp.transport_cc = |
- send_codec_ ? HasTransportCc(send_codec_->codec) : false; |
config.disable_prerenderer_smoothing = |
video_config_.disable_prerenderer_smoothing; |
+ config.sync_group = sp.sync_label; |
receive_streams_[ssrc] = new WebRtcVideoReceiveStream( |
call_, sp, std::move(config), external_decoder_factory_, default_stream, |
@@ -1211,16 +1206,6 @@ void WebRtcVideoChannel2::ConfigureReceiverRtp( |
config->rtp.remote_ssrc = ssrc; |
config->rtp.local_ssrc = rtcp_receiver_report_ssrc_; |
- config->rtp.extensions = recv_rtp_extensions_; |
- // Whether or not the receive stream sends reduced size RTCP is determined |
- // by the send params. |
- // TODO(deadbeef): Once we change "send_params" to "sender_params" and |
- // "recv_params" to "receiver_params", we should get this out of |
- // receiver_params_. |
- config->rtp.rtcp_mode = send_params_.rtcp.reduced_size |
- ? webrtc::RtcpMode::kReducedSize |
- : webrtc::RtcpMode::kCompound; |
- |
// TODO(pbos): This protection is against setting the same local ssrc as |
// remote which is not permitted by the lower-level API. RTCP requires a |
// corresponding sender SSRC. Figure out what to do when we don't have |
@@ -1233,6 +1218,26 @@ void WebRtcVideoChannel2::ConfigureReceiverRtp( |
} |
} |
+ // Whether or not the receive stream sends reduced size RTCP is determined |
+ // by the send params. |
+ // TODO(deadbeef): Once we change "send_params" to "sender_params" and |
+ // "recv_params" to "receiver_params", we should get this out of |
+ // receiver_params_. |
+ config->rtp.rtcp_mode = send_params_.rtcp.reduced_size |
+ ? webrtc::RtcpMode::kReducedSize |
+ : webrtc::RtcpMode::kCompound; |
+ |
+ config->rtp.remb = send_codec_ ? HasRemb(send_codec_->codec) : false; |
+ config->rtp.transport_cc = |
+ send_codec_ ? HasTransportCc(send_codec_->codec) : false; |
+ |
+ // TODO(brandtr): Generalize when we add support for multistream protection. |
+ uint32_t flexfec_ssrc; |
+ if (sp.GetFecFrSsrc(ssrc, &flexfec_ssrc)) { |
+ flexfec_config->flexfec_ssrc = flexfec_ssrc; |
brandtr
2017/01/09 11:45:28
In another CL (https://codereview.webrtc.org/25897
|
+ flexfec_config->protected_media_ssrcs = {ssrc}; |
+ } |
+ |
for (size_t i = 0; i < recv_codecs_.size(); ++i) { |
uint32_t rtx_ssrc; |
if (recv_codecs_[i].rtx_payload_type != -1 && |
@@ -1244,13 +1249,7 @@ void WebRtcVideoChannel2::ConfigureReceiverRtp( |
} |
} |
- // TODO(brandtr): This code needs to be generalized when we add support for |
- // multistream protection. |
- uint32_t flexfec_ssrc; |
- if (sp.GetFecFrSsrc(ssrc, &flexfec_ssrc)) { |
- flexfec_config->flexfec_ssrc = flexfec_ssrc; |
- flexfec_config->protected_media_ssrcs = {ssrc}; |
- } |
+ config->rtp.extensions = recv_rtp_extensions_; |
} |
bool WebRtcVideoChannel2::RemoveRecvStream(uint32_t ssrc) { |