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

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

Issue 1168753002: Match existing type usage better. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc@master
Patch Set: Resync Created 5 years, 6 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
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 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 76
77 void StatisticsCalculator::PacketsDiscarded(int num_packets) { 77 void StatisticsCalculator::PacketsDiscarded(int num_packets) {
78 discarded_packets_ += num_packets; 78 discarded_packets_ += num_packets;
79 } 79 }
80 80
81 void StatisticsCalculator::LostSamples(int num_samples) { 81 void StatisticsCalculator::LostSamples(int num_samples) {
82 lost_timestamps_ += num_samples; 82 lost_timestamps_ += num_samples;
83 } 83 }
84 84
85 void StatisticsCalculator::IncreaseCounter(int num_samples, int fs_hz) { 85 void StatisticsCalculator::IncreaseCounter(int num_samples, int fs_hz) {
86 timestamps_since_last_report_ += num_samples; 86 timestamps_since_last_report_ += static_cast<uint32_t>(num_samples);
87 if (timestamps_since_last_report_ > 87 if (timestamps_since_last_report_ >
88 static_cast<uint32_t>(fs_hz * kMaxReportPeriod)) { 88 static_cast<uint32_t>(fs_hz * kMaxReportPeriod)) {
89 lost_timestamps_ = 0; 89 lost_timestamps_ = 0;
90 timestamps_since_last_report_ = 0; 90 timestamps_since_last_report_ = 0;
91 discarded_packets_ = 0; 91 discarded_packets_ = 0;
92 } 92 }
93 } 93 }
94 94
95 void StatisticsCalculator::SecondaryDecodedSamples(int num_samples) { 95 void StatisticsCalculator::SecondaryDecodedSamples(int num_samples) {
96 secondary_decoded_samples_ += num_samples; 96 secondary_decoded_samples_ += num_samples;
(...skipping 17 matching lines...) Expand all
114 int samples_per_packet, 114 int samples_per_packet,
115 const DelayManager& delay_manager, 115 const DelayManager& delay_manager,
116 const DecisionLogic& decision_logic, 116 const DecisionLogic& decision_logic,
117 NetEqNetworkStatistics *stats) { 117 NetEqNetworkStatistics *stats) {
118 if (fs_hz <= 0 || !stats) { 118 if (fs_hz <= 0 || !stats) {
119 assert(false); 119 assert(false);
120 return; 120 return;
121 } 121 }
122 122
123 stats->added_zero_samples = added_zero_samples_; 123 stats->added_zero_samples = added_zero_samples_;
124 stats->current_buffer_size_ms = num_samples_in_buffers * 1000 / fs_hz; 124 stats->current_buffer_size_ms =
125 static_cast<uint16_t>(num_samples_in_buffers * 1000 / fs_hz);
125 const int ms_per_packet = decision_logic.packet_length_samples() / 126 const int ms_per_packet = decision_logic.packet_length_samples() /
126 (fs_hz / 1000); 127 (fs_hz / 1000);
127 stats->preferred_buffer_size_ms = (delay_manager.TargetLevel() >> 8) * 128 stats->preferred_buffer_size_ms = (delay_manager.TargetLevel() >> 8) *
128 ms_per_packet; 129 ms_per_packet;
129 stats->jitter_peaks_found = delay_manager.PeakFound(); 130 stats->jitter_peaks_found = delay_manager.PeakFound();
130 stats->clockdrift_ppm = delay_manager.AverageIAT(); 131 stats->clockdrift_ppm = delay_manager.AverageIAT();
131 132
132 stats->packet_loss_rate = 133 stats->packet_loss_rate =
133 CalculateQ14Ratio(lost_timestamps_, timestamps_since_last_report_); 134 CalculateQ14Ratio(lost_timestamps_, timestamps_since_last_report_);
134 135
(...skipping 25 matching lines...) Expand all
160 } 161 }
161 162
162 void StatisticsCalculator::WaitingTimes(std::vector<int>* waiting_times) { 163 void StatisticsCalculator::WaitingTimes(std::vector<int>* waiting_times) {
163 if (!waiting_times) { 164 if (!waiting_times) {
164 return; 165 return;
165 } 166 }
166 waiting_times->assign(waiting_times_, waiting_times_ + len_waiting_times_); 167 waiting_times->assign(waiting_times_, waiting_times_ + len_waiting_times_);
167 ResetWaitingTimeStatistics(); 168 ResetWaitingTimeStatistics();
168 } 169 }
169 170
170 int StatisticsCalculator::CalculateQ14Ratio(uint32_t numerator, 171 uint16_t StatisticsCalculator::CalculateQ14Ratio(uint32_t numerator,
171 uint32_t denominator) { 172 uint32_t denominator) {
172 if (numerator == 0) { 173 if (numerator == 0) {
173 return 0; 174 return 0;
174 } else if (numerator < denominator) { 175 } else if (numerator < denominator) {
175 // Ratio must be smaller than 1 in Q14. 176 // Ratio must be smaller than 1 in Q14.
176 assert((numerator << 14) / denominator < (1 << 14)); 177 assert((numerator << 14) / denominator < (1 << 14));
177 return (numerator << 14) / denominator; 178 return static_cast<uint16_t>((numerator << 14) / denominator);
178 } else { 179 } else {
179 // Will not produce a ratio larger than 1, since this is probably an error. 180 // Will not produce a ratio larger than 1, since this is probably an error.
180 return 1 << 14; 181 return 1 << 14;
181 } 182 }
182 } 183 }
183 184
184 } // namespace webrtc 185 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/audio_coding/neteq/statistics_calculator.h ('k') | webrtc/modules/audio_coding/neteq/test/RTPencode.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698