Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(230)

Unified Diff: webrtc/media/engine/webrtcvideoengine2.cc

Issue 2589713003: Make |rtcp_send_transport| mandatory in FlexfecReceiveStream::Config. (Closed)
Patch Set: Rebase. Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/media/engine/webrtcvideoengine2.h ('k') | webrtc/test/call_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/media/engine/webrtcvideoengine2.cc
diff --git a/webrtc/media/engine/webrtcvideoengine2.cc b/webrtc/media/engine/webrtcvideoengine2.cc
index f09b2541d95d81c8e5ce566b33a6f6c0bf36e69c..cd2b12890d1fbf5ade6670b3e83fd3c5b4a04800 100644
--- a/webrtc/media/engine/webrtcvideoengine2.cc
+++ b/webrtc/media/engine/webrtcvideoengine2.cc
@@ -1184,7 +1184,7 @@ bool WebRtcVideoChannel2::AddRecvStream(const StreamParams& sp,
receive_ssrcs_.insert(used_ssrc);
webrtc::VideoReceiveStream::Config config(this);
- webrtc::FlexfecConfig flexfec_config;
+ webrtc::FlexfecReceiveStream::Config flexfec_config(this);
ConfigureReceiverRtp(&config, &flexfec_config, sp);
config.disable_prerenderer_smoothing =
@@ -1200,7 +1200,7 @@ bool WebRtcVideoChannel2::AddRecvStream(const StreamParams& sp,
void WebRtcVideoChannel2::ConfigureReceiverRtp(
webrtc::VideoReceiveStream::Config* config,
- webrtc::FlexfecConfig* flexfec_config,
+ webrtc::FlexfecReceiveStream::Config* flexfec_config,
const StreamParams& sp) const {
uint32_t ssrc = sp.first_ssrc();
@@ -1233,10 +1233,12 @@ void WebRtcVideoChannel2::ConfigureReceiverRtp(
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;
+ if (sp.GetFecFrSsrc(ssrc, &flexfec_config->remote_ssrc)) {
flexfec_config->protected_media_ssrcs = {ssrc};
+ flexfec_config->local_ssrc = config->rtp.local_ssrc;
+ flexfec_config->rtcp_mode = config->rtp.rtcp_mode;
+ flexfec_config->transport_cc = config->rtp.transport_cc;
+ flexfec_config->rtp_header_extensions = config->rtp.extensions;
}
for (size_t i = 0; i < recv_codecs_.size(); ++i) {
@@ -2160,7 +2162,7 @@ WebRtcVideoChannel2::WebRtcVideoReceiveStream::WebRtcVideoReceiveStream(
WebRtcVideoDecoderFactory* external_decoder_factory,
bool default_stream,
const std::vector<VideoCodecSettings>& recv_codecs,
- const webrtc::FlexfecConfig& flexfec_config)
+ const webrtc::FlexfecReceiveStream::Config& flexfec_config)
: call_(call),
stream_params_(sp),
stream_(NULL),
@@ -2269,8 +2271,7 @@ void WebRtcVideoChannel2::WebRtcVideoReceiveStream::ConfigureCodecs(
// TODO(pbos): Reconfigure RTX based on incoming recv_codecs.
config_.rtp.ulpfec = recv_codecs.front().ulpfec;
- flexfec_config_.flexfec_payload_type =
- recv_codecs.front().flexfec_payload_type;
+ flexfec_config_.payload_type = recv_codecs.front().flexfec_payload_type;
config_.rtp.nack.rtp_history_ms =
HasNack(recv_codecs.begin()->codec) ? kNackHistoryMs : 0;
@@ -2353,16 +2354,7 @@ void WebRtcVideoChannel2::WebRtcVideoReceiveStream::RecreateWebRtcStream() {
stream_ = call_->CreateVideoReceiveStream(config_.Copy());
stream_->Start();
if (IsFlexfecFieldTrialEnabled() && flexfec_config_.IsCompleteAndEnabled()) {
- webrtc::FlexfecReceiveStream::Config config;
- // Payload types and SSRCs come from the FlexFEC specific part of the SDP.
- config.payload_type = flexfec_config_.flexfec_payload_type;
- config.remote_ssrc = flexfec_config_.flexfec_ssrc;
- config.protected_media_ssrcs = flexfec_config_.protected_media_ssrcs;
- // RTCP messages and RTP header extensions apply to the entire track
- // in the SDP.
- config.transport_cc = config_.rtp.transport_cc;
- config.rtp_header_extensions = config_.rtp.extensions;
- flexfec_stream_ = call_->CreateFlexfecReceiveStream(config);
+ flexfec_stream_ = call_->CreateFlexfecReceiveStream(flexfec_config_);
flexfec_stream_->Start();
}
}
« no previous file with comments | « webrtc/media/engine/webrtcvideoengine2.h ('k') | webrtc/test/call_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698