diff --git a/modules/video_coding/frame_buffer2.cc b/modules/video_coding/frame_buffer2.cc index 832fd360f0..e52af53353 100644 --- a/modules/video_coding/frame_buffer2.cc +++ b/modules/video_coding/frame_buffer2.cc @@ -167,6 +167,12 @@ FrameBuffer::ReturnReason FrameBuffer::NextFrame( frame->SetRenderTime( timing_->RenderTimeMs(frame->Timestamp(), now_ms)); } + // If frames in superframe have different render timestamps, it will + // confuse jitter buffer and cause dropped frames in render queue. + for (size_t i = 1; i < frames_to_decode_.size(); ++i) { + frames_to_decode_[i]->second.frame->SetRenderTime( + frame->RenderTime()); + } wait_ms = timing_->MaxWaitingTime(frame->RenderTime(), now_ms); // This will cause the frame buffer to prefer high framerate rather