OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "remoting/protocol/webrtc_frame_scheduler_simple.h" | 5 #include "remoting/protocol/webrtc_frame_scheduler_simple.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "remoting/protocol/frame_stats.h" | 9 #include "remoting/protocol/frame_stats.h" |
10 #include "remoting/protocol/webrtc_dummy_video_encoder.h" | 10 #include "remoting/protocol/webrtc_dummy_video_encoder.h" |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 current_target_bitrate_ = target_bitrate; | 121 current_target_bitrate_ = target_bitrate; |
122 } | 122 } |
123 } | 123 } |
124 | 124 |
125 WebrtcFrameSchedulerSimple::WebrtcFrameSchedulerSimple() | 125 WebrtcFrameSchedulerSimple::WebrtcFrameSchedulerSimple() |
126 : pacing_bucket_(LeakyBucket::kUnlimitedDepth, 0), | 126 : pacing_bucket_(LeakyBucket::kUnlimitedDepth, 0), |
127 frame_processing_delay_us_(kStatsWindow), | 127 frame_processing_delay_us_(kStatsWindow), |
128 updated_region_area_(kStatsWindow), | 128 updated_region_area_(kStatsWindow), |
129 weak_factory_(this) {} | 129 weak_factory_(this) {} |
130 | 130 |
131 WebrtcFrameSchedulerSimple::~WebrtcFrameSchedulerSimple() {} | 131 WebrtcFrameSchedulerSimple::~WebrtcFrameSchedulerSimple() { |
| 132 DCHECK(thread_checker_.CalledOnValidThread()); |
| 133 } |
132 | 134 |
133 void WebrtcFrameSchedulerSimple::OnKeyFrameRequested() { | 135 void WebrtcFrameSchedulerSimple::OnKeyFrameRequested() { |
134 DCHECK(thread_checker_.CalledOnValidThread()); | 136 DCHECK(thread_checker_.CalledOnValidThread()); |
135 encoder_ready_ = true; | 137 encoder_ready_ = true; |
136 key_frame_request_ = true; | 138 key_frame_request_ = true; |
137 ScheduleNextFrame(base::TimeTicks::Now()); | 139 ScheduleNextFrame(base::TimeTicks::Now()); |
138 } | 140 } |
139 | 141 |
140 void WebrtcFrameSchedulerSimple::OnChannelParameters(int packet_loss, | 142 void WebrtcFrameSchedulerSimple::OnChannelParameters(int packet_loss, |
141 base::TimeDelta rtt) { | 143 base::TimeDelta rtt) { |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
305 void WebrtcFrameSchedulerSimple::CaptureNextFrame() { | 307 void WebrtcFrameSchedulerSimple::CaptureNextFrame() { |
306 DCHECK(thread_checker_.CalledOnValidThread()); | 308 DCHECK(thread_checker_.CalledOnValidThread()); |
307 DCHECK(!frame_pending_); | 309 DCHECK(!frame_pending_); |
308 last_capture_started_time_ = base::TimeTicks::Now(); | 310 last_capture_started_time_ = base::TimeTicks::Now(); |
309 frame_pending_ = true; | 311 frame_pending_ = true; |
310 capture_callback_.Run(); | 312 capture_callback_.Run(); |
311 } | 313 } |
312 | 314 |
313 } // namespace protocol | 315 } // namespace protocol |
314 } // namespace remoting | 316 } // namespace remoting |
OLD | NEW |