From b0c1b4e24d5250f3d9def9ccc3300e9a1237953f Mon Sep 17 00:00:00 2001 From: asapersson Date: Sat, 17 Sep 2016 01:00:01 -0700 Subject: [PATCH] Do not update stream synchronization if no new video packet has been received since last update (e.g. video muted). BUG= Review-Url: https://codereview.webrtc.org/2334113004 Cr-Commit-Position: refs/heads/master@{#14271} --- webrtc/video/rtp_streams_synchronizer.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/webrtc/video/rtp_streams_synchronizer.cc b/webrtc/video/rtp_streams_synchronizer.cc index 75dd8cd1b3..885dad3979 100644 --- a/webrtc/video/rtp_streams_synchronizer.cc +++ b/webrtc/video/rtp_streams_synchronizer.cc @@ -123,6 +123,7 @@ void RtpStreamsSynchronizer::Process() { const int current_audio_delay_ms = audio_jitter_buffer_delay_ms + playout_buffer_delay_ms; + int64_t last_video_receive_ms = video_measurement_.latest_receive_time_ms; if (UpdateMeasurements(&video_measurement_, video_rtp_rtcp_, video_rtp_receiver_) != 0) { return; @@ -133,6 +134,11 @@ void RtpStreamsSynchronizer::Process() { return; } + if (last_video_receive_ms == video_measurement_.latest_receive_time_ms) { + // No new video packet has been received since last update. + return; + } + int relative_delay_ms; // Calculate how much later or earlier the audio stream is compared to video. if (!sync_->ComputeRelativeDelay(audio_measurement_, video_measurement_,