OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 // |frame| references. | 143 // |frame| references. |
144 // Return false if |frame| will never be decodable, true otherwise. | 144 // Return false if |frame| will never be decodable, true otherwise. |
145 bool UpdateFrameInfoWithIncomingFrame(const FrameObject& frame, | 145 bool UpdateFrameInfoWithIncomingFrame(const FrameObject& frame, |
146 FrameMap::iterator info) | 146 FrameMap::iterator info) |
147 EXCLUSIVE_LOCKS_REQUIRED(crit_); | 147 EXCLUSIVE_LOCKS_REQUIRED(crit_); |
148 | 148 |
149 void UpdateJitterDelay() EXCLUSIVE_LOCKS_REQUIRED(crit_); | 149 void UpdateJitterDelay() EXCLUSIVE_LOCKS_REQUIRED(crit_); |
150 | 150 |
151 void ClearFramesAndHistory() EXCLUSIVE_LOCKS_REQUIRED(crit_); | 151 void ClearFramesAndHistory() EXCLUSIVE_LOCKS_REQUIRED(crit_); |
152 | 152 |
| 153 bool HasBadRenderTiming(const FrameObject& frame, int64_t now_ms) |
| 154 EXCLUSIVE_LOCKS_REQUIRED(crit_); |
| 155 |
153 FrameMap frames_ GUARDED_BY(crit_); | 156 FrameMap frames_ GUARDED_BY(crit_); |
154 | 157 |
155 rtc::CriticalSection crit_; | 158 rtc::CriticalSection crit_; |
156 Clock* const clock_; | 159 Clock* const clock_; |
157 rtc::Event new_continuous_frame_event_; | 160 rtc::Event new_continuous_frame_event_; |
158 VCMJitterEstimator* const jitter_estimator_ GUARDED_BY(crit_); | 161 VCMJitterEstimator* const jitter_estimator_ GUARDED_BY(crit_); |
159 VCMTiming* const timing_ GUARDED_BY(crit_); | 162 VCMTiming* const timing_ GUARDED_BY(crit_); |
160 VCMInterFrameDelay inter_frame_delay_ GUARDED_BY(crit_); | 163 VCMInterFrameDelay inter_frame_delay_ GUARDED_BY(crit_); |
161 uint32_t last_decoded_frame_timestamp_ GUARDED_BY(crit_); | 164 uint32_t last_decoded_frame_timestamp_ GUARDED_BY(crit_); |
162 FrameMap::iterator last_decoded_frame_it_ GUARDED_BY(crit_); | 165 FrameMap::iterator last_decoded_frame_it_ GUARDED_BY(crit_); |
163 FrameMap::iterator last_continuous_frame_it_ GUARDED_BY(crit_); | 166 FrameMap::iterator last_continuous_frame_it_ GUARDED_BY(crit_); |
164 FrameMap::iterator next_frame_it_ GUARDED_BY(crit_); | 167 FrameMap::iterator next_frame_it_ GUARDED_BY(crit_); |
165 int num_frames_history_ GUARDED_BY(crit_); | 168 int num_frames_history_ GUARDED_BY(crit_); |
166 int num_frames_buffered_ GUARDED_BY(crit_); | 169 int num_frames_buffered_ GUARDED_BY(crit_); |
167 bool stopped_ GUARDED_BY(crit_); | 170 bool stopped_ GUARDED_BY(crit_); |
168 VCMVideoProtection protection_mode_ GUARDED_BY(crit_); | 171 VCMVideoProtection protection_mode_ GUARDED_BY(crit_); |
169 VCMReceiveStatisticsCallback* const stats_callback_; | 172 VCMReceiveStatisticsCallback* const stats_callback_; |
170 | 173 |
171 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(FrameBuffer); | 174 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(FrameBuffer); |
172 }; | 175 }; |
173 | 176 |
174 } // namespace video_coding | 177 } // namespace video_coding |
175 } // namespace webrtc | 178 } // namespace webrtc |
176 | 179 |
177 #endif // WEBRTC_MODULES_VIDEO_CODING_FRAME_BUFFER2_H_ | 180 #endif // WEBRTC_MODULES_VIDEO_CODING_FRAME_BUFFER2_H_ |
OLD | NEW |