| Index: talk/media/webrtc/webrtcvideoengine2.cc
|
| diff --git a/talk/media/webrtc/webrtcvideoengine2.cc b/talk/media/webrtc/webrtcvideoengine2.cc
|
| index d33d1909cf65fb1a7a1471ec0ea280d2ada6a509..6364808aa7b01f969087b2879a710da68fa1cd9f 100644
|
| --- a/talk/media/webrtc/webrtcvideoengine2.cc
|
| +++ b/talk/media/webrtc/webrtcvideoengine2.cc
|
| @@ -1534,7 +1534,8 @@ bool WebRtcVideoChannel2::SetOptions(const VideoOptions& options) {
|
| LOG(LS_INFO) << "SetOptions: " << options.ToString();
|
| VideoOptions old_options = options_;
|
| options_.SetAll(options);
|
| - if (options_ == old_options) {
|
| +
|
| + if (options_ == old_options && options_set_) {
|
| // No new options to set.
|
| return true;
|
| }
|
| @@ -1542,10 +1543,12 @@ bool WebRtcVideoChannel2::SetOptions(const VideoOptions& options) {
|
| rtc::CritScope lock(&capturer_crit_);
|
| options_.cpu_overuse_detection.Get(&signal_cpu_adaptation_);
|
| }
|
| +
|
| rtc::DiffServCodePoint dscp = options_.dscp.GetWithDefaultIfUnset(false)
|
| ? rtc::DSCP_AF41
|
| : rtc::DSCP_DEFAULT;
|
| MediaChannel::SetDscp(dscp);
|
| +
|
| rtc::CritScope stream_lock(&stream_crit_);
|
| for (std::map<uint32, WebRtcVideoSendStream*>::iterator it =
|
| send_streams_.begin();
|
| @@ -1553,6 +1556,7 @@ bool WebRtcVideoChannel2::SetOptions(const VideoOptions& options) {
|
| ++it) {
|
| it->second->SetOptions(options_);
|
| }
|
| + options_set_ = true;
|
| return true;
|
| }
|
|
|
|
|