| Index: webrtc/video/video_receive_stream.cc
|
| diff --git a/webrtc/video/video_receive_stream.cc b/webrtc/video/video_receive_stream.cc
|
| index 4546ab7a869eceecdd285d1856bc69fca46f704c..1ed047b31e854350d36044a81971ae5bdaff45e5 100644
|
| --- a/webrtc/video/video_receive_stream.cc
|
| +++ b/webrtc/video/video_receive_stream.cc
|
| @@ -178,6 +178,7 @@ VideoReceiveStream::VideoReceiveStream(
|
| 1,
|
| false),
|
| vie_receiver_(vie_channel_.vie_receiver()),
|
| + vie_sync_(vcm_.get()),
|
| rtp_rtcp_(vie_channel_.rtp_rtcp()) {
|
| LOG(LS_INFO) << "VideoReceiveStream: " << config_.ToString();
|
|
|
| @@ -302,12 +303,14 @@ VideoReceiveStream::VideoReceiveStream(
|
| vie_channel_.RegisterPreRenderCallback(this);
|
|
|
| process_thread_->RegisterModule(vcm_.get());
|
| + process_thread_->RegisterModule(&vie_sync_);
|
| }
|
|
|
| VideoReceiveStream::~VideoReceiveStream() {
|
| LOG(LS_INFO) << "~VideoReceiveStream: " << config_.ToString();
|
| Stop();
|
|
|
| + process_thread_->DeRegisterModule(&vie_sync_);
|
| process_thread_->DeRegisterModule(vcm_.get());
|
|
|
| // Deregister external decoders so that they are no longer running during
|
| @@ -351,11 +354,13 @@ void VideoReceiveStream::SetSyncChannel(VoiceEngine* voice_engine,
|
| int audio_channel_id) {
|
| if (voice_engine != nullptr && audio_channel_id != -1) {
|
| VoEVideoSync* voe_sync_interface = VoEVideoSync::GetInterface(voice_engine);
|
| - vie_channel_.SetVoiceChannel(audio_channel_id, voe_sync_interface);
|
| + vie_sync_.ConfigureSync(audio_channel_id, voe_sync_interface, rtp_rtcp_,
|
| + vie_receiver_->GetRtpReceiver());
|
| voe_sync_interface->Release();
|
| - } else {
|
| - vie_channel_.SetVoiceChannel(-1, nullptr);
|
| + return;
|
| }
|
| + vie_sync_.ConfigureSync(-1, nullptr, rtp_rtcp_,
|
| + vie_receiver_->GetRtpReceiver());
|
| }
|
|
|
| VideoReceiveStream::Stats VideoReceiveStream::GetStats() const {
|
|
|