summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engine_configurations.h4
-rw-r--r--voice_engine/channel.cc88
-rw-r--r--voice_engine/channel.h9
-rw-r--r--voice_engine/include/voe_call_report.h87
-rw-r--r--voice_engine/test/auto_test/fixtures/before_initialization_fixture.cc2
-rw-r--r--voice_engine/test/auto_test/fixtures/before_initialization_fixture.h2
-rw-r--r--voice_engine/test/auto_test/standard/call_report_test.cc66
-rw-r--r--voice_engine/test/auto_test/voe_standard_test.cc14
-rw-r--r--voice_engine/test/auto_test/voe_standard_test.h14
-rw-r--r--voice_engine/test/auto_test/voe_test_defines.h4
-rw-r--r--voice_engine/voe_call_report_impl.cc373
-rw-r--r--voice_engine/voe_call_report_impl.h57
-rw-r--r--voice_engine/voice_engine.gyp4
-rw-r--r--voice_engine/voice_engine_impl.h9
14 files changed, 1 insertions, 732 deletions
diff --git a/engine_configurations.h b/engine_configurations.h
index 0fb09496..45536bfd 100644
--- a/engine_configurations.h
+++ b/engine_configurations.h
@@ -84,10 +84,6 @@
#define WEBRTC_VOICE_ENGINE_VIDEO_SYNC_API
#define WEBRTC_VOICE_ENGINE_VOLUME_CONTROL_API
-#ifndef WEBRTC_CHROMIUM_BUILD
-#define WEBRTC_VOICE_ENGINE_CALL_REPORT_API
-#endif
-
// ============================================================================
// VideoEngine
// ============================================================================
diff --git a/voice_engine/channel.cc b/voice_engine/channel.cc
index 2c75a790..4f310d36 100644
--- a/voice_engine/channel.cc
+++ b/voice_engine/channel.cc
@@ -502,8 +502,6 @@ Channel::OnPeriodicDeadOrAlive(int32_t id,
isAlive = (_outputSpeechType != AudioFrame::kPLCCNG);
}
- UpdateDeadOrAliveCounters(isAlive);
-
// Send callback to the registered observer
if (_connectionObserver)
{
@@ -908,8 +906,6 @@ Channel::Channel(int32_t channelId,
_rtpTimeOutSeconds(0),
_connectionObserver(false),
_connectionObserverPtr(NULL),
- _countAliveDetections(0),
- _countDeadDetections(0),
_outputSpeechType(AudioFrame::kNormalSpeech),
vie_network_(NULL),
video_channel_(-1),
@@ -4354,68 +4350,6 @@ int Channel::SetExternalMixing(bool enabled) {
}
int
-Channel::ResetRTCPStatistics()
-{
- WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId,_channelId),
- "Channel::ResetRTCPStatistics()");
- uint32_t remoteSSRC(0);
- remoteSSRC = rtp_receiver_->SSRC();
- return _rtpRtcpModule->ResetRTT(remoteSSRC);
-}
-
-int
-Channel::GetRoundTripTimeSummary(StatVal& delaysMs) const
-{
- WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId,_channelId),
- "Channel::GetRoundTripTimeSummary()");
- // Override default module outputs for the case when RTCP is disabled.
- // This is done to ensure that we are backward compatible with the
- // VoiceEngine where we did not use RTP/RTCP module.
- if (!_rtpRtcpModule->RTCP())
- {
- delaysMs.min = -1;
- delaysMs.max = -1;
- delaysMs.average = -1;
- WEBRTC_TRACE(kTraceWarning, kTraceVoice, VoEId(_instanceId,_channelId),
- "Channel::GetRoundTripTimeSummary() RTCP is disabled =>"
- " valid RTT measurements cannot be retrieved");
- return 0;
- }
-
- uint32_t remoteSSRC;
- uint16_t RTT;
- uint16_t avgRTT;
- uint16_t maxRTT;
- uint16_t minRTT;
- // The remote SSRC will be zero if no RTP packet has been received.
- remoteSSRC = rtp_receiver_->SSRC();
- if (remoteSSRC == 0)
- {
- WEBRTC_TRACE(kTraceWarning, kTraceVoice, VoEId(_instanceId,_channelId),
- "Channel::GetRoundTripTimeSummary() unable to measure RTT"
- " since no RTP packet has been received yet");
- }
-
- // Retrieve RTT statistics from the RTP/RTCP module for the specified
- // channel and SSRC. The SSRC is required to parse out the correct source
- // in conference scenarios.
- if (_rtpRtcpModule->RTT(remoteSSRC, &RTT, &avgRTT, &minRTT,&maxRTT) != 0)
- {
- WEBRTC_TRACE(kTraceWarning, kTraceVoice, VoEId(_instanceId,_channelId),
- "GetRoundTripTimeSummary unable to retrieve RTT values"
- " from the RTCP layer");
- delaysMs.min = -1; delaysMs.max = -1; delaysMs.average = -1;
- }
- else
- {
- delaysMs.min = minRTT;
- delaysMs.max = maxRTT;
- delaysMs.average = avgRTT;
- }
- return 0;
-}
-
-int
Channel::GetNetworkStatistics(NetworkStatistics& stats)
{
WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId,_channelId),
@@ -4810,28 +4744,6 @@ Channel::InsertInbandDtmfTone()
return 0;
}
-void
-Channel::ResetDeadOrAliveCounters()
-{
- _countDeadDetections = 0;
- _countAliveDetections = 0;
-}
-
-void
-Channel::UpdateDeadOrAliveCounters(bool alive)
-{
- if (alive)
- _countAliveDetections++;
- else
- _countDeadDetections++;
-}
-
-int
-Channel::GetDeadOrAliveCounters(int& countDead, int& countAlive) const
-{
- return 0;
-}
-
int32_t
Channel::SendPacketRaw(const void *data, int len, bool RTCP)
{
diff --git a/voice_engine/channel.h b/voice_engine/channel.h
index b490f489..7a366924 100644
--- a/voice_engine/channel.h
+++ b/voice_engine/channel.h
@@ -281,12 +281,6 @@ public:
int SetChannelOutputVolumeScaling(float scaling);
int GetChannelOutputVolumeScaling(float& scaling) const;
- // VoECallReport
- void ResetDeadOrAliveCounters();
- int ResetRTCPStatistics();
- int GetRoundTripTimeSummary(StatVal& delaysMs) const;
- int GetDeadOrAliveCounters(int& countDead, int& countAlive) const;
-
// VoENetEqStats
int GetNetworkStatistics(NetworkStatistics& stats);
void GetDecodingCallStatistics(AudioDecodingCallStats* stats) const;
@@ -514,7 +508,6 @@ private:
int InsertInbandDtmfTone();
int32_t MixOrReplaceAudioWithFile(int mixingFrequency);
int32_t MixAudioWithFile(AudioFrame& audioFrame, int mixingFrequency);
- void UpdateDeadOrAliveCounters(bool alive);
int32_t SendPacketRaw(const void *data, int len, bool RTCP);
void UpdatePacketDelay(uint32_t timestamp,
uint16_t sequenceNumber);
@@ -615,8 +608,6 @@ private:
uint32_t _rtpTimeOutSeconds;
bool _connectionObserver;
VoEConnectionObserver* _connectionObserverPtr;
- uint32_t _countAliveDetections;
- uint32_t _countDeadDetections;
AudioFrame::SpeechType _outputSpeechType;
ViENetwork* vie_network_;
int video_channel_;
diff --git a/voice_engine/include/voe_call_report.h b/voice_engine/include/voe_call_report.h
deleted file mode 100644
index de2c7781..00000000
--- a/voice_engine/include/voe_call_report.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-// This sub-API supports the following functionalities:
-//
-// - Long-term speech and noise level metrics.
-// - Long-term echo metric statistics.
-// - Round Trip Time (RTT) statistics.
-// - Dead-or-Alive connection summary.
-// - Generation of call reports to text files.
-//
-// Usage example, omitting error checking:
-//
-// using namespace webrtc;
-// VoiceEngine* voe = VoiceEngine::Create();
-// VoEBase* base = VoEBase::GetInterface(voe);
-// VoECallReport report = VoECallReport::GetInterface(voe);
-// base->Init();
-// LevelStatistics stats;
-// report->GetSpeechAndNoiseSummary(stats);
-// ...
-// base->Terminate();
-// base->Release();
-// report->Release();
-// VoiceEngine::Delete(voe);
-//
-#ifndef WEBRTC_VOICE_ENGINE_VOE_CALL_REPORT_H
-#define WEBRTC_VOICE_ENGINE_VOE_CALL_REPORT_H
-
-#include "webrtc/common_types.h"
-
-namespace webrtc {
-
-class VoiceEngine;
-
-// VoECallReport
-class WEBRTC_DLLEXPORT VoECallReport
-{
-public:
- // Factory for the VoECallReport sub-API. Increases an internal
- // reference counter if successful. Returns NULL if the API is not
- // supported or if construction fails.
- static VoECallReport* GetInterface(VoiceEngine* voiceEngine);
-
- // Releases the VoECallReport sub-API and decreases an internal
- // reference counter. Returns the new reference count. This value should
- // be zero for all sub-API:s before the VoiceEngine object can be safely
- // deleted.
- virtual int Release() = 0;
-
- // Performs a combined reset of all components involved in generating
- // the call report for a specified |channel|. Pass in -1 to reset
- // all channels.
- virtual int ResetCallReportStatistics(int channel) = 0;
-
- // Gets minimum, maximum and average levels for long-term echo metrics.
- virtual int GetEchoMetricSummary(EchoStatistics& stats) = 0;
-
- // Gets minimum, maximum and average levels for Round Trip Time (RTT)
- // measurements.
- virtual int GetRoundTripTimeSummary(int channel,
- StatVal& delaysMs) = 0;
-
- // Gets the total amount of dead and alive connection detections
- // during a VoIP session.
- virtual int GetDeadOrAliveSummary(int channel, int& numOfDeadDetections,
- int& numOfAliveDetections) = 0;
-
- // Creates a text file in ASCII format, which contains a summary
- // of all the statistics that can be obtained by the call report sub-API.
- virtual int WriteReportToFile(const char* fileNameUTF8) = 0;
-
-protected:
- VoECallReport() { }
- virtual ~VoECallReport() { }
-};
-
-} // namespace webrtc
-
-#endif // WEBRTC_VOICE_ENGINE_VOE_CALL_REPORT_H
diff --git a/voice_engine/test/auto_test/fixtures/before_initialization_fixture.cc b/voice_engine/test/auto_test/fixtures/before_initialization_fixture.cc
index fcace2a0..ebb874e7 100644
--- a/voice_engine/test/auto_test/fixtures/before_initialization_fixture.cc
+++ b/voice_engine/test/auto_test/fixtures/before_initialization_fixture.cc
@@ -36,7 +36,6 @@ BeforeInitializationFixture::BeforeInitializationFixture() {
voe_vsync_ = webrtc::VoEVideoSync::GetInterface(voice_engine_);
voe_hardware_ = webrtc::VoEHardware::GetInterface(voice_engine_);
voe_xmedia_ = webrtc::VoEExternalMedia::GetInterface(voice_engine_);
- voe_call_report_ = webrtc::VoECallReport::GetInterface(voice_engine_);
voe_neteq_stats_ = webrtc::VoENetEqStats::GetInterface(voice_engine_);
}
@@ -52,7 +51,6 @@ BeforeInitializationFixture::~BeforeInitializationFixture() {
voe_vsync_->Release();
voe_hardware_->Release();
voe_xmedia_->Release();
- voe_call_report_->Release();
voe_neteq_stats_->Release();
EXPECT_TRUE(webrtc::VoiceEngine::Delete(voice_engine_));
diff --git a/voice_engine/test/auto_test/fixtures/before_initialization_fixture.h b/voice_engine/test/auto_test/fixtures/before_initialization_fixture.h
index e58a10b2..7a3fad83 100644
--- a/voice_engine/test/auto_test/fixtures/before_initialization_fixture.h
+++ b/voice_engine/test/auto_test/fixtures/before_initialization_fixture.h
@@ -19,7 +19,6 @@
#include "webrtc/test/testsupport/gtest_disable.h"
#include "webrtc/voice_engine/include/voe_audio_processing.h"
#include "webrtc/voice_engine/include/voe_base.h"
-#include "webrtc/voice_engine/include/voe_call_report.h"
#include "webrtc/voice_engine/include/voe_codec.h"
#include "webrtc/voice_engine/include/voe_dtmf.h"
#include "webrtc/voice_engine/include/voe_errors.h"
@@ -68,7 +67,6 @@ class BeforeInitializationFixture : public testing::Test {
webrtc::VoEVideoSync* voe_vsync_;
webrtc::VoEHardware* voe_hardware_;
webrtc::VoEExternalMedia* voe_xmedia_;
- webrtc::VoECallReport* voe_call_report_;
webrtc::VoENetEqStats* voe_neteq_stats_;
webrtc::Config config_;
};
diff --git a/voice_engine/test/auto_test/standard/call_report_test.cc b/voice_engine/test/auto_test/standard/call_report_test.cc
deleted file mode 100644
index ee98dc1e..00000000
--- a/voice_engine/test/auto_test/standard/call_report_test.cc
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#include "webrtc/test/testsupport/fileutils.h"
-#include "webrtc/voice_engine/test/auto_test/fixtures/after_streaming_fixture.h"
-
-class CallReportTest : public AfterStreamingFixture {
-};
-
-TEST_F(CallReportTest, ResetCallReportStatisticsFailsForBadInput) {
- EXPECT_EQ(-1, voe_call_report_->ResetCallReportStatistics(-2));
- EXPECT_EQ(-1, voe_call_report_->ResetCallReportStatistics(1));
-}
-
-TEST_F(CallReportTest, ResetCallReportStatisticsSucceedsWithCorrectInput) {
- EXPECT_EQ(0, voe_call_report_->ResetCallReportStatistics(channel_));
- EXPECT_EQ(0, voe_call_report_->ResetCallReportStatistics(-1));
-}
-
-TEST_F(CallReportTest, EchoMetricSummarySucceeds) {
- EXPECT_EQ(0, voe_apm_->SetEcMetricsStatus(true));
- Sleep(1000);
-
- webrtc::EchoStatistics echo_statistics;
- EXPECT_EQ(0, voe_call_report_->GetEchoMetricSummary(echo_statistics));
-}
-
-TEST_F(CallReportTest, GetRoundTripTimeSummaryReturnsAllMinusOnesIfRtcpIsOff) {
- voe_rtp_rtcp_->SetRTCPStatus(channel_, false);
-
- webrtc::StatVal delays;
- EXPECT_EQ(0, voe_call_report_->GetRoundTripTimeSummary(channel_, delays));
- EXPECT_EQ(-1, delays.average);
- EXPECT_EQ(-1, delays.min);
- EXPECT_EQ(-1, delays.max);
-}
-
-// Flaky: https://code.google.com/p/webrtc/issues/detail?id=1719
-TEST_F(CallReportTest, DISABLED_GetRoundTripTimesReturnsValuesIfRtcpIsOn) {
- voe_rtp_rtcp_->SetRTCPStatus(channel_, true);
- Sleep(1000);
-
- webrtc::StatVal delays;
- EXPECT_EQ(0, voe_call_report_->GetRoundTripTimeSummary(channel_, delays));
- EXPECT_NE(-1, delays.average);
- EXPECT_NE(-1, delays.min);
- EXPECT_NE(-1, delays.max);
-}
-
-TEST_F(CallReportTest, WriteReportToFileFailsOnBadInput) {
- EXPECT_EQ(-1, voe_call_report_->WriteReportToFile(NULL));
-}
-
-TEST_F(CallReportTest, WriteReportToFileSucceedsWithCorrectFilename) {
- std::string output_path = webrtc::test::OutputPath();
- std::string report_filename = output_path + "call_report.txt";
-
- EXPECT_EQ(0, voe_call_report_->WriteReportToFile(report_filename.c_str()));
-}
diff --git a/voice_engine/test/auto_test/voe_standard_test.cc b/voice_engine/test/auto_test/voe_standard_test.cc
index 5d0fdb0e..53614458 100644
--- a/voice_engine/test/auto_test/voe_standard_test.cc
+++ b/voice_engine/test/auto_test/voe_standard_test.cc
@@ -42,8 +42,6 @@ void SubAPIManager::DisplayStatus() const {
TEST_LOG("Supported sub APIs:\n\n");
if (_base)
TEST_LOG(" Base\n");
- if (_callReport)
- TEST_LOG(" CallReport\n");
if (_codec)
TEST_LOG(" Codec\n");
if (_dtmf)
@@ -70,8 +68,6 @@ void SubAPIManager::DisplayStatus() const {
TEST_LOG("Excluded sub APIs:\n\n");
if (!_base)
TEST_LOG(" Base\n");
- if (!_callReport)
- TEST_LOG(" CallReport\n");
if (!_codec)
TEST_LOG(" Codec\n");
if (!_dtmf)
@@ -101,7 +97,6 @@ VoETestManager::VoETestManager()
: initialized_(false),
voice_engine_(NULL),
voe_base_(0),
- voe_call_report_(0),
voe_codec_(0),
voe_dtmf_(0),
voe_xmedia_(0),
@@ -174,9 +169,6 @@ void VoETestManager::GetInterfaces() {
#ifdef _TEST_XMEDIA_
voe_xmedia_ = VoEExternalMedia::GetInterface(voice_engine_);
#endif
-#ifdef _TEST_CALL_REPORT_
- voe_call_report_ = VoECallReport::GetInterface(voice_engine_);
-#endif
#ifdef WEBRTC_VOICE_ENGINE_NETEQ_STATS_API
voe_neteq_stats_ = VoENetEqStats::GetInterface(voice_engine_);
#endif
@@ -234,12 +226,6 @@ int VoETestManager::ReleaseInterfaces() {
voe_xmedia_ = NULL;
}
#endif
-#ifdef _TEST_CALL_REPORT_
- if (voe_call_report_) {
- voe_call_report_->Release();
- voe_call_report_ = NULL;
- }
-#endif
#ifdef WEBRTC_VOICE_ENGINE_NETEQ_STATS_API
if (voe_neteq_stats_) {
voe_neteq_stats_->Release();
diff --git a/voice_engine/test/auto_test/voe_standard_test.h b/voice_engine/test/auto_test/voe_standard_test.h
index 15dde0cd..566014db 100644
--- a/voice_engine/test/auto_test/voe_standard_test.h
+++ b/voice_engine/test/auto_test/voe_standard_test.h
@@ -25,9 +25,6 @@
#include "webrtc/voice_engine/test/auto_test/resource_manager.h"
#include "webrtc/voice_engine/test/auto_test/voe_test_common.h"
#include "webrtc/voice_engine/test/auto_test/voe_test_interface.h"
-#ifdef WEBRTC_VOICE_ENGINE_CALL_REPORT_API
-#include "webrtc/voice_engine/include/voe_call_report.h"
-#endif
#ifdef WEBRTC_VOICE_ENGINE_CODEC_API
#include "webrtc/voice_engine/include/voe_codec.h"
#endif
@@ -65,7 +62,6 @@ class SubAPIManager {
public:
SubAPIManager()
: _base(true),
- _callReport(false),
_codec(false),
_dtmf(false),
_externalMedia(false),
@@ -77,9 +73,6 @@ class SubAPIManager {
_videoSync(false),
_volumeControl(false),
_apm(false) {
-#ifdef WEBRTC_VOICE_ENGINE_CALL_REPORT_API
- _callReport = true;
-#endif
#ifdef WEBRTC_VOICE_ENGINE_CODEC_API
_codec = true;
#endif
@@ -116,7 +109,7 @@ class SubAPIManager {
void DisplayStatus() const;
private:
- bool _base, _callReport, _codec, _dtmf;
+ bool _base, _codec, _dtmf;
bool _externalMedia, _file, _hardware;
bool _netEqStats, _network, _rtp_rtcp, _videoSync, _volumeControl, _apm;
};
@@ -182,10 +175,6 @@ class VoETestManager {
return voe_xmedia_;
}
- VoECallReport* CallReportPtr() const {
- return voe_call_report_;
- }
-
#ifdef WEBRTC_VOICE_ENGINE_NETEQ_STATS_API
VoENetEqStats* NetEqStatsPtr() const {
return voe_neteq_stats_;
@@ -197,7 +186,6 @@ class VoETestManager {
VoiceEngine* voice_engine_;
VoEBase* voe_base_;
- VoECallReport* voe_call_report_;
VoECodec* voe_codec_;
VoEDtmf* voe_dtmf_;
VoEExternalMedia* voe_xmedia_;
diff --git a/voice_engine/test/auto_test/voe_test_defines.h b/voice_engine/test/auto_test/voe_test_defines.h
index c2fb38e9..10f64922 100644
--- a/voice_engine/test/auto_test/voe_test_defines.h
+++ b/voice_engine/test/auto_test/voe_test_defines.h
@@ -28,7 +28,6 @@
#define _TEST_AUDIO_PROCESSING_
#define _TEST_FILE_
#define _TEST_NETWORK_
-#define _TEST_CALL_REPORT_
#define _TEST_VIDEO_SYNC_
#define _TEST_NETEQ_STATS_
#define _TEST_XMEDIA_
@@ -77,9 +76,6 @@
#ifndef WEBRTC_VOICE_ENGINE_NETEQ_STATS_API
#undef _TEST_NETEQ_STATS_
#endif
-#ifndef WEBRTC_VOICE_ENGINE_CALL_REPORT_API
-#undef _TEST_CALL_REPORT_
-#endif
// Some parts can cause problems while running Insure
#ifdef __INSURE__
diff --git a/voice_engine/voe_call_report_impl.cc b/voice_engine/voe_call_report_impl.cc
deleted file mode 100644
index 9febc1c3..00000000
--- a/voice_engine/voe_call_report_impl.cc
+++ /dev/null
@@ -1,373 +0,0 @@
-/*
- * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#include "webrtc/voice_engine/voe_call_report_impl.h"
-
-#include "webrtc/modules/audio_processing/include/audio_processing.h"
-#include "webrtc/system_wrappers/interface/critical_section_wrapper.h"
-#include "webrtc/system_wrappers/interface/file_wrapper.h"
-#include "webrtc/system_wrappers/interface/trace.h"
-#include "webrtc/voice_engine/channel.h"
-#include "webrtc/voice_engine/include/voe_errors.h"
-#include "webrtc/voice_engine/voice_engine_impl.h"
-
-namespace webrtc
-{
-
-VoECallReport* VoECallReport::GetInterface(VoiceEngine* voiceEngine)
-{
-#ifndef WEBRTC_VOICE_ENGINE_CALL_REPORT_API
- return NULL;
-#else
- if (NULL == voiceEngine)
- {
- return NULL;
- }
- VoiceEngineImpl* s = static_cast<VoiceEngineImpl*>(voiceEngine);
- s->AddRef();
- return s;
-#endif
-}
-
-#ifdef WEBRTC_VOICE_ENGINE_CALL_REPORT_API
-
-VoECallReportImpl::VoECallReportImpl(voe::SharedData* shared) :
- _file(*FileWrapper::Create()), _shared(shared)
-{
- WEBRTC_TRACE(kTraceMemory, kTraceVoice, VoEId(_shared->instance_id(), -1),
- "VoECallReportImpl() - ctor");
-}
-
-VoECallReportImpl::~VoECallReportImpl()
-{
- WEBRTC_TRACE(kTraceMemory, kTraceVoice, VoEId(_shared->instance_id(), -1),
- "~VoECallReportImpl() - dtor");
- delete &_file;
-}
-
-int VoECallReportImpl::ResetCallReportStatistics(int channel)
-{
- WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
- "ResetCallReportStatistics(channel=%d)", channel);
-
- if (!_shared->statistics().Initialized())
- {
- _shared->SetLastError(VE_NOT_INITED, kTraceError);
- return -1;
- }
-
- assert(_shared->audio_processing() != NULL);
-
- bool echoMode =
- _shared->audio_processing()->echo_cancellation()->are_metrics_enabled();
-
- WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_shared->instance_id(), -1),
- " current AudioProcessingModule echo metric state %d)",
- echoMode);
- // Reset the APM statistics
- if (_shared->audio_processing()->echo_cancellation()->enable_metrics(true)
- != 0)
- {
- _shared->SetLastError(VE_APM_ERROR, kTraceError,
- "ResetCallReportStatistics() unable to "
- "set the AudioProcessingModule echo metrics state");
- return -1;
- }
- // Restore metric states
- _shared->audio_processing()->echo_cancellation()->enable_metrics(echoMode);
-
- // Reset channel dependent statistics
- if (channel != -1)
- {
- voe::ChannelOwner ch = _shared->channel_manager().GetChannel(channel);
- voe::Channel* channelPtr = ch.channel();
- if (channelPtr == NULL)
- {
- _shared->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError,
- "ResetCallReportStatistics() failed to locate channel");
- return -1;
- }
- channelPtr->ResetDeadOrAliveCounters();
- channelPtr->ResetRTCPStatistics();
- } else {
- for (voe::ChannelManager::Iterator it(&_shared->channel_manager());
- it.IsValid();
- it.Increment()) {
- it.GetChannel()->ResetDeadOrAliveCounters();
- it.GetChannel()->ResetRTCPStatistics();
- }
- }
-
- return 0;
-}
-
-int VoECallReportImpl::GetEchoMetricSummary(EchoStatistics& stats)
-{
- WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
- "GetEchoMetricSummary()");
-
- if (!_shared->statistics().Initialized())
- {
- _shared->SetLastError(VE_NOT_INITED, kTraceError);
- return -1;
- }
- assert(_shared->audio_processing() != NULL);
-
- return (GetEchoMetricSummaryInternal(stats));
-}
-
-int VoECallReportImpl::GetEchoMetricSummaryInternal(EchoStatistics& stats)
-{
- // Retrieve echo metrics from the AudioProcessingModule
- int ret(0);
- bool mode(false);
- EchoCancellation::Metrics metrics;
-
- // Ensure that echo metrics is enabled
-
- mode =
- _shared->audio_processing()->echo_cancellation()->are_metrics_enabled();
- if (mode != false)
- {
- ret = _shared->audio_processing()->echo_cancellation()->
- GetMetrics(&metrics);
- if (ret != 0)
- {
- WEBRTC_TRACE(kTraceWarning, kTraceVoice,
- VoEId(_shared->instance_id(), -1),
- " AudioProcessingModule GetMetrics() => error");
- }
- }
- else
- {
- WEBRTC_TRACE(kTraceWarning, kTraceVoice,
- VoEId(_shared->instance_id(), -1),
- " AudioProcessingModule echo metrics is not enabled");
- }
-
- if ((ret != 0) || (mode == false))
- {
- // Mark complete struct as invalid (-100 dB)
- WEBRTC_TRACE(kTraceWarning, kTraceVoice,
- VoEId(_shared->instance_id(), -1),
- " unable to retrieve echo metrics from the AudioProcessingModule");
- stats.erl.min = -100;
- stats.erl.max = -100;
- stats.erl.average = -100;
- stats.erle.min = -100;
- stats.erle.max = -100;
- stats.erle.average = -100;
- stats.rerl.min = -100;
- stats.rerl.max = -100;
- stats.rerl.average = -100;
- stats.a_nlp.min = -100;
- stats.a_nlp.max = -100;
- stats.a_nlp.average = -100;
- }
- else
- {
-
- // Deliver output results to user
- stats.erl.min = metrics.echo_return_loss.minimum;
- stats.erl.max = metrics.echo_return_loss.maximum;
- stats.erl.average = metrics.echo_return_loss.average;
- WEBRTC_TRACE(kTraceStateInfo, kTraceVoice,
- VoEId(_shared->instance_id(), -1), " erl: min=%d, max=%d, avg=%d",
- stats.erl.min, stats.erl.max, stats.erl.average);
-
- stats.erle.min = metrics.echo_return_loss_enhancement.minimum;
- stats.erle.max = metrics.echo_return_loss_enhancement.maximum;
- stats.erle.average = metrics.echo_return_loss_enhancement.average;
- WEBRTC_TRACE(kTraceStateInfo, kTraceVoice,
- VoEId(_shared->instance_id(), -1), " erle: min=%d, max=%d, avg=%d",
- stats.erle.min, stats.erle.max, stats.erle.average);
-
- stats.rerl.min = metrics.residual_echo_return_loss.minimum;
- stats.rerl.max = metrics.residual_echo_return_loss.maximum;
- stats.rerl.average = metrics.residual_echo_return_loss.average;
- WEBRTC_TRACE(kTraceStateInfo, kTraceVoice,
- VoEId(_shared->instance_id(), -1), " rerl: min=%d, max=%d, avg=%d",
- stats.rerl.min, stats.rerl.max, stats.rerl.average);
-
- stats.a_nlp.min = metrics.a_nlp.minimum;
- stats.a_nlp.max = metrics.a_nlp.maximum;
- stats.a_nlp.average = metrics.a_nlp.average;
- WEBRTC_TRACE(kTraceStateInfo, kTraceVoice,
- VoEId(_shared->instance_id(), -1),
- " a_nlp: min=%d, max=%d, avg=%d",
- stats.a_nlp.min, stats.a_nlp.max, stats.a_nlp.average);
- }
- return 0;
-}
-
-int VoECallReportImpl::GetRoundTripTimeSummary(int channel, StatVal& delaysMs)
-{
- WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
- "GetRoundTripTimeSummary()");
-
- if (!_shared->statistics().Initialized())
- {
- _shared->SetLastError(VE_NOT_INITED, kTraceError);
- return -1;
- }
- voe::ChannelOwner ch = _shared->channel_manager().GetChannel(channel);
- voe::Channel* channelPtr = ch.channel();
- if (channelPtr == NULL)
- {
- _shared->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError,
- "GetRoundTripTimeSummary() failed to locate channel");
- return -1;
- }
-
- return channelPtr->GetRoundTripTimeSummary(delaysMs);
-}
-
-int VoECallReportImpl::GetDeadOrAliveSummary(int channel,
- int& numOfDeadDetections,
- int& numOfAliveDetections)
-{
- WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
- "GetDeadOrAliveSummary(channel=%d)", channel);
-
- if (!_shared->statistics().Initialized())
- {
- _shared->SetLastError(VE_NOT_INITED, kTraceError);
- return -1;
- }
-
- return (GetDeadOrAliveSummaryInternal(channel, numOfDeadDetections,
- numOfAliveDetections));
-}
-
-int VoECallReportImpl::GetDeadOrAliveSummaryInternal(int channel,
- int& numOfDeadDetections,
- int& numOfAliveDetections)
-{
- WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
- "GetDeadOrAliveSummary(channel=%d)", channel);
-
- if (!_shared->statistics().Initialized())
- {
- _shared->SetLastError(VE_NOT_INITED, kTraceError);
- return -1;
- }
- voe::ChannelOwner ch = _shared->channel_manager().GetChannel(channel);
- voe::Channel* channelPtr = ch.channel();
- if (channelPtr == NULL)
- {
- _shared->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError,
- "GetRoundTripTimeSummary() failed to locate channel");
- return -1;
- }
-
- return channelPtr->GetDeadOrAliveCounters(numOfDeadDetections,
- numOfAliveDetections);
-}
-
-int VoECallReportImpl::WriteReportToFile(const char* fileNameUTF8)
-{
- WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
- "WriteReportToFile(fileNameUTF8=%s)", fileNameUTF8);
-
- if (!_shared->statistics().Initialized())
- {
- _shared->SetLastError(VE_NOT_INITED, kTraceError);
- return -1;
- }
-
- if (NULL == fileNameUTF8)
- {
- _shared->SetLastError(VE_INVALID_ARGUMENT, kTraceError,
- "WriteReportToFile() invalid filename");
- return -1;
- }
-
- if (_file.Open())
- {
- _file.CloseFile();
- }
-
- // Open text file in write mode
- if (_file.OpenFile(fileNameUTF8, false, false, true) != 0)
- {
- _shared->SetLastError(VE_BAD_FILE, kTraceError,
- "WriteReportToFile() unable to open the file");
- return -1;
- }
-
- // Summarize information and add it to the open file
- //
- _file.WriteText("WebRtc VoiceEngine Call Report\n");
- _file.WriteText("==============================\n");
- _file.WriteText("\nNetwork Packet Round Trip Time (RTT)\n");
- _file.WriteText("------------------------------------\n\n");
-
- if (_shared->channel_manager().NumOfChannels() == 0)
- return 0;
-
- for (voe::ChannelManager::Iterator it(&_shared->channel_manager());
- it.IsValid();
- it.Increment()) {
- StatVal delaysMs;
- _file.WriteText("channel %d:\n", it.GetChannel()->ChannelId());
- it.GetChannel()->GetRoundTripTimeSummary(delaysMs);
- _file.WriteText(" min:%5d [ms]\n", delaysMs.min);
- _file.WriteText(" max:%5d [ms]\n", delaysMs.max);
- _file.WriteText(" avg:%5d [ms]\n", delaysMs.average);
- }
-
- _file.WriteText("\nDead-or-Alive Connection Detections\n");
- _file.WriteText("------------------------------------\n\n");
-
- for (voe::ChannelManager::Iterator it(&_shared->channel_manager());
- it.IsValid();
- it.Increment()) {
- int dead = 0;
- int alive = 0;
- _file.WriteText("channel %d:\n", it.GetChannel()->ChannelId());
- GetDeadOrAliveSummary(it.GetChannel()->ChannelId(), dead, alive);
- _file.WriteText(" #dead :%6d\n", dead);
- _file.WriteText(" #alive:%6d\n", alive);
- }
-
- EchoStatistics echo;
- GetEchoMetricSummary(echo);
-
- _file.WriteText("\nEcho Metrics\n");
- _file.WriteText("------------\n\n");
-
- _file.WriteText("erl:\n");
- _file.WriteText(" min:%5d [dB]\n", echo.erl.min);
- _file.WriteText(" max:%5d [dB]\n", echo.erl.max);
- _file.WriteText(" avg:%5d [dB]\n", echo.erl.average);
- _file.WriteText("\nerle:\n");
- _file.WriteText(" min:%5d [dB]\n", echo.erle.min);
- _file.WriteText(" max:%5d [dB]\n", echo.erle.max);
- _file.WriteText(" avg:%5d [dB]\n", echo.erle.average);
- _file.WriteText("rerl:\n");
- _file.WriteText(" min:%5d [dB]\n", echo.rerl.min);
- _file.WriteText(" max:%5d [dB]\n", echo.rerl.max);
- _file.WriteText(" avg:%5d [dB]\n", echo.rerl.average);
- _file.WriteText("a_nlp:\n");
- _file.WriteText(" min:%5d [dB]\n", echo.a_nlp.min);
- _file.WriteText(" max:%5d [dB]\n", echo.a_nlp.max);
- _file.WriteText(" avg:%5d [dB]\n", echo.a_nlp.average);
-
- _file.WriteText("\n<END>");
-
- _file.Flush();
- _file.CloseFile();
-
- return 0;
-}
-
-#endif // WEBRTC_VOICE_ENGINE_CALL_REPORT_API
-
-} // namespace webrtc
diff --git a/voice_engine/voe_call_report_impl.h b/voice_engine/voe_call_report_impl.h
deleted file mode 100644
index b9927f56..00000000
--- a/voice_engine/voe_call_report_impl.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#ifndef WEBRTC_VOICE_ENGINE_VOE_CALL_REPORT_IMPL_H
-#define WEBRTC_VOICE_ENGINE_VOE_CALL_REPORT_IMPL_H
-
-#include "webrtc/voice_engine/include/voe_call_report.h"
-
-#include "webrtc/voice_engine/shared_data.h"
-
-
-namespace webrtc
-{
-class FileWrapper;
-
-class VoECallReportImpl: public VoECallReport
-{
-public:
- virtual int ResetCallReportStatistics(int channel);
-
- virtual int GetEchoMetricSummary(EchoStatistics& stats);
-
- virtual int GetRoundTripTimeSummary(int channel,
- StatVal& delaysMs);
-
- virtual int GetDeadOrAliveSummary(int channel, int& numOfDeadDetections,
- int& numOfAliveDetections);
-
- virtual int WriteReportToFile(const char* fileNameUTF8);
-
-protected:
- VoECallReportImpl(voe::SharedData* shared);
- virtual ~VoECallReportImpl();
-
-private:
- int GetDeadOrAliveSummaryInternal(int channel,
- int& numOfDeadDetections,
- int& numOfAliveDetections);
-
- int GetEchoMetricSummaryInternal(EchoStatistics& stats);
-
- int GetSpeechAndNoiseSummaryInternal(LevelStatistics& stats);
-
- FileWrapper& _file;
- voe::SharedData* _shared;
-};
-
-} // namespace webrtc
-
-#endif // WEBRTC_VOICE_ENGINE_VOE_CALL_REPORT_IMPL_H
diff --git a/voice_engine/voice_engine.gyp b/voice_engine/voice_engine.gyp
index 16629d93..699677cf 100644
--- a/voice_engine/voice_engine.gyp
+++ b/voice_engine/voice_engine.gyp
@@ -31,7 +31,6 @@
'../typedefs.h',
'include/voe_audio_processing.h',
'include/voe_base.h',
- 'include/voe_call_report.h',
'include/voe_codec.h',
'include/voe_dtmf.h',
'include/voe_errors.h',
@@ -69,8 +68,6 @@
'voe_audio_processing_impl.h',
'voe_base_impl.cc',
'voe_base_impl.h',
- 'voe_call_report_impl.cc',
- 'voe_call_report_impl.h',
'voe_codec_impl.cc',
'voe_codec_impl.h',
'voe_dtmf_impl.cc',
@@ -166,7 +163,6 @@
'test/auto_test/fixtures/before_initialization_fixture.cc',
'test/auto_test/fixtures/before_initialization_fixture.h',
'test/auto_test/standard/audio_processing_test.cc',
- 'test/auto_test/standard/call_report_test.cc',
'test/auto_test/standard/codec_before_streaming_test.cc',
'test/auto_test/standard/codec_test.cc',
'test/auto_test/standard/dtmf_test.cc',
diff --git a/voice_engine/voice_engine_impl.h b/voice_engine/voice_engine_impl.h
index ffdf5910..1d2b9c5e 100644
--- a/voice_engine/voice_engine_impl.h
+++ b/voice_engine/voice_engine_impl.h
@@ -18,9 +18,6 @@
#ifdef WEBRTC_VOICE_ENGINE_AUDIO_PROCESSING_API
#include "webrtc/voice_engine/voe_audio_processing_impl.h"
#endif
-#ifdef WEBRTC_VOICE_ENGINE_CALL_REPORT_API
-#include "webrtc/voice_engine/voe_call_report_impl.h"
-#endif
#ifdef WEBRTC_VOICE_ENGINE_CODEC_API
#include "webrtc/voice_engine/voe_codec_impl.h"
#endif
@@ -58,9 +55,6 @@ class VoiceEngineImpl : public voe::SharedData, // Must be the first base class
#ifdef WEBRTC_VOICE_ENGINE_AUDIO_PROCESSING_API
public VoEAudioProcessingImpl,
#endif
-#ifdef WEBRTC_VOICE_ENGINE_CALL_REPORT_API
- public VoECallReportImpl,
-#endif
#ifdef WEBRTC_VOICE_ENGINE_CODEC_API
public VoECodecImpl,
#endif
@@ -97,9 +91,6 @@ public:
#ifdef WEBRTC_VOICE_ENGINE_AUDIO_PROCESSING_API
VoEAudioProcessingImpl(this),
#endif
-#ifdef WEBRTC_VOICE_ENGINE_CALL_REPORT_API
- VoECallReportImpl(this),
-#endif
#ifdef WEBRTC_VOICE_ENGINE_CODEC_API
VoECodecImpl(this),
#endif