Make the destructor of AudioCodingModule public.
This allows the type to be used with a scoped_ptr. Remove all calls to
the deprecated Destroy() from tests.
R=turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2200006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4731 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/webrtc/modules/audio_coding/main/interface/audio_coding_module.h b/webrtc/modules/audio_coding/main/interface/audio_coding_module.h
index bcf86c1..b705b4d 100644
--- a/webrtc/modules/audio_coding/main/interface/audio_coding_module.h
+++ b/webrtc/modules/audio_coding/main/interface/audio_coding_module.h
@@ -76,7 +76,6 @@
class AudioCodingModule: public Module {
protected:
AudioCodingModule() {}
- virtual ~AudioCodingModule() {}
public:
///////////////////////////////////////////////////////////////////////////
@@ -88,7 +87,9 @@
//
static AudioCodingModule* Create(const int32_t id);
static AudioCodingModule* Create(const int32_t id, Clock* clock);
+ virtual ~AudioCodingModule() {};
+ // TODO(ajm): Deprecated. Remove all calls to this unneeded method.
static void Destroy(AudioCodingModule* module);
///////////////////////////////////////////////////////////////////////////
diff --git a/webrtc/modules/audio_coding/main/test/APITest.cc b/webrtc/modules/audio_coding/main/test/APITest.cc
index 90f88e3..cb7115e 100644
--- a/webrtc/modules/audio_coding/main/test/APITest.cc
+++ b/webrtc/modules/audio_coding/main/test/APITest.cc
@@ -55,8 +55,8 @@
}
APITest::APITest()
- : _acmA(NULL),
- _acmB(NULL),
+ : _acmA(AudioCodingModule::Create(1)),
+ _acmB(AudioCodingModule::Create(2)),
_channel_A2B(NULL),
_channel_B2A(NULL),
_writeToFile(true),
@@ -111,9 +111,6 @@
}
APITest::~APITest() {
- DESTROY_ACM(_acmA);
- DESTROY_ACM(_acmB);
-
DELETE_POINTER(_channel_A2B);
DELETE_POINTER(_channel_B2A);
@@ -141,9 +138,6 @@
}
int16_t APITest::SetUp() {
- _acmA = AudioCodingModule::Create(1);
- _acmB = AudioCodingModule::Create(2);
-
CodecInst dummyCodec;
int lastPayloadType = 0;
diff --git a/webrtc/modules/audio_coding/main/test/EncodeDecodeTest.cc b/webrtc/modules/audio_coding/main/test/EncodeDecodeTest.cc
index 6ba6186..bab207c 100644
--- a/webrtc/modules/audio_coding/main/test/EncodeDecodeTest.cc
+++ b/webrtc/modules/audio_coding/main/test/EncodeDecodeTest.cc
@@ -22,6 +22,7 @@
#include "webrtc/modules/audio_coding/main/interface/audio_coding_module.h"
#include "webrtc/modules/audio_coding/main/source/acm_common_defs.h"
#include "webrtc/modules/audio_coding/main/test/utility.h"
+#include "webrtc/system_wrappers/interface/scoped_ptr.h"
#include "webrtc/system_wrappers/interface/trace.h"
#include "webrtc/test/testsupport/fileutils.h"
@@ -269,7 +270,7 @@
codePars[1] = 0;
codePars[2] = 0;
- AudioCodingModule* acm = AudioCodingModule::Create(0);
+ scoped_ptr<AudioCodingModule> acm(AudioCodingModule::Create(0));
struct CodecInst sendCodecTmp;
numCodecs = acm->NumberOfCodecs();
@@ -309,15 +310,13 @@
_receiver.codeId = codeId;
rtpFile.ReadHeader();
- _receiver.Setup(acm, &rtpFile);
+ _receiver.Setup(acm.get(), &rtpFile);
_receiver.Run();
_receiver.Teardown();
rtpFile.Close();
}
}
- AudioCodingModule::Destroy(acm);
-
// End tracing.
if (_testMode == 1) {
Trace::ReturnTrace();
@@ -326,7 +325,7 @@
void EncodeDecodeTest::EncodeToFile(int fileType, int codeId, int* codePars,
int testMode) {
- AudioCodingModule* acm = AudioCodingModule::Create(1);
+ scoped_ptr<AudioCodingModule> acm(AudioCodingModule::Create(1));
RTPFile rtpFile;
std::string fileName = webrtc::test::OutputPath() + "outFile.rtp";
rtpFile.Open(fileName.c_str(), "wb+");
@@ -336,14 +335,13 @@
_sender.testMode = testMode;
_sender.codeId = codeId;
- _sender.Setup(acm, &rtpFile);
+ _sender.Setup(acm.get(), &rtpFile);
struct CodecInst sendCodecInst;
if (acm->SendCodec(&sendCodecInst) >= 0) {
_sender.Run();
}
_sender.Teardown();
rtpFile.Close();
- AudioCodingModule::Destroy(acm);
}
} // namespace webrtc
diff --git a/webrtc/modules/audio_coding/main/test/SpatialAudio.cc b/webrtc/modules/audio_coding/main/test/SpatialAudio.cc
index 57417e3..b82378b 100644
--- a/webrtc/modules/audio_coding/main/test/SpatialAudio.cc
+++ b/webrtc/modules/audio_coding/main/test/SpatialAudio.cc
@@ -23,31 +23,27 @@
#define NUM_PANN_COEFFS 10
-SpatialAudio::SpatialAudio(int testMode) {
- _testMode = testMode;
+SpatialAudio::SpatialAudio(int testMode)
+ : _acmLeft(AudioCodingModule::Create(1)),
+ _acmRight(AudioCodingModule::Create(2)),
+ _acmReceiver(AudioCodingModule::Create(3)),
+ _testMode(testMode) {
}
SpatialAudio::~SpatialAudio() {
- AudioCodingModule::Destroy(_acmLeft);
- AudioCodingModule::Destroy(_acmRight);
- AudioCodingModule::Destroy(_acmReceiver);
delete _channel;
_inFile.Close();
_outFile.Close();
}
int16_t SpatialAudio::Setup() {
- // Create ACMs and the Channel;
- _acmLeft = AudioCodingModule::Create(1);
- _acmRight = AudioCodingModule::Create(2);
- _acmReceiver = AudioCodingModule::Create(3);
_channel = new Channel;
// Register callback for the sender side.
CHECK_ERROR(_acmLeft->RegisterTransportCallback(_channel));
CHECK_ERROR(_acmRight->RegisterTransportCallback(_channel));
// Register the receiver ACM in channel
- _channel->RegisterReceiverACM(_acmReceiver);
+ _channel->RegisterReceiverACM(_acmReceiver.get());
uint16_t sampFreqHz = 32000;
diff --git a/webrtc/modules/audio_coding/main/test/SpatialAudio.h b/webrtc/modules/audio_coding/main/test/SpatialAudio.h
index 6cb113d..fd9c0e7 100644
--- a/webrtc/modules/audio_coding/main/test/SpatialAudio.h
+++ b/webrtc/modules/audio_coding/main/test/SpatialAudio.h
@@ -11,6 +11,7 @@
#ifndef ACM_TEST_SPATIAL_AUDIO_H
#define ACM_TEST_SPATIAL_AUDIO_H
+#include "webrtc/system_wrappers/interface/scoped_ptr.h"
#include "ACMTest.h"
#include "Channel.h"
#include "PCMFile.h"
@@ -32,9 +33,9 @@
void EncodeDecode(double leftPanning, double rightPanning);
void EncodeDecode();
- AudioCodingModule* _acmLeft;
- AudioCodingModule* _acmRight;
- AudioCodingModule* _acmReceiver;
+ scoped_ptr<AudioCodingModule> _acmLeft;
+ scoped_ptr<AudioCodingModule> _acmRight;
+ scoped_ptr<AudioCodingModule> _acmReceiver;
Channel* _channel;
PCMFile _inFile;
PCMFile _outFile;
diff --git a/webrtc/modules/audio_coding/main/test/TestAllCodecs.cc b/webrtc/modules/audio_coding/main/test/TestAllCodecs.cc
index c47a582..d6c6dc4 100644
--- a/webrtc/modules/audio_coding/main/test/TestAllCodecs.cc
+++ b/webrtc/modules/audio_coding/main/test/TestAllCodecs.cc
@@ -100,8 +100,8 @@
}
TestAllCodecs::TestAllCodecs(int test_mode)
- : acm_a_(NULL),
- acm_b_(NULL),
+ : acm_a_(AudioCodingModule::Create(0)),
+ acm_b_(AudioCodingModule::Create(1)),
channel_a_to_b_(NULL),
test_count_(0),
packet_size_samples_(0),
@@ -111,14 +111,6 @@
}
TestAllCodecs::~TestAllCodecs() {
- if (acm_a_ != NULL) {
- AudioCodingModule::Destroy(acm_a_);
- acm_a_ = NULL;
- }
- if (acm_b_ != NULL) {
- AudioCodingModule::Destroy(acm_b_);
- acm_b_ = NULL;
- }
if (channel_a_to_b_ != NULL) {
delete channel_a_to_b_;
channel_a_to_b_ = NULL;
@@ -135,9 +127,6 @@
"---------- TestAllCodecs ----------");
}
- acm_a_ = AudioCodingModule::Create(0);
- acm_b_ = AudioCodingModule::Create(1);
-
acm_a_->InitializeReceiver();
acm_b_->InitializeReceiver();
@@ -154,7 +143,7 @@
// Create and connect the channel
channel_a_to_b_ = new TestPack;
acm_a_->RegisterTransportCallback(channel_a_to_b_);
- channel_a_to_b_->RegisterReceiverACM(acm_b_);
+ channel_a_to_b_->RegisterReceiverACM(acm_b_.get());
// All codecs are tested for all allowed sampling frequencies, rates and
// packet sizes.
@@ -736,11 +725,11 @@
AudioCodingModule* my_acm = NULL;
switch (side) {
case 'A': {
- my_acm = acm_a_;
+ my_acm = acm_a_.get();
break;
}
case 'B': {
- my_acm = acm_b_;
+ my_acm = acm_b_.get();
break;
}
default: {
diff --git a/webrtc/modules/audio_coding/main/test/TestAllCodecs.h b/webrtc/modules/audio_coding/main/test/TestAllCodecs.h
index 8cde8cf..5aabcf7 100644
--- a/webrtc/modules/audio_coding/main/test/TestAllCodecs.h
+++ b/webrtc/modules/audio_coding/main/test/TestAllCodecs.h
@@ -11,6 +11,7 @@
#ifndef WEBRTC_MODULES_AUDIO_CODING_MAIN_TEST_TEST_ALL_CODECS_H_
#define WEBRTC_MODULES_AUDIO_CODING_MAIN_TEST_TEST_ALL_CODECS_H_
+#include "webrtc/system_wrappers/interface/scoped_ptr.h"
#include "ACMTest.h"
#include "Channel.h"
#include "PCMFile.h"
@@ -64,8 +65,8 @@
void DisplaySendReceiveCodec();
int test_mode_;
- AudioCodingModule* acm_a_;
- AudioCodingModule* acm_b_;
+ scoped_ptr<AudioCodingModule> acm_a_;
+ scoped_ptr<AudioCodingModule> acm_b_;
TestPack* channel_a_to_b_;
PCMFile infile_a_;
PCMFile outfile_b_;
diff --git a/webrtc/modules/audio_coding/main/test/TestFEC.cc b/webrtc/modules/audio_coding/main/test/TestFEC.cc
index c9a63a2..cbb3647 100644
--- a/webrtc/modules/audio_coding/main/test/TestFEC.cc
+++ b/webrtc/modules/audio_coding/main/test/TestFEC.cc
@@ -24,21 +24,13 @@
namespace webrtc {
TestFEC::TestFEC()
- : _acmA(NULL),
- _acmB(NULL),
+ : _acmA(AudioCodingModule::Create(0)),
+ _acmB(AudioCodingModule::Create(1)),
_channelA2B(NULL),
_testCntr(0) {
}
TestFEC::~TestFEC() {
- if (_acmA != NULL) {
- AudioCodingModule::Destroy(_acmA);
- _acmA = NULL;
- }
- if (_acmB != NULL) {
- AudioCodingModule::Destroy(_acmB);
- _acmB = NULL;
- }
if (_channelA2B != NULL) {
delete _channelA2B;
_channelA2B = NULL;
@@ -50,9 +42,6 @@
"audio_coding/testfile32kHz", "pcm");
_inFileA.Open(file_name, 32000, "rb");
- _acmA = AudioCodingModule::Create(0);
- _acmB = AudioCodingModule::Create(1);
-
ASSERT_EQ(0, _acmA->InitializeReceiver());
ASSERT_EQ(0, _acmB->InitializeReceiver());
@@ -66,7 +55,7 @@
// Create and connect the channel
_channelA2B = new Channel;
_acmA->RegisterTransportCallback(_channelA2B);
- _channelA2B->RegisterReceiverACM(_acmB);
+ _channelA2B->RegisterReceiverACM(_acmB.get());
#ifndef WEBRTC_CODEC_G722
EXPECT_TRUE(false);
@@ -217,11 +206,11 @@
AudioCodingModule* myACM;
switch (side) {
case 'A': {
- myACM = _acmA;
+ myACM = _acmA.get();
break;
}
case 'B': {
- myACM = _acmB;
+ myACM = _acmB.get();
break;
}
default:
diff --git a/webrtc/modules/audio_coding/main/test/TestFEC.h b/webrtc/modules/audio_coding/main/test/TestFEC.h
index dff1087..9439112 100644
--- a/webrtc/modules/audio_coding/main/test/TestFEC.h
+++ b/webrtc/modules/audio_coding/main/test/TestFEC.h
@@ -11,6 +11,7 @@
#ifndef TEST_FEC_H
#define TEST_FEC_H
+#include "webrtc/system_wrappers/interface/scoped_ptr.h"
#include "ACMTest.h"
#include "Channel.h"
#include "PCMFile.h"
@@ -32,8 +33,8 @@
void Run();
void OpenOutFile(int16_t testNumber);
int32_t SetVAD(bool enableDTX, bool enableVAD, ACMVADMode vadMode);
- AudioCodingModule* _acmA;
- AudioCodingModule* _acmB;
+ scoped_ptr<AudioCodingModule> _acmA;
+ scoped_ptr<AudioCodingModule> _acmB;
Channel* _channelA2B;
diff --git a/webrtc/modules/audio_coding/main/test/TestStereo.cc b/webrtc/modules/audio_coding/main/test/TestStereo.cc
index 9a0bf9e..65c9983 100644
--- a/webrtc/modules/audio_coding/main/test/TestStereo.cc
+++ b/webrtc/modules/audio_coding/main/test/TestStereo.cc
@@ -109,8 +109,8 @@
}
TestStereo::TestStereo(int test_mode)
- : acm_a_(NULL),
- acm_b_(NULL),
+ : acm_a_(AudioCodingModule::Create(0)),
+ acm_b_(AudioCodingModule::Create(1)),
channel_a2b_(NULL),
test_cntr_(0),
pack_size_samp_(0),
@@ -132,14 +132,6 @@
}
TestStereo::~TestStereo() {
- if (acm_a_ != NULL) {
- AudioCodingModule::Destroy(acm_a_);
- acm_a_ = NULL;
- }
- if (acm_b_ != NULL) {
- AudioCodingModule::Destroy(acm_b_);
- acm_b_ = NULL;
- }
if (channel_a2b_ != NULL) {
delete channel_a2b_;
channel_a2b_ = NULL;
@@ -168,9 +160,7 @@
in_file_mono_->ReadStereo(false);
// Create and initialize two ACMs, one for each side of a one-to-one call.
- acm_a_ = AudioCodingModule::Create(0);
- acm_b_ = AudioCodingModule::Create(1);
- ASSERT_TRUE((acm_a_ != NULL) && (acm_b_ != NULL));
+ ASSERT_TRUE((acm_a_.get() != NULL) && (acm_b_.get() != NULL));
EXPECT_EQ(0, acm_a_->InitializeReceiver());
EXPECT_EQ(0, acm_b_->InitializeReceiver());
@@ -197,7 +187,7 @@
// Create and connect the channel.
channel_a2b_ = new TestPackStereo;
EXPECT_EQ(0, acm_a_->RegisterTransportCallback(channel_a2b_));
- channel_a2b_->RegisterReceiverACM(acm_b_);
+ channel_a2b_->RegisterReceiverACM(acm_b_.get());
// Start with setting VAD/DTX, before we know we will send stereo.
// Continue with setting a stereo codec as send codec and verify that
@@ -786,11 +776,11 @@
AudioCodingModule* my_acm = NULL;
switch (side) {
case 'A': {
- my_acm = acm_a_;
+ my_acm = acm_a_.get();
break;
}
case 'B': {
- my_acm = acm_b_;
+ my_acm = acm_b_.get();
break;
}
default:
diff --git a/webrtc/modules/audio_coding/main/test/TestStereo.h b/webrtc/modules/audio_coding/main/test/TestStereo.h
index 38a9793..53e4f28 100644
--- a/webrtc/modules/audio_coding/main/test/TestStereo.h
+++ b/webrtc/modules/audio_coding/main/test/TestStereo.h
@@ -13,6 +13,7 @@
#include <math.h>
+#include "webrtc/system_wrappers/interface/scoped_ptr.h"
#include "ACMTest.h"
#include "Channel.h"
#include "PCMFile.h"
@@ -83,8 +84,8 @@
int test_mode_;
- AudioCodingModule* acm_a_;
- AudioCodingModule* acm_b_;
+ scoped_ptr<AudioCodingModule> acm_a_;
+ scoped_ptr<AudioCodingModule> acm_b_;
TestPackStereo* channel_a2b_;
diff --git a/webrtc/modules/audio_coding/main/test/TestVADDTX.cc b/webrtc/modules/audio_coding/main/test/TestVADDTX.cc
index 35f5059..620329b 100644
--- a/webrtc/modules/audio_coding/main/test/TestVADDTX.cc
+++ b/webrtc/modules/audio_coding/main/test/TestVADDTX.cc
@@ -23,20 +23,12 @@
namespace webrtc {
TestVADDTX::TestVADDTX()
- : _acmA(NULL),
- _acmB(NULL),
+ : _acmA(AudioCodingModule::Create(0)),
+ _acmB(AudioCodingModule::Create(1)),
_channelA2B(NULL) {
}
TestVADDTX::~TestVADDTX() {
- if (_acmA != NULL) {
- AudioCodingModule::Destroy(_acmA);
- _acmA = NULL;
- }
- if (_acmB != NULL) {
- AudioCodingModule::Destroy(_acmB);
- _acmB = NULL;
- }
if (_channelA2B != NULL) {
delete _channelA2B;
_channelA2B = NULL;
@@ -48,9 +40,6 @@
"audio_coding/testfile32kHz", "pcm");
_inFileA.Open(file_name, 32000, "rb");
- _acmA = AudioCodingModule::Create(0);
- _acmB = AudioCodingModule::Create(1);
-
EXPECT_EQ(0, _acmA->InitializeReceiver());
EXPECT_EQ(0, _acmB->InitializeReceiver());
@@ -68,7 +57,7 @@
// Create and connect the channel
_channelA2B = new Channel;
_acmA->RegisterTransportCallback(_channelA2B);
- _channelA2B->RegisterReceiverACM(_acmB);
+ _channelA2B->RegisterReceiverACM(_acmB.get());
_acmA->RegisterVADCallback(&_monitor);
@@ -207,11 +196,11 @@
AudioCodingModule* myACM;
switch (side) {
case 'A': {
- myACM = _acmA;
+ myACM = _acmA.get();
break;
}
case 'B': {
- myACM = _acmB;
+ myACM = _acmB.get();
break;
}
default:
diff --git a/webrtc/modules/audio_coding/main/test/TestVADDTX.h b/webrtc/modules/audio_coding/main/test/TestVADDTX.h
index d1421ca..d55bdee 100644
--- a/webrtc/modules/audio_coding/main/test/TestVADDTX.h
+++ b/webrtc/modules/audio_coding/main/test/TestVADDTX.h
@@ -11,6 +11,7 @@
#ifndef TEST_VAD_DTX_H
#define TEST_VAD_DTX_H
+#include "webrtc/system_wrappers/interface/scoped_ptr.h"
#include "ACMTest.h"
#include "Channel.h"
#include "PCMFile.h"
@@ -64,8 +65,8 @@
void SetVAD(bool statusDTX, bool statusVAD, int16_t vadMode);
VADDTXstruct GetVAD();
int16_t VerifyTest();
- AudioCodingModule* _acmA;
- AudioCodingModule* _acmB;
+ scoped_ptr<AudioCodingModule> _acmA;
+ scoped_ptr<AudioCodingModule> _acmB;
Channel* _channelA2B;
diff --git a/webrtc/modules/audio_coding/main/test/TwoWayCommunication.cc b/webrtc/modules/audio_coding/main/test/TwoWayCommunication.cc
index 6b058fd..1b74a95 100644
--- a/webrtc/modules/audio_coding/main/test/TwoWayCommunication.cc
+++ b/webrtc/modules/audio_coding/main/test/TwoWayCommunication.cc
@@ -30,16 +30,15 @@
#define MAX_FILE_NAME_LENGTH_BYTE 500
-TwoWayCommunication::TwoWayCommunication(int testMode) {
- _testMode = testMode;
+TwoWayCommunication::TwoWayCommunication(int testMode)
+ : _acmA(AudioCodingModule::Create(1)),
+ _acmB(AudioCodingModule::Create(2)),
+ _acmRefA(AudioCodingModule::Create(3)),
+ _acmRefB(AudioCodingModule::Create(4)),
+ _testMode(testMode) {
}
TwoWayCommunication::~TwoWayCommunication() {
- AudioCodingModule::Destroy(_acmA);
- AudioCodingModule::Destroy(_acmB);
- AudioCodingModule::Destroy(_acmRefA);
- AudioCodingModule::Destroy(_acmRefB);
-
delete _channel_A2B;
delete _channel_B2A;
delete _channelRef_A2B;
@@ -62,7 +61,7 @@
void TwoWayCommunication::ChooseCodec(uint8_t* codecID_A,
uint8_t* codecID_B) {
- AudioCodingModule* tmpACM = AudioCodingModule::Create(0);
+ scoped_ptr<AudioCodingModule> tmpACM(AudioCodingModule::Create(0));
uint8_t noCodec = tmpACM->NumberOfCodecs();
CodecInst codecInst;
printf("List of Supported Codecs\n");
@@ -80,17 +79,10 @@
EXPECT_TRUE(fgets(myStr, 10, stdin) != NULL);
*codecID_B = (uint8_t) atoi(myStr);
- AudioCodingModule::Destroy(tmpACM);
printf("\n");
}
void TwoWayCommunication::SetUp() {
- _acmA = AudioCodingModule::Create(1);
- _acmB = AudioCodingModule::Create(2);
-
- _acmRefA = AudioCodingModule::Create(3);
- _acmRefB = AudioCodingModule::Create(4);
-
uint8_t codecID_A;
uint8_t codecID_B;
@@ -164,20 +156,20 @@
//--- Set A-to-B channel
_channel_A2B = new Channel;
_acmA->RegisterTransportCallback(_channel_A2B);
- _channel_A2B->RegisterReceiverACM(_acmB);
+ _channel_A2B->RegisterReceiverACM(_acmB.get());
//--- Do the same for the reference
_channelRef_A2B = new Channel;
_acmRefA->RegisterTransportCallback(_channelRef_A2B);
- _channelRef_A2B->RegisterReceiverACM(_acmRefB);
+ _channelRef_A2B->RegisterReceiverACM(_acmRefB.get());
//--- Set B-to-A channel
_channel_B2A = new Channel;
_acmB->RegisterTransportCallback(_channel_B2A);
- _channel_B2A->RegisterReceiverACM(_acmA);
+ _channel_B2A->RegisterReceiverACM(_acmA.get());
//--- Do the same for reference
_channelRef_B2A = new Channel;
_acmRefB->RegisterTransportCallback(_channelRef_B2A);
- _channelRef_B2A->RegisterReceiverACM(_acmRefA);
+ _channelRef_B2A->RegisterReceiverACM(_acmRefA.get());
// The clicks will be more obvious when we
// are in FAX mode.
@@ -186,12 +178,6 @@
}
void TwoWayCommunication::SetUpAutotest() {
- _acmA = AudioCodingModule::Create(1);
- _acmB = AudioCodingModule::Create(2);
-
- _acmRefA = AudioCodingModule::Create(3);
- _acmRefB = AudioCodingModule::Create(4);
-
CodecInst codecInst_A;
CodecInst codecInst_B;
CodecInst dummyCodec;
@@ -252,20 +238,20 @@
//--- Set A-to-B channel
_channel_A2B = new Channel;
_acmA->RegisterTransportCallback(_channel_A2B);
- _channel_A2B->RegisterReceiverACM(_acmB);
+ _channel_A2B->RegisterReceiverACM(_acmB.get());
//--- Do the same for the reference
_channelRef_A2B = new Channel;
_acmRefA->RegisterTransportCallback(_channelRef_A2B);
- _channelRef_A2B->RegisterReceiverACM(_acmRefB);
+ _channelRef_A2B->RegisterReceiverACM(_acmRefB.get());
//--- Set B-to-A channel
_channel_B2A = new Channel;
_acmB->RegisterTransportCallback(_channel_B2A);
- _channel_B2A->RegisterReceiverACM(_acmA);
+ _channel_B2A->RegisterReceiverACM(_acmA.get());
//--- Do the same for reference
_channelRef_B2A = new Channel;
_acmRefB->RegisterTransportCallback(_channelRef_B2A);
- _channelRef_B2A->RegisterReceiverACM(_acmRefA);
+ _channelRef_B2A->RegisterReceiverACM(_acmRefA.get());
// The clicks will be more obvious when we
// are in FAX mode.
diff --git a/webrtc/modules/audio_coding/main/test/TwoWayCommunication.h b/webrtc/modules/audio_coding/main/test/TwoWayCommunication.h
index abe0d9b..fe0ed2a 100644
--- a/webrtc/modules/audio_coding/main/test/TwoWayCommunication.h
+++ b/webrtc/modules/audio_coding/main/test/TwoWayCommunication.h
@@ -11,6 +11,7 @@
#ifndef TWO_WAY_COMMUNICATION_H
#define TWO_WAY_COMMUNICATION_H
+#include "webrtc/system_wrappers/interface/scoped_ptr.h"
#include "ACMTest.h"
#include "Channel.h"
#include "PCMFile.h"
@@ -30,11 +31,11 @@
void SetUp();
void SetUpAutotest();
- AudioCodingModule* _acmA;
- AudioCodingModule* _acmB;
+ scoped_ptr<AudioCodingModule> _acmA;
+ scoped_ptr<AudioCodingModule> _acmB;
- AudioCodingModule* _acmRefA;
- AudioCodingModule* _acmRefB;
+ scoped_ptr<AudioCodingModule> _acmRefA;
+ scoped_ptr<AudioCodingModule> _acmRefB;
Channel* _channel_A2B;
Channel* _channel_B2A;
diff --git a/webrtc/modules/audio_coding/main/test/delay_test.cc b/webrtc/modules/audio_coding/main/test/delay_test.cc
index d647b1f..57a912a 100644
--- a/webrtc/modules/audio_coding/main/test/delay_test.cc
+++ b/webrtc/modules/audio_coding/main/test/delay_test.cc
@@ -61,8 +61,8 @@
public:
DelayTest()
- : acm_a_(NULL),
- acm_b_(NULL),
+ : acm_a_(AudioCodingModule::Create(0)),
+ acm_b_(AudioCodingModule::Create(1)),
channel_a2b_(NULL),
test_cntr_(0),
encoding_sample_rate_hz_(8000) {}
@@ -70,14 +70,6 @@
~DelayTest() {}
void TearDown() {
- if (acm_a_ != NULL) {
- AudioCodingModule::Destroy(acm_a_);
- acm_a_ = NULL;
- }
- if (acm_b_ != NULL) {
- AudioCodingModule::Destroy(acm_b_);
- acm_b_ = NULL;
- }
if (channel_a2b_ != NULL) {
delete channel_a2b_;
channel_a2b_ = NULL;
@@ -91,8 +83,6 @@
if (FLAGS_input_file.size() > 0)
file_name = FLAGS_input_file;
in_file_a_.Open(file_name, 32000, "rb");
- acm_a_ = AudioCodingModule::Create(0);
- acm_b_ = AudioCodingModule::Create(1);
acm_a_->InitializeReceiver();
acm_b_->InitializeReceiver();
if (FLAGS_init_delay > 0) {
@@ -122,7 +112,7 @@
// Create and connect the channel
channel_a2b_ = new Channel;
acm_a_->RegisterTransportCallback(channel_a2b_);
- channel_a2b_->RegisterReceiverACM(acm_b_);
+ channel_a2b_->RegisterReceiverACM(acm_b_.get());
}
void Perform(const Config* config, size_t num_tests, int duration_sec,
@@ -229,8 +219,8 @@
out_file_b_.Close();
}
- AudioCodingModule* acm_a_;
- AudioCodingModule* acm_b_;
+ scoped_ptr<AudioCodingModule> acm_a_;
+ scoped_ptr<AudioCodingModule> acm_b_;
Channel* channel_a2b_;
@@ -256,9 +246,3 @@
}
} // namespace
} // namespace webrtc
-
-int main(int argc, char* argv[]) {
- using namespace webrtc;
- google::ParseCommandLineFlags(&argc, &argv, true);
- RunTest();
-}
diff --git a/webrtc/modules/audio_coding/main/test/dual_stream_unittest.cc b/webrtc/modules/audio_coding/main/test/dual_stream_unittest.cc
index 7430ff8..d8cdce5 100644
--- a/webrtc/modules/audio_coding/main/test/dual_stream_unittest.cc
+++ b/webrtc/modules/audio_coding/main/test/dual_stream_unittest.cc
@@ -53,9 +53,9 @@
kMaxNumStreams
};
- AudioCodingModule* acm_dual_stream_;
- AudioCodingModule* acm_ref_primary_;
- AudioCodingModule* acm_ref_secondary_;
+ scoped_ptr<AudioCodingModule> acm_dual_stream_;
+ scoped_ptr<AudioCodingModule> acm_ref_primary_;
+ scoped_ptr<AudioCodingModule> acm_ref_secondary_;
CodecInst primary_encoder_;
CodecInst secondary_encoder_;
@@ -98,9 +98,6 @@
}
DualStreamTest::~DualStreamTest() {
- AudioCodingModule::Destroy(acm_dual_stream_);
- AudioCodingModule::Destroy(acm_ref_primary_);
- AudioCodingModule::Destroy(acm_ref_secondary_);
}
void DualStreamTest::PopulateCodecInstances(int frame_size_primary_ms,
@@ -138,9 +135,9 @@
void DualStreamTest::InitializeSender(int frame_size_primary_samples,
int num_channels_primary,
int sampling_rate) {
- ASSERT_TRUE(acm_dual_stream_ != NULL);
- ASSERT_TRUE(acm_ref_primary_ != NULL);
- ASSERT_TRUE(acm_ref_secondary_ != NULL);
+ ASSERT_TRUE(acm_dual_stream_.get() != NULL);
+ ASSERT_TRUE(acm_ref_primary_.get() != NULL);
+ ASSERT_TRUE(acm_ref_secondary_.get() != NULL);
ASSERT_EQ(0, acm_dual_stream_->InitializeSender());
ASSERT_EQ(0, acm_ref_primary_->InitializeSender());
diff --git a/webrtc/modules/audio_coding/main/test/iSACTest.cc b/webrtc/modules/audio_coding/main/test/iSACTest.cc
index e8b77ac..50809fc 100644
--- a/webrtc/modules/audio_coding/main/test/iSACTest.cc
+++ b/webrtc/modules/audio_coding/main/test/iSACTest.cc
@@ -21,7 +21,7 @@
#else
#include <sys/time.h>
#include <time.h>
-#endif
+#endif
#include "webrtc/modules/audio_coding/main/source/acm_common_defs.h"
#include "webrtc/modules/audio_coding/main/test/utility.h"
@@ -86,14 +86,13 @@
return 0;
}
-ISACTest::ISACTest(int testMode) {
- _testMode = testMode;
+ISACTest::ISACTest(int testMode)
+ : _acmA(AudioCodingModule::Create(1)),
+ _acmB(AudioCodingModule::Create(2)),
+ _testMode(testMode) {
}
ISACTest::~ISACTest() {
- AudioCodingModule::Destroy(_acmA);
- AudioCodingModule::Destroy(_acmB);
-
delete _channel_A2B;
delete _channel_B2A;
}
@@ -102,9 +101,6 @@
int codecCntr;
CodecInst codecParam;
- _acmA = AudioCodingModule::Create(1);
- _acmB = AudioCodingModule::Create(2);
-
for (codecCntr = 0; codecCntr < AudioCodingModule::NumberOfCodecs();
codecCntr++) {
EXPECT_EQ(0, AudioCodingModule::Codec(codecCntr, &codecParam));
diff --git a/webrtc/modules/audio_coding/main/test/initial_delay_unittest.cc b/webrtc/modules/audio_coding/main/test/initial_delay_unittest.cc
index 3a08dea..a731808 100644
--- a/webrtc/modules/audio_coding/main/test/initial_delay_unittest.cc
+++ b/webrtc/modules/audio_coding/main/test/initial_delay_unittest.cc
@@ -46,8 +46,8 @@
protected:
InitialPlayoutDelayTest()
- : acm_a_(NULL),
- acm_b_(NULL),
+ : acm_a_(AudioCodingModule::Create(0)),
+ acm_b_(AudioCodingModule::Create(1)),
channel_a2b_(NULL) {
}
@@ -55,14 +55,6 @@
}
void TearDown() {
- if (acm_a_ != NULL) {
- AudioCodingModule::Destroy(acm_a_);
- acm_a_ = NULL;
- }
- if (acm_b_ != NULL) {
- AudioCodingModule::Destroy(acm_b_);
- acm_b_ = NULL;
- }
if (channel_a2b_ != NULL) {
delete channel_a2b_;
channel_a2b_ = NULL;
@@ -70,9 +62,6 @@
}
void SetUp() {
- acm_a_ = AudioCodingModule::Create(0);
- acm_b_ = AudioCodingModule::Create(1);
-
acm_b_->InitializeReceiver();
acm_a_->InitializeReceiver();
@@ -90,7 +79,7 @@
// Create and connect the channel
channel_a2b_ = new Channel;
acm_a_->RegisterTransportCallback(channel_a2b_);
- channel_a2b_->RegisterReceiverACM(acm_b_);
+ channel_a2b_->RegisterReceiverACM(acm_b_.get());
}
void Run(CodecInst codec, int initial_delay_ms) {
@@ -125,8 +114,8 @@
ASSERT_LE(num_frames * 10, initial_delay_ms + 100);
}
- AudioCodingModule* acm_a_;
- AudioCodingModule* acm_b_;
+ scoped_ptr<AudioCodingModule> acm_a_;
+ scoped_ptr<AudioCodingModule> acm_b_;
Channel* channel_a2b_;
};
diff --git a/webrtc/modules/audio_coding/main/test/insert_packet_with_timing.cc b/webrtc/modules/audio_coding/main/test/insert_packet_with_timing.cc
index 543d901..398a6b3 100644
--- a/webrtc/modules/audio_coding/main/test/insert_packet_with_timing.cc
+++ b/webrtc/modules/audio_coding/main/test/insert_packet_with_timing.cc
@@ -18,6 +18,7 @@
#include "webrtc/modules/audio_coding/main/test/PCMFile.h"
#include "webrtc/modules/interface/module_common_types.h"
#include "webrtc/system_wrappers/interface/clock.h"
+#include "webrtc/system_wrappers/interface/scoped_ptr.h"
#include "webrtc/test/testsupport/fileutils.h"
// Codec.
@@ -75,8 +76,8 @@
ASSERT_TRUE(sender_clock_ != NULL);
ASSERT_TRUE(receiver_clock_ != NULL);
- ASSERT_TRUE(send_acm_ != NULL);
- ASSERT_TRUE(receive_acm_ != NULL);
+ ASSERT_TRUE(send_acm_.get() != NULL);
+ ASSERT_TRUE(receive_acm_.get() != NULL);
ASSERT_TRUE(channel_ != NULL);
ASSERT_TRUE(seq_num_fid_ != NULL);
@@ -99,7 +100,7 @@
samples_in_1ms_ = codec.plfreq / 1000;
num_10ms_in_codec_frame_ = codec.pacsize / (codec.plfreq / 100);
- channel_->RegisterReceiverACM(receive_acm_);
+ channel_->RegisterReceiverACM(receive_acm_.get());
send_acm_->RegisterTransportCallback(channel_);
if (FLAGS_input.size() == 0) {
@@ -195,8 +196,6 @@
}
void TearDown() {
- AudioCodingModule::Destroy(send_acm_);
- AudioCodingModule::Destroy(receive_acm_);
delete channel_;
fclose(seq_num_fid_);
@@ -250,8 +249,8 @@
SimulatedClock* sender_clock_;
SimulatedClock* receiver_clock_;
- AudioCodingModule* send_acm_;
- AudioCodingModule* receive_acm_;
+ scoped_ptr<AudioCodingModule> send_acm_;
+ scoped_ptr<AudioCodingModule> receive_acm_;
Channel* channel_;
FILE* seq_num_fid_; // Input (text), one sequence number per line.
diff --git a/webrtc/modules/audio_coding/main/test/opus_test.cc b/webrtc/modules/audio_coding/main/test/opus_test.cc
index fb72cbc..5116934 100644
--- a/webrtc/modules/audio_coding/main/test/opus_test.cc
+++ b/webrtc/modules/audio_coding/main/test/opus_test.cc
@@ -29,7 +29,7 @@
namespace webrtc {
OpusTest::OpusTest()
- : acm_receiver_(NULL),
+ : acm_receiver_(AudioCodingModule::Create(0)),
channel_a2b_(NULL),
counter_(0),
payload_type_(255),
@@ -37,10 +37,6 @@
}
OpusTest::~OpusTest() {
- if (acm_receiver_ != NULL) {
- AudioCodingModule::Destroy(acm_receiver_);
- acm_receiver_ = NULL;
- }
if (channel_a2b_ != NULL) {
delete channel_a2b_;
channel_a2b_ = NULL;
@@ -93,9 +89,7 @@
ASSERT_GT(WebRtcOpus_DecoderInitNew(opus_mono_decoder_), -1);
ASSERT_GT(WebRtcOpus_DecoderInitNew(opus_stereo_decoder_), -1);
- // Create and initialize one ACM, to be used as receiver.
- acm_receiver_ = AudioCodingModule::Create(0);
- ASSERT_TRUE(acm_receiver_ != NULL);
+ ASSERT_TRUE(acm_receiver_.get() != NULL);
EXPECT_EQ(0, acm_receiver_->InitializeReceiver());
// Register Opus stereo as receiving codec.
@@ -107,7 +101,7 @@
// Create and connect the channel.
channel_a2b_ = new TestPackStereo;
- channel_a2b_->RegisterReceiverACM(acm_receiver_);
+ channel_a2b_->RegisterReceiverACM(acm_receiver_.get());
//
// Test Stereo.
diff --git a/webrtc/modules/audio_coding/main/test/opus_test.h b/webrtc/modules/audio_coding/main/test/opus_test.h
index b4526b2..ca0da9e 100644
--- a/webrtc/modules/audio_coding/main/test/opus_test.h
+++ b/webrtc/modules/audio_coding/main/test/opus_test.h
@@ -19,6 +19,7 @@
#include "webrtc/modules/audio_coding/main/test/Channel.h"
#include "webrtc/modules/audio_coding/main/test/PCMFile.h"
#include "webrtc/modules/audio_coding/main/test/TestStereo.h"
+#include "webrtc/system_wrappers/interface/scoped_ptr.h"
namespace webrtc {
@@ -34,7 +35,7 @@
void OpenOutFile(int test_number);
- AudioCodingModule* acm_receiver_;
+ scoped_ptr<AudioCodingModule> acm_receiver_;
TestPackStereo* channel_a2b_;
PCMFile in_file_stereo_;
PCMFile in_file_mono_;
diff --git a/webrtc/modules/audio_coding/main/test/target_delay_unittest.cc b/webrtc/modules/audio_coding/main/test/target_delay_unittest.cc
index e81cbac..9d23ec6 100644
--- a/webrtc/modules/audio_coding/main/test/target_delay_unittest.cc
+++ b/webrtc/modules/audio_coding/main/test/target_delay_unittest.cc
@@ -12,6 +12,7 @@
#include "webrtc/common_types.h"
#include "webrtc/modules/audio_coding/main/interface/audio_coding_module.h"
#include "webrtc/modules/interface/module_common_types.h"
+#include "webrtc/system_wrappers/interface/scoped_ptr.h"
#include "webrtc/system_wrappers/interface/sleep.h"
#include "webrtc/test/testsupport/fileutils.h"
#include "webrtc/test/testsupport/gtest_disable.h"
@@ -32,11 +33,10 @@
: acm_(AudioCodingModule::Create(0)) {}
~TargetDelayTest() {
- AudioCodingModule::Destroy(acm_);
}
void SetUp() {
- EXPECT_TRUE(acm_ != NULL);
+ EXPECT_TRUE(acm_.get() != NULL);
CodecInst codec;
ASSERT_EQ(0, AudioCodingModule::Codec("L16", &codec, kSampleRateHz, 1));
@@ -108,7 +108,7 @@
return acm_->LeastRequiredDelayMs();
}
- AudioCodingModule* acm_;
+ scoped_ptr<AudioCodingModule> acm_;
WebRtcRTPHeader rtp_info_;
};
diff --git a/webrtc/modules/audio_coding/main/test/utility.h b/webrtc/modules/audio_coding/main/test/utility.h
index 4e3d525..13c3e2c 100644
--- a/webrtc/modules/audio_coding/main/test/utility.h
+++ b/webrtc/modules/audio_coding/main/test/utility.h
@@ -52,14 +52,6 @@
} \
} while(0)
-#define DESTROY_ACM(acm) \
- do { \
- if (acm != NULL) { \
- AudioCodingModule::Destroy(acm); \
- acm = NULL; \
- } \
- } while(0)
-
#define DELETE_POINTER(p) \
do { \
if (p != NULL) { \