| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 60 } | 60 } |
| 61 | 61 |
| 62 ViESyncModule::~ViESyncModule() { | 62 ViESyncModule::~ViESyncModule() { |
| 63 } | 63 } |
| 64 | 64 |
| 65 int ViESyncModule::ConfigureSync(int voe_channel_id, | 65 int ViESyncModule::ConfigureSync(int voe_channel_id, |
| 66 VoEVideoSync* voe_sync_interface, | 66 VoEVideoSync* voe_sync_interface, |
| 67 RtpRtcp* video_rtcp_module, | 67 RtpRtcp* video_rtcp_module, |
| 68 RtpReceiver* video_receiver) { | 68 RtpReceiver* video_receiver) { |
| 69 CriticalSectionScoped cs(data_cs_.get()); | 69 CriticalSectionScoped cs(data_cs_.get()); |
| 70 // Prevent expensive no-ops. |
| 71 if (voe_channel_id_ == voe_channel_id && |
| 72 voe_sync_interface_ == voe_sync_interface && |
| 73 video_receiver_ == video_receiver && |
| 74 video_rtp_rtcp_ == video_rtcp_module) { |
| 75 return 0; |
| 76 } |
| 70 voe_channel_id_ = voe_channel_id; | 77 voe_channel_id_ = voe_channel_id; |
| 71 voe_sync_interface_ = voe_sync_interface; | 78 voe_sync_interface_ = voe_sync_interface; |
| 72 video_receiver_ = video_receiver; | 79 video_receiver_ = video_receiver; |
| 73 video_rtp_rtcp_ = video_rtcp_module; | 80 video_rtp_rtcp_ = video_rtcp_module; |
| 74 sync_.reset( | 81 sync_.reset( |
| 75 new StreamSynchronization(video_rtp_rtcp_->SSRC(), voe_channel_id)); | 82 new StreamSynchronization(video_rtp_rtcp_->SSRC(), voe_channel_id)); |
| 76 | 83 |
| 77 if (!voe_sync_interface) { | 84 if (!voe_sync_interface) { |
| 78 voe_channel_id_ = -1; | 85 voe_channel_id_ = -1; |
| 79 if (voe_channel_id >= 0) { | 86 if (voe_channel_id >= 0) { |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 172 } | 179 } |
| 173 sync_->SetTargetBufferingDelay(target_delay_ms); | 180 sync_->SetTargetBufferingDelay(target_delay_ms); |
| 174 // Setting initial playout delay to voice engine (video engine is updated via | 181 // Setting initial playout delay to voice engine (video engine is updated via |
| 175 // the VCM interface). | 182 // the VCM interface). |
| 176 voe_sync_interface_->SetInitialPlayoutDelay(voe_channel_id_, | 183 voe_sync_interface_->SetInitialPlayoutDelay(voe_channel_id_, |
| 177 target_delay_ms); | 184 target_delay_ms); |
| 178 return 0; | 185 return 0; |
| 179 } | 186 } |
| 180 | 187 |
| 181 } // namespace webrtc | 188 } // namespace webrtc |
| OLD | NEW |