Chromium Code Reviews| Index: remoting/protocol/webrtc_frame_scheduler_simple.cc |
| diff --git a/remoting/protocol/webrtc_frame_scheduler_simple.cc b/remoting/protocol/webrtc_frame_scheduler_simple.cc |
| index ed037677d65285018d757e6d2e485aaa3499c360..8886fb9cd80894c128dc4b777319ffe20f840229 100644 |
| --- a/remoting/protocol/webrtc_frame_scheduler_simple.cc |
| +++ b/remoting/protocol/webrtc_frame_scheduler_simple.cc |
| @@ -178,14 +178,18 @@ bool WebrtcFrameSchedulerSimple::OnFrameCaptured( |
| base::TimeTicks now = base::TimeTicks::Now(); |
| - if ((!frame || frame->updated_region().is_empty()) && !top_off_is_active_ && |
| - !key_frame_request_) { |
| - frame_pending_ = false; |
| - ScheduleNextFrame(now); |
| - return false; |
| + if ((!frame || frame->updated_region().is_empty())) { |
| + bool resend_last_frame = |
| + captured_first_frame_ && (top_off_is_active_ || key_frame_request_); |
| + if (!resend_last_frame) { |
|
Jamie
2017/03/18 01:53:26
This is pretty complicated logic. I think it would
Sergey Ulanov
2017/03/20 18:24:14
Done.
|
| + frame_pending_ = false; |
| + ScheduleNextFrame(now); |
| + return false; |
| + } |
| } |
| if (frame) { |
| + captured_first_frame_ = true; |
| encoder_bitrate_.SetFrameSize(frame->size()); |
| } |