#ifndef MEDIA_WEBRTC_AUDIO_DELAY_STATS_REPORTER_H_
#define MEDIA_WEBRTC_AUDIO_DELAY_STATS_REPORTER_H_
#include <vector>
#include "base/component_export.h"
#include "base/time/time.h"
namespace media {
class COMPONENT_EXPORT(MEDIA_WEBRTC) AudioDelayStatsReporter {
public:
AudioDelayStatsReporter(int variance_window_size);
AudioDelayStatsReporter(const AudioDelayStatsReporter&) = delete;
AudioDelayStatsReporter& operator=(const AudioDelayStatsReporter&) = delete;
virtual ~AudioDelayStatsReporter();
void ReportDelay(base::TimeDelta capture_delay, base::TimeDelta render_delay);
private:
const int variance_window_size_;
const base::TimeDelta delay_histogram_min_;
const base::TimeDelta delay_histogram_max_;
std::vector<int> capture_delays_ms_;
std::vector<int> render_delays_ms_;
std::vector<int> total_delays_ms_;
};
}
#endif