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

Side by Side Diff: webrtc/modules/audio_coding/neteq/statistics_calculator.h

Issue 1284303003: NetEq: Implement Average Excess Buffer Delay stats (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@neteq-metrics2
Patch Set: Created 5 years, 4 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 | « no previous file | webrtc/modules/audio_coding/neteq/statistics_calculator.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 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 106
107 private: 107 private:
108 static const int kReportIntervalMs = 60 * 1000; // One minute. 108 static const int kReportIntervalMs = 60 * 1000; // One minute.
109 109
110 void LogToUma() const; 110 void LogToUma() const;
111 111
112 int counter_ = 0; 112 int counter_ = 0;
113 int timer_ = 0; 113 int timer_ = 0;
114 }; 114 };
115 115
116 class AverageExcessBufferDelayMs {
minyue-webrtc 2015/08/17 13:38:08 Since AverageExcessBufferDelayMs and DelayedPacket
hlundin-webrtc 2015/08/18 07:41:44 I thought about it at first. And now I tried it, b
117 public:
118 ~AverageExcessBufferDelayMs() {
119 LogToUma(); // Log the average for the current (incomplete) interval.
120 }
121 void RegisterPacketWaitingTime(int time_ms);
122 void AdvanceClock(int step_ms);
123
124 private:
125 static const int kReportIntervalMs = 60 * 1000; // One minute.
126
127 void LogToUma();
128
129 double sum_ = 0.0;
130 int num_packets_ = 0;
131 int timer_ = 0;
132 };
133
116 // Calculates numerator / denominator, and returns the value in Q14. 134 // Calculates numerator / denominator, and returns the value in Q14.
117 static uint16_t CalculateQ14Ratio(uint32_t numerator, uint32_t denominator); 135 static uint16_t CalculateQ14Ratio(uint32_t numerator, uint32_t denominator);
118 136
119 uint32_t preemptive_samples_; 137 uint32_t preemptive_samples_;
120 uint32_t accelerate_samples_; 138 uint32_t accelerate_samples_;
121 int added_zero_samples_; 139 int added_zero_samples_;
122 uint32_t expanded_speech_samples_; 140 uint32_t expanded_speech_samples_;
123 uint32_t expanded_noise_samples_; 141 uint32_t expanded_noise_samples_;
124 int discarded_packets_; 142 int discarded_packets_;
125 uint32_t lost_timestamps_; 143 uint32_t lost_timestamps_;
126 uint32_t timestamps_since_last_report_; 144 uint32_t timestamps_since_last_report_;
127 int waiting_times_[kLenWaitingTimes]; // Used as a circular buffer. 145 int waiting_times_[kLenWaitingTimes]; // Used as a circular buffer.
128 int len_waiting_times_; 146 int len_waiting_times_;
129 int next_waiting_time_index_; 147 int next_waiting_time_index_;
130 uint32_t secondary_decoded_samples_; 148 uint32_t secondary_decoded_samples_;
131 DelayedPacketOutagesPerMinuteCounter delayed_packet_outage_counter_; 149 DelayedPacketOutagesPerMinuteCounter delayed_packet_outage_counter_;
150 AverageExcessBufferDelayMs excess_buffer_delay_;
132 151
133 DISALLOW_COPY_AND_ASSIGN(StatisticsCalculator); 152 DISALLOW_COPY_AND_ASSIGN(StatisticsCalculator);
134 }; 153 };
135 154
136 } // namespace webrtc 155 } // namespace webrtc
137 #endif // WEBRTC_MODULES_AUDIO_CODING_NETEQ_STATISTICS_CALCULATOR_H_ 156 #endif // WEBRTC_MODULES_AUDIO_CODING_NETEQ_STATISTICS_CALCULATOR_H_
OLDNEW
« no previous file with comments | « no previous file | webrtc/modules/audio_coding/neteq/statistics_calculator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698