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

Unified Diff: webrtc/modules/audio_coding/neteq/statistics_calculator.h

Issue 1296633002: NetEq/ACM: Refactor how packet waiting times are calculated (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
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 side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/audio_coding/neteq/statistics_calculator.h
diff --git a/webrtc/modules/audio_coding/neteq/statistics_calculator.h b/webrtc/modules/audio_coding/neteq/statistics_calculator.h
index a2cd9be6edc9db2f2b52f78b6122e75527dd3a7a..3a1d40da4d48cedcab8dcf536efb9152bddeae48 100644
--- a/webrtc/modules/audio_coding/neteq/statistics_calculator.h
+++ b/webrtc/modules/audio_coding/neteq/statistics_calculator.h
@@ -11,7 +11,7 @@
#ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ_STATISTICS_CALCULATOR_H_
#define WEBRTC_MODULES_AUDIO_CODING_NETEQ_STATISTICS_CALCULATOR_H_
-#include <vector>
+#include <list>
#include "webrtc/base/constructormagic.h"
#include "webrtc/modules/audio_coding/neteq/interface/neteq.h"
@@ -28,7 +28,7 @@ class StatisticsCalculator {
public:
StatisticsCalculator();
- virtual ~StatisticsCalculator() {}
+ virtual ~StatisticsCalculator();
// Resets most of the counters.
void Reset();
@@ -36,9 +36,6 @@ class StatisticsCalculator {
// Resets the counters that are not handled by Reset().
void ResetMcu();
- // Resets the waiting time statistics.
- void ResetWaitingTimeStatistics();
-
// Reports that |num_samples| samples were produced through expansion, and
// that the expansion produced other than just noise samples.
void ExpandedVoiceSamples(int num_samples);
@@ -84,11 +81,9 @@ class StatisticsCalculator {
const DecisionLogic& decision_logic,
NetEqNetworkStatistics *stats);
- void WaitingTimes(std::vector<int>* waiting_times);
-
private:
static const int kMaxReportPeriod = 60; // Seconds before auto-reset.
- static const int kLenWaitingTimes = 100;
+ static const size_t kLenWaitingTimes = 100;
// Calculates numerator / denominator, and returns the value in Q14.
static uint16_t CalculateQ14Ratio(uint32_t numerator, uint32_t denominator);
@@ -101,9 +96,7 @@ class StatisticsCalculator {
int discarded_packets_;
uint32_t lost_timestamps_;
uint32_t timestamps_since_last_report_;
- int waiting_times_[kLenWaitingTimes]; // Used as a circular buffer.
- int len_waiting_times_;
- int next_waiting_time_index_;
+ std::list<int> waiting_times_;
minyue-webrtc 2015/08/18 12:55:34 why to change from vector to list?
hlundin-webrtc 2015/08/19 08:28:39 The reasoning behind my choice is that waiting_tim
minyue-webrtc 2015/08/19 11:21:52 maybe use std::deque
hlundin-webrtc 2015/08/19 14:34:49 Yes, much better. Thanks!
uint32_t secondary_decoded_samples_;
DISALLOW_COPY_AND_ASSIGN(StatisticsCalculator);

Powered by Google App Engine
This is Rietveld 408576698