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

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

Issue 3012073002: Change reporting of timing frames conditions in GetStats on receive side (Closed)
Patch Set: Created 3 years, 3 months 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 | « webrtc/video/end_to_end_tests.cc ('k') | webrtc/video/receive_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
(...skipping 30 matching lines...) Expand all
41 public RtcpPacketTypeCounterObserver, 41 public RtcpPacketTypeCounterObserver,
42 public StreamDataCountersCallback, 42 public StreamDataCountersCallback,
43 public CallStatsObserver { 43 public CallStatsObserver {
44 public: 44 public:
45 ReceiveStatisticsProxy(const VideoReceiveStream::Config* config, 45 ReceiveStatisticsProxy(const VideoReceiveStream::Config* config,
46 Clock* clock); 46 Clock* clock);
47 virtual ~ReceiveStatisticsProxy(); 47 virtual ~ReceiveStatisticsProxy();
48 48
49 VideoReceiveStream::Stats GetStats() const; 49 VideoReceiveStream::Stats GetStats() const;
50 50
51 rtc::Optional<TimingFrameInfo> GetAndResetTimingFrameInfo();
52
53 void OnDecodedFrame(rtc::Optional<uint8_t> qp, VideoContentType content_type); 51 void OnDecodedFrame(rtc::Optional<uint8_t> qp, VideoContentType content_type);
54 void OnSyncOffsetUpdated(int64_t sync_offset_ms, double estimated_freq_khz); 52 void OnSyncOffsetUpdated(int64_t sync_offset_ms, double estimated_freq_khz);
55 void OnRenderedFrame(const VideoFrame& frame); 53 void OnRenderedFrame(const VideoFrame& frame);
56 void OnIncomingPayloadType(int payload_type); 54 void OnIncomingPayloadType(int payload_type);
57 void OnDecoderImplementationName(const char* implementation_name); 55 void OnDecoderImplementationName(const char* implementation_name);
58 void OnIncomingRate(unsigned int framerate, unsigned int bitrate_bps); 56 void OnIncomingRate(unsigned int framerate, unsigned int bitrate_bps);
59 57
60 void OnPreDecode(const EncodedImage& encoded_image, 58 void OnPreDecode(const EncodedImage& encoded_image,
61 const CodecSpecificInfo* codec_specific_info); 59 const CodecSpecificInfo* codec_specific_info);
62 60
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 GUARDED_BY(crit_); 170 GUARDED_BY(crit_);
173 MaxCounter freq_offset_counter_ GUARDED_BY(crit_); 171 MaxCounter freq_offset_counter_ GUARDED_BY(crit_);
174 int64_t first_report_block_time_ms_ GUARDED_BY(crit_); 172 int64_t first_report_block_time_ms_ GUARDED_BY(crit_);
175 ReportBlockStats report_block_stats_ GUARDED_BY(crit_); 173 ReportBlockStats report_block_stats_ GUARDED_BY(crit_);
176 QpCounters qp_counters_; // Only accessed on the decoding thread. 174 QpCounters qp_counters_; // Only accessed on the decoding thread.
177 std::map<uint32_t, StreamDataCounters> rtx_stats_ GUARDED_BY(crit_); 175 std::map<uint32_t, StreamDataCounters> rtx_stats_ GUARDED_BY(crit_);
178 int64_t avg_rtt_ms_ GUARDED_BY(crit_); 176 int64_t avg_rtt_ms_ GUARDED_BY(crit_);
179 mutable std::map<int64_t, size_t> frame_window_ GUARDED_BY(&crit_); 177 mutable std::map<int64_t, size_t> frame_window_ GUARDED_BY(&crit_);
180 VideoContentType last_content_type_ GUARDED_BY(&crit_); 178 VideoContentType last_content_type_ GUARDED_BY(&crit_);
181 rtc::Optional<int64_t> last_decoded_frame_time_ms_ GUARDED_BY(&crit_); 179 rtc::Optional<int64_t> last_decoded_frame_time_ms_ GUARDED_BY(&crit_);
182 rtc::Optional<TimingFrameInfo> timing_frame_info_ GUARDED_BY(&crit_); 180 // Mutable because calling Max() on MovingMaxCounter is not const. Yet it is
181 // called from const GetStats().
182 mutable rtc::MovingMaxCounter<TimingFrameInfo> timing_frame_info_counter_
183 GUARDED_BY(&crit_);
183 }; 184 };
184 185
185 } // namespace webrtc 186 } // namespace webrtc
186 #endif // WEBRTC_VIDEO_RECEIVE_STATISTICS_PROXY_H_ 187 #endif // WEBRTC_VIDEO_RECEIVE_STATISTICS_PROXY_H_
OLDNEW
« no previous file with comments | « webrtc/video/end_to_end_tests.cc ('k') | webrtc/video/receive_statistics_proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698