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( |