blob: fcc708a8385dea1d9b9b6452ae01667ec3b00bb9 [file] [log] [blame]
andrew@webrtc.orga7b57da2012-10-22 18:19:23 +00001/*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 *
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
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11#ifndef WEBRTC_VOICE_ENGINE_VOE_CALL_REPORT_IMPL_H
12#define WEBRTC_VOICE_ENGINE_VOE_CALL_REPORT_IMPL_H
13
14#include "voe_call_report.h"
15
16#include "shared_data.h"
17
18
19namespace webrtc
20{
21class FileWrapper;
22
23class VoECallReportImpl: public VoECallReport
24{
25public:
26 virtual int ResetCallReportStatistics(int channel);
27
28 virtual int GetEchoMetricSummary(EchoStatistics& stats);
29
30 virtual int GetRoundTripTimeSummary(int channel,
31 StatVal& delaysMs);
32
33 virtual int GetDeadOrAliveSummary(int channel, int& numOfDeadDetections,
34 int& numOfAliveDetections);
35
36 virtual int WriteReportToFile(const char* fileNameUTF8);
37
38protected:
39 VoECallReportImpl(voe::SharedData* shared);
40 virtual ~VoECallReportImpl();
41
42private:
43 int GetDeadOrAliveSummaryInternal(int channel,
44 int& numOfDeadDetections,
45 int& numOfAliveDetections);
46
47 int GetEchoMetricSummaryInternal(EchoStatistics& stats);
48
49 int GetSpeechAndNoiseSummaryInternal(LevelStatistics& stats);
50
51 FileWrapper& _file;
52 voe::SharedData* _shared;
53};
54
55} // namespace webrtc
56
57#endif // WEBRTC_VOICE_ENGINE_VOE_CALL_REPORT_IMPL_H