| Index: talk/media/webrtc/webrtcvideoengine2.cc
|
| diff --git a/talk/media/webrtc/webrtcvideoengine2.cc b/talk/media/webrtc/webrtcvideoengine2.cc
|
| index 5957329ae360eb4059ade164293eab73a8762aa9..c8ba691df573bb115e48711ffdf6757a62d73c9e 100644
|
| --- a/talk/media/webrtc/webrtcvideoengine2.cc
|
| +++ b/talk/media/webrtc/webrtcvideoengine2.cc
|
| @@ -611,11 +611,10 @@ WebRtcVideoChannel2* WebRtcVideoEngine2::CreateChannel(
|
| new WebRtcVideoChannel2(call_factory_, voice_engine_,
|
| static_cast<WebRtcVoiceMediaChannel*>(voice_channel), options,
|
| external_encoder_factory_, external_decoder_factory_);
|
| - if (!channel->Init()) {
|
| + if (!channel->Init(video_codecs_)) {
|
| delete channel;
|
| return NULL;
|
| }
|
| - channel->SetRecvCodecs(video_codecs_);
|
| return channel;
|
| }
|
|
|
| @@ -821,7 +820,10 @@ WebRtcVideoChannel2::~WebRtcVideoChannel2() {
|
| delete kv.second;
|
| }
|
|
|
| -bool WebRtcVideoChannel2::Init() { return true; }
|
| +bool WebRtcVideoChannel2::Init(const std::vector<VideoCodec>& recv_codecs) {
|
| + SetRecvCodecs(recv_codecs);
|
| + return true;
|
| +}
|
|
|
| void WebRtcVideoChannel2::DetachVoiceChannel() {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| @@ -1500,7 +1502,8 @@ void WebRtcVideoChannel2::OnReadyToSend(bool ready) {
|
| call_->SignalNetworkState(ready ? webrtc::kNetworkUp : webrtc::kNetworkDown);
|
| }
|
|
|
| -bool WebRtcVideoChannel2::MuteStream(uint32 ssrc, bool mute) {
|
| +bool WebRtcVideoChannel2::MuteStream(uint32 ssrc, bool mute,
|
| + const VideoOptions* options) {
|
| LOG(LS_VERBOSE) << "MuteStream: " << ssrc << " -> "
|
| << (mute ? "mute" : "unmute");
|
| DCHECK(ssrc != 0);
|
| @@ -1511,7 +1514,12 @@ bool WebRtcVideoChannel2::MuteStream(uint32 ssrc, bool mute) {
|
| }
|
|
|
| send_streams_[ssrc]->MuteStream(mute);
|
| - return true;
|
| +
|
| + if (!mute && options) {
|
| + return SetOptions(*options);
|
| + } else {
|
| + return true;
|
| + }
|
| }
|
|
|
| bool WebRtcVideoChannel2::SetRecvRtpHeaderExtensions(
|
|
|