OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 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 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 uint16_t width, | 132 uint16_t width, |
133 uint16_t height, | 133 uint16_t height, |
134 int num_temporal_layers, | 134 int num_temporal_layers, |
135 int32_t mtu) | 135 int32_t mtu) |
136 EXCLUSIVE_LOCKS_REQUIRED(crit_sect_); | 136 EXCLUSIVE_LOCKS_REQUIRED(crit_sect_); |
137 | 137 |
138 uint32_t InputFrameRateInternal() EXCLUSIVE_LOCKS_REQUIRED(crit_sect_); | 138 uint32_t InputFrameRateInternal() EXCLUSIVE_LOCKS_REQUIRED(crit_sect_); |
139 | 139 |
140 uint32_t SentFrameRateInternal() EXCLUSIVE_LOCKS_REQUIRED(crit_sect_); | 140 uint32_t SentFrameRateInternal() EXCLUSIVE_LOCKS_REQUIRED(crit_sect_); |
141 | 141 |
| 142 void UpdateHistograms(); |
| 143 |
142 // Protect all members. | 144 // Protect all members. |
143 rtc::scoped_ptr<CriticalSectionWrapper> crit_sect_; | 145 rtc::scoped_ptr<CriticalSectionWrapper> crit_sect_; |
144 | 146 |
145 Clock* clock_ GUARDED_BY(crit_sect_); | 147 Clock* clock_ GUARDED_BY(crit_sect_); |
146 int32_t max_bit_rate_ GUARDED_BY(crit_sect_); | 148 int32_t max_bit_rate_ GUARDED_BY(crit_sect_); |
147 VideoCodecType send_codec_type_ GUARDED_BY(crit_sect_); | 149 VideoCodecType send_codec_type_ GUARDED_BY(crit_sect_); |
148 uint16_t codec_width_ GUARDED_BY(crit_sect_); | 150 uint16_t codec_width_ GUARDED_BY(crit_sect_); |
149 uint16_t codec_height_ GUARDED_BY(crit_sect_); | 151 uint16_t codec_height_ GUARDED_BY(crit_sect_); |
150 float user_frame_rate_ GUARDED_BY(crit_sect_); | 152 float user_frame_rate_ GUARDED_BY(crit_sect_); |
151 rtc::scoped_ptr<FrameDropper> frame_dropper_ GUARDED_BY(crit_sect_); | 153 rtc::scoped_ptr<FrameDropper> frame_dropper_ GUARDED_BY(crit_sect_); |
(...skipping 14 matching lines...) Expand all Loading... |
166 uint32_t delta_frame_cnt_ GUARDED_BY(crit_sect_); | 168 uint32_t delta_frame_cnt_ GUARDED_BY(crit_sect_); |
167 rtc::scoped_ptr<VCMContentMetricsProcessing> content_ GUARDED_BY(crit_sect_); | 169 rtc::scoped_ptr<VCMContentMetricsProcessing> content_ GUARDED_BY(crit_sect_); |
168 rtc::scoped_ptr<VCMQmResolution> qm_resolution_ GUARDED_BY(crit_sect_); | 170 rtc::scoped_ptr<VCMQmResolution> qm_resolution_ GUARDED_BY(crit_sect_); |
169 int64_t last_qm_update_time_ GUARDED_BY(crit_sect_); | 171 int64_t last_qm_update_time_ GUARDED_BY(crit_sect_); |
170 int64_t last_change_time_ GUARDED_BY(crit_sect_); // Content/user triggered. | 172 int64_t last_change_time_ GUARDED_BY(crit_sect_); // Content/user triggered. |
171 int num_layers_ GUARDED_BY(crit_sect_); | 173 int num_layers_ GUARDED_BY(crit_sect_); |
172 bool suspension_enabled_ GUARDED_BY(crit_sect_); | 174 bool suspension_enabled_ GUARDED_BY(crit_sect_); |
173 bool video_suspended_ GUARDED_BY(crit_sect_); | 175 bool video_suspended_ GUARDED_BY(crit_sect_); |
174 int suspension_threshold_bps_ GUARDED_BY(crit_sect_); | 176 int suspension_threshold_bps_ GUARDED_BY(crit_sect_); |
175 int suspension_window_bps_ GUARDED_BY(crit_sect_); | 177 int suspension_window_bps_ GUARDED_BY(crit_sect_); |
| 178 size_t sent_frames_ GUARDED_BY(crit_sect_); |
| 179 int64_t first_sent_frame_time_ms_ GUARDED_BY(crit_sect_); |
176 }; | 180 }; |
177 } // namespace media_optimization | 181 } // namespace media_optimization |
178 } // namespace webrtc | 182 } // namespace webrtc |
179 | 183 |
180 #endif // WEBRTC_MODULES_VIDEO_CODING_MAIN_SOURCE_MEDIA_OPTIMIZATION_H_ | 184 #endif // WEBRTC_MODULES_VIDEO_CODING_MAIN_SOURCE_MEDIA_OPTIMIZATION_H_ |
OLD | NEW |