aboutsummaryrefslogtreecommitdiff
path: root/webrtc/modules/audio_coding/neteq
diff options
context:
space:
mode:
authorkwiberg <kwiberg@webrtc.org>2015-09-22 14:06:29 -0700
committerCommit bot <commit-bot@chromium.org>2015-09-22 21:06:34 +0000
commit8967183bf79322c5cb3cbd99e9b7aa298228d0a2 (patch)
tree91729ccf68dd93ac5d90f4586011a481533b02e1 /webrtc/modules/audio_coding/neteq
parentc1a1b353ec96a92f8b88dba5a058af8744e81560 (diff)
downloadwebrtc-8967183bf79322c5cb3cbd99e9b7aa298228d0a2.tar.gz
Simple cleanups of AudioDecoder and AudioEncoder classes
* Make sure they're all final and don't allow copying or assignment. * Get rid of the single-channel PCM decoder classes. * Move some includes from .h to .cc files where possible. BUG=webrtc:4557 Review URL: https://codereview.webrtc.org/1353803002 Cr-Commit-Position: refs/heads/master@{#10021}
Diffstat (limited to 'webrtc/modules/audio_coding/neteq')
-rw-r--r--webrtc/modules/audio_coding/neteq/audio_decoder_impl.cc14
-rw-r--r--webrtc/modules/audio_coding/neteq/audio_decoder_unittest.cc6
-rw-r--r--webrtc/modules/audio_coding/neteq/neteq_network_stats_unittest.cc32
3 files changed, 26 insertions, 26 deletions
diff --git a/webrtc/modules/audio_coding/neteq/audio_decoder_impl.cc b/webrtc/modules/audio_coding/neteq/audio_decoder_impl.cc
index 52f327bc61..afad9b1d6b 100644
--- a/webrtc/modules/audio_coding/neteq/audio_decoder_impl.cc
+++ b/webrtc/modules/audio_coding/neteq/audio_decoder_impl.cc
@@ -183,13 +183,13 @@ AudioDecoder* CreateAudioDecoder(NetEqDecoder codec_type) {
}
switch (codec_type) {
case kDecoderPCMu:
- return new AudioDecoderPcmU;
+ return new AudioDecoderPcmU(1);
case kDecoderPCMa:
- return new AudioDecoderPcmA;
+ return new AudioDecoderPcmA(1);
case kDecoderPCMu_2ch:
- return new AudioDecoderPcmUMultiCh(2);
+ return new AudioDecoderPcmU(2);
case kDecoderPCMa_2ch:
- return new AudioDecoderPcmAMultiCh(2);
+ return new AudioDecoderPcmA(2);
#ifdef WEBRTC_CODEC_ILBC
case kDecoderILBC:
return new AudioDecoderIlbc;
@@ -207,14 +207,14 @@ AudioDecoder* CreateAudioDecoder(NetEqDecoder codec_type) {
case kDecoderPCM16Bwb:
case kDecoderPCM16Bswb32kHz:
case kDecoderPCM16Bswb48kHz:
- return new AudioDecoderPcm16B;
+ return new AudioDecoderPcm16B(1);
case kDecoderPCM16B_2ch:
case kDecoderPCM16Bwb_2ch:
case kDecoderPCM16Bswb32kHz_2ch:
case kDecoderPCM16Bswb48kHz_2ch:
- return new AudioDecoderPcm16BMultiCh(2);
+ return new AudioDecoderPcm16B(2);
case kDecoderPCM16B_5ch:
- return new AudioDecoderPcm16BMultiCh(5);
+ return new AudioDecoderPcm16B(5);
#ifdef WEBRTC_CODEC_G722
case kDecoderG722:
return new AudioDecoderG722;
diff --git a/webrtc/modules/audio_coding/neteq/audio_decoder_unittest.cc b/webrtc/modules/audio_coding/neteq/audio_decoder_unittest.cc
index 537f16cca4..78ebf9f708 100644
--- a/webrtc/modules/audio_coding/neteq/audio_decoder_unittest.cc
+++ b/webrtc/modules/audio_coding/neteq/audio_decoder_unittest.cc
@@ -286,7 +286,7 @@ class AudioDecoderPcmUTest : public AudioDecoderTest {
AudioDecoderPcmUTest() : AudioDecoderTest() {
frame_size_ = 160;
data_length_ = 10 * frame_size_;
- decoder_ = new AudioDecoderPcmU;
+ decoder_ = new AudioDecoderPcmU(1);
AudioEncoderPcmU::Config config;
config.frame_size_ms = static_cast<int>(frame_size_ / 8);
config.payload_type = payload_type_;
@@ -299,7 +299,7 @@ class AudioDecoderPcmATest : public AudioDecoderTest {
AudioDecoderPcmATest() : AudioDecoderTest() {
frame_size_ = 160;
data_length_ = 10 * frame_size_;
- decoder_ = new AudioDecoderPcmA;
+ decoder_ = new AudioDecoderPcmA(1);
AudioEncoderPcmA::Config config;
config.frame_size_ms = static_cast<int>(frame_size_ / 8);
config.payload_type = payload_type_;
@@ -313,7 +313,7 @@ class AudioDecoderPcm16BTest : public AudioDecoderTest {
codec_input_rate_hz_ = 16000;
frame_size_ = 20 * codec_input_rate_hz_ / 1000;
data_length_ = 10 * frame_size_;
- decoder_ = new AudioDecoderPcm16B;
+ decoder_ = new AudioDecoderPcm16B(1);
assert(decoder_);
AudioEncoderPcm16B::Config config;
config.sample_rate_hz = codec_input_rate_hz_;
diff --git a/webrtc/modules/audio_coding/neteq/neteq_network_stats_unittest.cc b/webrtc/modules/audio_coding/neteq/neteq_network_stats_unittest.cc
index e3a0cc17af..e9ebe064eb 100644
--- a/webrtc/modules/audio_coding/neteq/neteq_network_stats_unittest.cc
+++ b/webrtc/modules/audio_coding/neteq/neteq_network_stats_unittest.cc
@@ -10,7 +10,6 @@
#include "testing/gmock/include/gmock/gmock.h"
#include "webrtc/base/scoped_ptr.h"
-#include "webrtc/modules/audio_coding/codecs/opus/interface/audio_decoder_opus.h"
#include "webrtc/modules/audio_coding/neteq/tools/neteq_external_decoder_test.h"
#include "webrtc/modules/audio_coding/neteq/tools/rtp_generator.h"
@@ -21,16 +20,14 @@ using ::testing::_;
using ::testing::SetArgPointee;
using ::testing::Return;
-
-class MockAudioDecoderOpus : public AudioDecoderOpus {
+class MockAudioDecoder final : public AudioDecoder {
public:
static const int kPacketDuration = 960; // 48 kHz * 20 ms
- explicit MockAudioDecoderOpus(int num_channels)
- : AudioDecoderOpus(num_channels),
- fec_enabled_(false) {
+ explicit MockAudioDecoder(size_t num_channels)
+ : num_channels_(num_channels), fec_enabled_(false) {
}
- virtual ~MockAudioDecoderOpus() { Die(); }
+ ~MockAudioDecoder() override { Die(); }
MOCK_METHOD0(Die, void());
MOCK_METHOD0(Reset, void());
@@ -49,6 +46,8 @@ class MockAudioDecoderOpus : public AudioDecoderOpus {
return fec_enabled_;
}
+ size_t Channels() const override { return num_channels_; }
+
void set_fec_enabled(bool enable_fec) { fec_enabled_ = enable_fec; }
bool fec_enabled() const { return fec_enabled_; }
@@ -75,13 +74,14 @@ class MockAudioDecoderOpus : public AudioDecoderOpus {
}
private:
+ const size_t num_channels_;
bool fec_enabled_;
};
class NetEqNetworkStatsTest : public NetEqExternalDecoderTest {
public:
static const int kPayloadSizeByte = 30;
- static const int kFrameSizeMs = 20; // frame size of Opus
+ static const int kFrameSizeMs = 20;
static const int kMaxOutputSize = 960; // 10 ms * 48 kHz * 2 channels.
enum logic {
@@ -108,7 +108,7 @@ struct NetEqNetworkStatsCheck {
};
NetEqNetworkStatsTest(NetEqDecoder codec,
- MockAudioDecoderOpus* decoder)
+ MockAudioDecoder* decoder)
: NetEqExternalDecoderTest(codec, decoder),
external_decoder_(decoder),
samples_per_ms_(CodecSampleRateHz(codec) / 1000),
@@ -227,7 +227,7 @@ struct NetEqNetworkStatsCheck {
expects.stats_ref.expand_rate = expects.stats_ref.speech_expand_rate = 1065;
RunTest(50, expects);
- // Next we enable Opus FEC.
+ // Next we enable FEC.
external_decoder_->set_fec_enabled(true);
// If FEC fills in the lost packets, no packet loss will be counted.
expects.stats_ref.packet_loss_rate = 0;
@@ -261,7 +261,7 @@ struct NetEqNetworkStatsCheck {
}
private:
- MockAudioDecoderOpus* external_decoder_;
+ MockAudioDecoder* external_decoder_;
const int samples_per_ms_;
const size_t frame_size_samples_;
rtc::scoped_ptr<test::RtpGenerator> rtp_generator_;
@@ -272,22 +272,22 @@ struct NetEqNetworkStatsCheck {
int16_t output_[kMaxOutputSize];
};
-TEST(NetEqNetworkStatsTest, OpusDecodeFec) {
- MockAudioDecoderOpus decoder(1);
+TEST(NetEqNetworkStatsTest, DecodeFec) {
+ MockAudioDecoder decoder(1);
NetEqNetworkStatsTest test(kDecoderOpus, &decoder);
test.DecodeFecTest();
EXPECT_CALL(decoder, Die()).Times(1);
}
-TEST(NetEqNetworkStatsTest, StereoOpusDecodeFec) {
- MockAudioDecoderOpus decoder(2);
+TEST(NetEqNetworkStatsTest, StereoDecodeFec) {
+ MockAudioDecoder decoder(2);
NetEqNetworkStatsTest test(kDecoderOpus, &decoder);
test.DecodeFecTest();
EXPECT_CALL(decoder, Die()).Times(1);
}
TEST(NetEqNetworkStatsTest, NoiseExpansionTest) {
- MockAudioDecoderOpus decoder(1);
+ MockAudioDecoder decoder(1);
NetEqNetworkStatsTest test(kDecoderOpus, &decoder);
test.NoiseExpansionTest();
EXPECT_CALL(decoder, Die()).Times(1);