| Index: talk/media/webrtc/webrtcvideoengine2.cc
|
| diff --git a/talk/media/webrtc/webrtcvideoengine2.cc b/talk/media/webrtc/webrtcvideoengine2.cc
|
| index 05cd6bbcf1a582380d1c35b5aeb3dbdfb98f2b31..a4d680ef564a8b0ad12889e4bba84ed1956a31ad 100644
|
| --- a/talk/media/webrtc/webrtcvideoengine2.cc
|
| +++ b/talk/media/webrtc/webrtcvideoengine2.cc
|
| @@ -889,20 +889,30 @@ bool WebRtcVideoChannel2::ReceiveCodecsHaveChanged(
|
| return false;
|
| }
|
|
|
| -bool WebRtcVideoChannel2::SetSendParameters(const VideoSendParameters& params) {
|
| +bool WebRtcVideoChannel2::SetSendParameters(
|
| + const VideoSendParameters& send_params) {
|
| // TODO(pbos): Refactor this to only recreate the send streams once
|
| // instead of 4 times.
|
| - return (SetSendCodecs(params.codecs) &&
|
| - SetSendRtpHeaderExtensions(params.extensions) &&
|
| - SetMaxSendBandwidth(params.max_bandwidth_bps) &&
|
| - SetOptions(params.options));
|
| + if (!SetSendCodecs(send_params.codecs) ||
|
| + !SetSendRtpHeaderExtensions(send_params.extensions) ||
|
| + !SetMaxSendBandwidth(send_params.max_bandwidth_bps) ||
|
| + !SetOptions(send_params.options)) {
|
| + return false;
|
| + }
|
| + send_params_ = send_params;
|
| + return true;
|
| }
|
|
|
| -bool WebRtcVideoChannel2::SetRecvParameters(const VideoRecvParameters& params) {
|
| +bool WebRtcVideoChannel2::SetRecvParameters(
|
| + const VideoRecvParameters& recv_params) {
|
| // TODO(pbos): Refactor this to only recreate the recv streams once
|
| // instead of twice.
|
| - return (SetRecvCodecs(params.codecs) &&
|
| - SetRecvRtpHeaderExtensions(params.extensions));
|
| + if (!SetRecvCodecs(recv_params.codecs) ||
|
| + !SetRecvRtpHeaderExtensions(recv_params.extensions)) {
|
| + return false;
|
| + }
|
| + recv_params_ = recv_params;
|
| + return true;
|
| }
|
|
|
| std::string WebRtcVideoChannel2::CodecSettingsVectorToString(
|
| @@ -1111,14 +1121,10 @@ bool WebRtcVideoChannel2::AddSendStream(const StreamParams& sp) {
|
| for (uint32 used_ssrc : sp.ssrcs)
|
| send_ssrcs_.insert(used_ssrc);
|
|
|
| - WebRtcVideoSendStream* stream =
|
| - new WebRtcVideoSendStream(call_.get(),
|
| - external_encoder_factory_,
|
| - options_,
|
| - bitrate_config_.max_bitrate_bps,
|
| - send_codec_,
|
| - sp,
|
| - send_rtp_extensions_);
|
| + WebRtcVideoSendStream* stream = new WebRtcVideoSendStream(
|
| + call_.get(), external_encoder_factory_, options_,
|
| + bitrate_config_.max_bitrate_bps, send_codec_, sp, send_rtp_extensions_,
|
| + send_params_);
|
|
|
| uint32 ssrc = sp.first_ssrc();
|
| DCHECK(ssrc != 0);
|
| @@ -1249,6 +1255,9 @@ void WebRtcVideoChannel2::ConfigureReceiverRtp(
|
| config->rtp.local_ssrc = rtcp_receiver_report_ssrc_;
|
|
|
| config->rtp.extensions = recv_rtp_extensions_;
|
| + config->rtp.rtcp_mode = recv_params_.rtcp.reduced_size
|
| + ? webrtc::newapi::kRtcpReducedSize
|
| + : webrtc::newapi::kRtcpCompound;
|
|
|
| // 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
|
| @@ -1731,7 +1740,10 @@ WebRtcVideoChannel2::WebRtcVideoSendStream::WebRtcVideoSendStream(
|
| int max_bitrate_bps,
|
| const Settable<VideoCodecSettings>& codec_settings,
|
| const StreamParams& sp,
|
| - const std::vector<webrtc::RtpExtension>& rtp_extensions)
|
| + const std::vector<webrtc::RtpExtension>& rtp_extensions,
|
| + // TODO(pbos): Don't duplicate information between send_params,
|
| + // rtp_extensions, options, etc.
|
| + const VideoSendParameters& send_params)
|
| : ssrcs_(sp.ssrcs),
|
| ssrc_groups_(sp.ssrc_groups),
|
| call_(call),
|
| @@ -1755,6 +1767,9 @@ WebRtcVideoChannel2::WebRtcVideoSendStream::WebRtcVideoSendStream(
|
| ¶meters_.config.rtp.rtx.ssrcs);
|
| parameters_.config.rtp.c_name = sp.cname;
|
| parameters_.config.rtp.extensions = rtp_extensions;
|
| + // TODO(pbos): Add this to send stream when we support it.
|
| + // parameters_.config.rtp.rtcp_mode = send_params.rtcp.reduced_size ?
|
| + // webrtc::newapi::kRtcpReducedSize : webrtc::newapi::kRtcpCompound;
|
|
|
| VideoCodecSettings params;
|
| if (codec_settings.Get(¶ms)) {
|
|
|