Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(550)

Side by Side Diff: webrtc/video/send_statistics_proxy.h

Issue 2536743002: Use RateCounter for input/sent fps stats. Reports average of periodically computed stats over a cal… (Closed)
Patch Set: moved from https://codereview.webrtc.org/2283693002/ Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | webrtc/video/send_statistics_proxy.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 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
11 #ifndef WEBRTC_VIDEO_SEND_STATISTICS_PROXY_H_ 11 #ifndef WEBRTC_VIDEO_SEND_STATISTICS_PROXY_H_
12 #define WEBRTC_VIDEO_SEND_STATISTICS_PROXY_H_ 12 #define WEBRTC_VIDEO_SEND_STATISTICS_PROXY_H_
13 13
14 #include <map> 14 #include <map>
15 #include <memory> 15 #include <memory>
16 #include <string> 16 #include <string>
17 #include <vector> 17 #include <vector>
18 18
19 #include "webrtc/base/analytics/exp_filter.h" 19 #include "webrtc/base/analytics/exp_filter.h"
20 #include "webrtc/base/criticalsection.h" 20 #include "webrtc/base/criticalsection.h"
21 #include "webrtc/base/ratetracker.h" 21 #include "webrtc/base/ratetracker.h"
22 #include "webrtc/base/thread_annotations.h" 22 #include "webrtc/base/thread_annotations.h"
23 #include "webrtc/common_types.h" 23 #include "webrtc/common_types.h"
24 #include "webrtc/modules/video_coding/include/video_codec_interface.h" 24 #include "webrtc/modules/video_coding/include/video_codec_interface.h"
25 #include "webrtc/modules/video_coding/include/video_coding_defines.h" 25 #include "webrtc/modules/video_coding/include/video_coding_defines.h"
26 #include "webrtc/system_wrappers/include/clock.h" 26 #include "webrtc/system_wrappers/include/clock.h"
27 #include "webrtc/video/overuse_frame_detector.h" 27 #include "webrtc/video/overuse_frame_detector.h"
28 #include "webrtc/video/report_block_stats.h" 28 #include "webrtc/video/report_block_stats.h"
29 #include "webrtc/video/stats_counter.h"
29 #include "webrtc/video/vie_encoder.h" 30 #include "webrtc/video/vie_encoder.h"
30 #include "webrtc/video_send_stream.h" 31 #include "webrtc/video_send_stream.h"
31 32
32 namespace webrtc { 33 namespace webrtc {
33 34
34 class SendStatisticsProxy : public CpuOveruseMetricsObserver, 35 class SendStatisticsProxy : public CpuOveruseMetricsObserver,
35 public RtcpStatisticsCallback, 36 public RtcpStatisticsCallback,
36 public RtcpPacketTypeCounterObserver, 37 public RtcpPacketTypeCounterObserver,
37 public StreamDataCountersCallback, 38 public StreamDataCountersCallback,
38 public BitrateStatisticsObserver, 39 public BitrateStatisticsObserver,
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 SampleCounter encode_time_counter_; 181 SampleCounter encode_time_counter_;
181 BoolSampleCounter key_frame_counter_; 182 BoolSampleCounter key_frame_counter_;
182 BoolSampleCounter quality_limited_frame_counter_; 183 BoolSampleCounter quality_limited_frame_counter_;
183 SampleCounter quality_downscales_counter_; 184 SampleCounter quality_downscales_counter_;
184 BoolSampleCounter cpu_limited_frame_counter_; 185 BoolSampleCounter cpu_limited_frame_counter_;
185 BoolSampleCounter bw_limited_frame_counter_; 186 BoolSampleCounter bw_limited_frame_counter_;
186 SampleCounter bw_resolutions_disabled_counter_; 187 SampleCounter bw_resolutions_disabled_counter_;
187 SampleCounter delay_counter_; 188 SampleCounter delay_counter_;
188 SampleCounter max_delay_counter_; 189 SampleCounter max_delay_counter_;
189 rtc::RateTracker input_frame_rate_tracker_; 190 rtc::RateTracker input_frame_rate_tracker_;
190 rtc::RateTracker sent_frame_rate_tracker_; 191 RateCounter input_fps_counter_;
192 RateCounter sent_fps_counter_;
191 int64_t first_rtcp_stats_time_ms_; 193 int64_t first_rtcp_stats_time_ms_;
192 int64_t first_rtp_stats_time_ms_; 194 int64_t first_rtp_stats_time_ms_;
193 ReportBlockStats report_block_stats_; 195 ReportBlockStats report_block_stats_;
194 const VideoSendStream::Stats start_stats_; 196 const VideoSendStream::Stats start_stats_;
195 std::map<int, QpCounters> 197 std::map<int, QpCounters>
196 qp_counters_; // QP counters mapped by spatial idx. 198 qp_counters_; // QP counters mapped by spatial idx.
197 }; 199 };
198 200
199 std::unique_ptr<UmaSamplesContainer> uma_container_ GUARDED_BY(crit_); 201 std::unique_ptr<UmaSamplesContainer> uma_container_ GUARDED_BY(crit_);
200 }; 202 };
201 203
202 } // namespace webrtc 204 } // namespace webrtc
203 #endif // WEBRTC_VIDEO_SEND_STATISTICS_PROXY_H_ 205 #endif // WEBRTC_VIDEO_SEND_STATISTICS_PROXY_H_
OLDNEW
« no previous file with comments | « no previous file | webrtc/video/send_statistics_proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698