Move the AudioDecoder interface out of NetEq
It belongs with the codecs, next to the AudioEncoder interface. R=henrik.lundin@webrtc.org, kjellander@webrtc.org Review URL: https://webrtc-codereview.appspot.com/27309004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7798 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
@ -615,7 +615,7 @@ class AudioDecoderOpusStereoTest : public AudioDecoderOpusTest {
|
||||
TEST_F(AudioDecoderPcmUTest, EncodeDecode) {
|
||||
int tolerance = 251;
|
||||
double mse = 1734.0;
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderPCMu));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderPCMu));
|
||||
EncodeDecodeTest(data_length_, tolerance, mse);
|
||||
ReInitTest();
|
||||
EXPECT_FALSE(decoder_->HasDecodePlc());
|
||||
@ -624,7 +624,7 @@ TEST_F(AudioDecoderPcmUTest, EncodeDecode) {
|
||||
TEST_F(AudioDecoderPcmATest, EncodeDecode) {
|
||||
int tolerance = 308;
|
||||
double mse = 1931.0;
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderPCMa));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderPCMa));
|
||||
EncodeDecodeTest(data_length_, tolerance, mse);
|
||||
ReInitTest();
|
||||
EXPECT_FALSE(decoder_->HasDecodePlc());
|
||||
@ -633,10 +633,10 @@ TEST_F(AudioDecoderPcmATest, EncodeDecode) {
|
||||
TEST_F(AudioDecoderPcm16BTest, EncodeDecode) {
|
||||
int tolerance = 0;
|
||||
double mse = 0.0;
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderPCM16B));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderPCM16Bwb));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderPCM16Bswb32kHz));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderPCM16Bswb48kHz));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderPCM16B));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderPCM16Bwb));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderPCM16Bswb32kHz));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderPCM16Bswb48kHz));
|
||||
EncodeDecodeTest(2 * data_length_, tolerance, mse);
|
||||
ReInitTest();
|
||||
EXPECT_FALSE(decoder_->HasDecodePlc());
|
||||
@ -646,7 +646,7 @@ TEST_F(AudioDecoderIlbcTest, EncodeDecode) {
|
||||
int tolerance = 6808;
|
||||
double mse = 2.13e6;
|
||||
int delay = 80; // Delay from input to output.
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderILBC));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderILBC));
|
||||
EncodeDecodeTest(500, tolerance, mse, delay);
|
||||
ReInitTest();
|
||||
EXPECT_TRUE(decoder_->HasDecodePlc());
|
||||
@ -657,7 +657,7 @@ TEST_F(AudioDecoderIsacFloatTest, EncodeDecode) {
|
||||
int tolerance = 3399;
|
||||
double mse = 434951.0;
|
||||
int delay = 48; // Delay from input to output.
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderISAC));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderISAC));
|
||||
EncodeDecodeTest(0, tolerance, mse, delay);
|
||||
ReInitTest();
|
||||
EXPECT_TRUE(decoder_->HasDecodePlc());
|
||||
@ -668,7 +668,7 @@ TEST_F(AudioDecoderIsacSwbTest, EncodeDecode) {
|
||||
int tolerance = 19757;
|
||||
double mse = 8.18e6;
|
||||
int delay = 160; // Delay from input to output.
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderISACswb));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderISACswb));
|
||||
EncodeDecodeTest(0, tolerance, mse, delay);
|
||||
ReInitTest();
|
||||
EXPECT_TRUE(decoder_->HasDecodePlc());
|
||||
@ -679,7 +679,7 @@ TEST_F(AudioDecoderIsacFixTest, DISABLED_EncodeDecode) {
|
||||
int tolerance = 11034;
|
||||
double mse = 3.46e6;
|
||||
int delay = 54; // Delay from input to output.
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderISAC));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderISAC));
|
||||
EncodeDecodeTest(735, tolerance, mse, delay);
|
||||
ReInitTest();
|
||||
EXPECT_FALSE(decoder_->HasDecodePlc());
|
||||
@ -689,14 +689,14 @@ TEST_F(AudioDecoderG722Test, EncodeDecode) {
|
||||
int tolerance = 6176;
|
||||
double mse = 238630.0;
|
||||
int delay = 22; // Delay from input to output.
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderG722));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderG722));
|
||||
EncodeDecodeTest(data_length_ / 2, tolerance, mse, delay);
|
||||
ReInitTest();
|
||||
EXPECT_FALSE(decoder_->HasDecodePlc());
|
||||
}
|
||||
|
||||
TEST_F(AudioDecoderG722StereoTest, CreateAndDestroy) {
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderG722_2ch));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderG722_2ch));
|
||||
}
|
||||
|
||||
TEST_F(AudioDecoderG722StereoTest, EncodeDecode) {
|
||||
@ -704,7 +704,7 @@ TEST_F(AudioDecoderG722StereoTest, EncodeDecode) {
|
||||
int channel_diff_tolerance = 0;
|
||||
double mse = 238630.0;
|
||||
int delay = 22; // Delay from input to output.
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderG722_2ch));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderG722_2ch));
|
||||
EncodeDecodeTest(data_length_, tolerance, mse, delay, channel_diff_tolerance);
|
||||
ReInitTest();
|
||||
EXPECT_FALSE(decoder_->HasDecodePlc());
|
||||
@ -714,7 +714,7 @@ TEST_F(AudioDecoderOpusTest, EncodeDecode) {
|
||||
int tolerance = 6176;
|
||||
double mse = 238630.0;
|
||||
int delay = 22; // Delay from input to output.
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderOpus));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderOpus));
|
||||
EncodeDecodeTest(0, tolerance, mse, delay);
|
||||
ReInitTest();
|
||||
EXPECT_FALSE(decoder_->HasDecodePlc());
|
||||
@ -725,7 +725,7 @@ TEST_F(AudioDecoderOpusStereoTest, EncodeDecode) {
|
||||
int channel_diff_tolerance = 0;
|
||||
double mse = 238630.0;
|
||||
int delay = 22; // Delay from input to output.
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderOpus_2ch));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderOpus_2ch));
|
||||
EncodeDecodeTest(0, tolerance, mse, delay, channel_diff_tolerance);
|
||||
ReInitTest();
|
||||
EXPECT_FALSE(decoder_->HasDecodePlc());
|
||||
@ -740,7 +740,7 @@ TEST_F(AudioDecoderCeltTest, EncodeDecode) {
|
||||
int tolerance = 20;
|
||||
double mse = 17.0;
|
||||
int delay = 80; // Delay from input to output in samples.
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderCELT_32));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderCELT_32));
|
||||
EncodeDecodeTest(1600, tolerance, mse, delay);
|
||||
ReInitTest();
|
||||
EXPECT_TRUE(decoder_->HasDecodePlc());
|
||||
@ -755,7 +755,7 @@ TEST_F(AudioDecoderCeltStereoTest, EncodeDecode) {
|
||||
double mse = 20.0;
|
||||
// Delay from input to output in samples, accounting for stereo.
|
||||
int delay = 160;
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderCELT_32_2ch));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderCELT_32_2ch));
|
||||
EncodeDecodeTest(1600, tolerance, mse, delay, channel_diff_tolerance);
|
||||
ReInitTest();
|
||||
EXPECT_TRUE(decoder_->HasDecodePlc());
|
||||
@ -764,79 +764,79 @@ TEST_F(AudioDecoderCeltStereoTest, EncodeDecode) {
|
||||
#endif
|
||||
|
||||
TEST(AudioDecoder, CodecSampleRateHz) {
|
||||
EXPECT_EQ(8000, AudioDecoder::CodecSampleRateHz(kDecoderPCMu));
|
||||
EXPECT_EQ(8000, AudioDecoder::CodecSampleRateHz(kDecoderPCMa));
|
||||
EXPECT_EQ(8000, AudioDecoder::CodecSampleRateHz(kDecoderPCMu_2ch));
|
||||
EXPECT_EQ(8000, AudioDecoder::CodecSampleRateHz(kDecoderPCMa_2ch));
|
||||
EXPECT_EQ(8000, AudioDecoder::CodecSampleRateHz(kDecoderILBC));
|
||||
EXPECT_EQ(16000, AudioDecoder::CodecSampleRateHz(kDecoderISAC));
|
||||
EXPECT_EQ(32000, AudioDecoder::CodecSampleRateHz(kDecoderISACswb));
|
||||
EXPECT_EQ(32000, AudioDecoder::CodecSampleRateHz(kDecoderISACfb));
|
||||
EXPECT_EQ(8000, AudioDecoder::CodecSampleRateHz(kDecoderPCM16B));
|
||||
EXPECT_EQ(16000, AudioDecoder::CodecSampleRateHz(kDecoderPCM16Bwb));
|
||||
EXPECT_EQ(32000, AudioDecoder::CodecSampleRateHz(kDecoderPCM16Bswb32kHz));
|
||||
EXPECT_EQ(48000, AudioDecoder::CodecSampleRateHz(kDecoderPCM16Bswb48kHz));
|
||||
EXPECT_EQ(8000, AudioDecoder::CodecSampleRateHz(kDecoderPCM16B_2ch));
|
||||
EXPECT_EQ(16000, AudioDecoder::CodecSampleRateHz(kDecoderPCM16Bwb_2ch));
|
||||
EXPECT_EQ(32000, AudioDecoder::CodecSampleRateHz(kDecoderPCM16Bswb32kHz_2ch));
|
||||
EXPECT_EQ(48000, AudioDecoder::CodecSampleRateHz(kDecoderPCM16Bswb48kHz_2ch));
|
||||
EXPECT_EQ(8000, AudioDecoder::CodecSampleRateHz(kDecoderPCM16B_5ch));
|
||||
EXPECT_EQ(16000, AudioDecoder::CodecSampleRateHz(kDecoderG722));
|
||||
EXPECT_EQ(16000, AudioDecoder::CodecSampleRateHz(kDecoderG722_2ch));
|
||||
EXPECT_EQ(-1, AudioDecoder::CodecSampleRateHz(kDecoderRED));
|
||||
EXPECT_EQ(-1, AudioDecoder::CodecSampleRateHz(kDecoderAVT));
|
||||
EXPECT_EQ(8000, AudioDecoder::CodecSampleRateHz(kDecoderCNGnb));
|
||||
EXPECT_EQ(16000, AudioDecoder::CodecSampleRateHz(kDecoderCNGwb));
|
||||
EXPECT_EQ(32000, AudioDecoder::CodecSampleRateHz(kDecoderCNGswb32kHz));
|
||||
EXPECT_EQ(48000, AudioDecoder::CodecSampleRateHz(kDecoderOpus));
|
||||
EXPECT_EQ(48000, AudioDecoder::CodecSampleRateHz(kDecoderOpus_2ch));
|
||||
EXPECT_EQ(8000, CodecSampleRateHz(kDecoderPCMu));
|
||||
EXPECT_EQ(8000, CodecSampleRateHz(kDecoderPCMa));
|
||||
EXPECT_EQ(8000, CodecSampleRateHz(kDecoderPCMu_2ch));
|
||||
EXPECT_EQ(8000, CodecSampleRateHz(kDecoderPCMa_2ch));
|
||||
EXPECT_EQ(8000, CodecSampleRateHz(kDecoderILBC));
|
||||
EXPECT_EQ(16000, CodecSampleRateHz(kDecoderISAC));
|
||||
EXPECT_EQ(32000, CodecSampleRateHz(kDecoderISACswb));
|
||||
EXPECT_EQ(32000, CodecSampleRateHz(kDecoderISACfb));
|
||||
EXPECT_EQ(8000, CodecSampleRateHz(kDecoderPCM16B));
|
||||
EXPECT_EQ(16000, CodecSampleRateHz(kDecoderPCM16Bwb));
|
||||
EXPECT_EQ(32000, CodecSampleRateHz(kDecoderPCM16Bswb32kHz));
|
||||
EXPECT_EQ(48000, CodecSampleRateHz(kDecoderPCM16Bswb48kHz));
|
||||
EXPECT_EQ(8000, CodecSampleRateHz(kDecoderPCM16B_2ch));
|
||||
EXPECT_EQ(16000, CodecSampleRateHz(kDecoderPCM16Bwb_2ch));
|
||||
EXPECT_EQ(32000, CodecSampleRateHz(kDecoderPCM16Bswb32kHz_2ch));
|
||||
EXPECT_EQ(48000, CodecSampleRateHz(kDecoderPCM16Bswb48kHz_2ch));
|
||||
EXPECT_EQ(8000, CodecSampleRateHz(kDecoderPCM16B_5ch));
|
||||
EXPECT_EQ(16000, CodecSampleRateHz(kDecoderG722));
|
||||
EXPECT_EQ(16000, CodecSampleRateHz(kDecoderG722_2ch));
|
||||
EXPECT_EQ(-1, CodecSampleRateHz(kDecoderRED));
|
||||
EXPECT_EQ(-1, CodecSampleRateHz(kDecoderAVT));
|
||||
EXPECT_EQ(8000, CodecSampleRateHz(kDecoderCNGnb));
|
||||
EXPECT_EQ(16000, CodecSampleRateHz(kDecoderCNGwb));
|
||||
EXPECT_EQ(32000, CodecSampleRateHz(kDecoderCNGswb32kHz));
|
||||
EXPECT_EQ(48000, CodecSampleRateHz(kDecoderOpus));
|
||||
EXPECT_EQ(48000, CodecSampleRateHz(kDecoderOpus_2ch));
|
||||
// TODO(tlegrand): Change 32000 to 48000 below once ACM has 48 kHz support.
|
||||
EXPECT_EQ(32000, AudioDecoder::CodecSampleRateHz(kDecoderCNGswb48kHz));
|
||||
EXPECT_EQ(-1, AudioDecoder::CodecSampleRateHz(kDecoderArbitrary));
|
||||
EXPECT_EQ(32000, CodecSampleRateHz(kDecoderCNGswb48kHz));
|
||||
EXPECT_EQ(-1, CodecSampleRateHz(kDecoderArbitrary));
|
||||
#ifdef WEBRTC_CODEC_CELT
|
||||
EXPECT_EQ(32000, AudioDecoder::CodecSampleRateHz(kDecoderCELT_32));
|
||||
EXPECT_EQ(32000, AudioDecoder::CodecSampleRateHz(kDecoderCELT_32_2ch));
|
||||
EXPECT_EQ(32000, CodecSampleRateHz(kDecoderCELT_32));
|
||||
EXPECT_EQ(32000, CodecSampleRateHz(kDecoderCELT_32_2ch));
|
||||
#else
|
||||
EXPECT_EQ(-1, AudioDecoder::CodecSampleRateHz(kDecoderCELT_32));
|
||||
EXPECT_EQ(-1, AudioDecoder::CodecSampleRateHz(kDecoderCELT_32_2ch));
|
||||
EXPECT_EQ(-1, CodecSampleRateHz(kDecoderCELT_32));
|
||||
EXPECT_EQ(-1, CodecSampleRateHz(kDecoderCELT_32_2ch));
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(AudioDecoder, CodecSupported) {
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderPCMu));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderPCMa));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderPCMu_2ch));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderPCMa_2ch));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderILBC));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderISAC));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderISACswb));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderISACfb));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderPCM16B));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderPCM16Bwb));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderPCM16Bswb32kHz));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderPCM16Bswb48kHz));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderPCM16B_2ch));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderPCM16Bwb_2ch));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderPCM16Bswb32kHz_2ch));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderPCM16Bswb48kHz_2ch));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderPCM16B_5ch));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderG722));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderG722_2ch));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderRED));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderAVT));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderCNGnb));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderCNGwb));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderCNGswb32kHz));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderCNGswb48kHz));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderArbitrary));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderOpus));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderOpus_2ch));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderPCMu));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderPCMa));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderPCMu_2ch));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderPCMa_2ch));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderILBC));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderISAC));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderISACswb));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderISACfb));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderPCM16B));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderPCM16Bwb));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderPCM16Bswb32kHz));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderPCM16Bswb48kHz));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderPCM16B_2ch));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderPCM16Bwb_2ch));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderPCM16Bswb32kHz_2ch));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderPCM16Bswb48kHz_2ch));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderPCM16B_5ch));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderG722));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderG722_2ch));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderRED));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderAVT));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderCNGnb));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderCNGwb));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderCNGswb32kHz));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderCNGswb48kHz));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderArbitrary));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderOpus));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderOpus_2ch));
|
||||
#ifdef WEBRTC_CODEC_CELT
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderCELT_32));
|
||||
EXPECT_TRUE(AudioDecoder::CodecSupported(kDecoderCELT_32_2ch));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderCELT_32));
|
||||
EXPECT_TRUE(CodecSupported(kDecoderCELT_32_2ch));
|
||||
#else
|
||||
EXPECT_FALSE(AudioDecoder::CodecSupported(kDecoderCELT_32));
|
||||
EXPECT_FALSE(AudioDecoder::CodecSupported(kDecoderCELT_32_2ch));
|
||||
EXPECT_FALSE(CodecSupported(kDecoderCELT_32));
|
||||
EXPECT_FALSE(CodecSupported(kDecoderCELT_32_2ch));
|
||||
#endif
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user