NetEq: Use a BuiltinAudioDecoderFactory to create decoders

Later steps in the refactoring will have the factory injected from the
outside rather than owned by NetEq.

BUG=webrtc:5801

Review-Url: https://codereview.webrtc.org/1928293002
Cr-Commit-Position: refs/heads/master@{#12604}
This commit is contained in:
kwiberg
2016-05-03 01:39:01 -07:00
committed by Commit bot
parent ddf165393f
commit 5178ee86ba
18 changed files with 217 additions and 128 deletions

View File

@ -137,67 +137,4 @@ int CodecSampleRateHz(NetEqDecoder codec_type) {
}
}
AudioDecoder* CreateAudioDecoder(NetEqDecoder codec_type) {
if (!CodecSupported(codec_type)) {
return NULL;
}
switch (codec_type) {
case NetEqDecoder::kDecoderPCMu:
return new AudioDecoderPcmU(1);
case NetEqDecoder::kDecoderPCMa:
return new AudioDecoderPcmA(1);
case NetEqDecoder::kDecoderPCMu_2ch:
return new AudioDecoderPcmU(2);
case NetEqDecoder::kDecoderPCMa_2ch:
return new AudioDecoderPcmA(2);
#ifdef WEBRTC_CODEC_ILBC
case NetEqDecoder::kDecoderILBC:
return new AudioDecoderIlbc;
#endif
#if defined(WEBRTC_CODEC_ISACFX)
case NetEqDecoder::kDecoderISAC:
return new AudioDecoderIsacFix();
#elif defined(WEBRTC_CODEC_ISAC)
case NetEqDecoder::kDecoderISAC:
case NetEqDecoder::kDecoderISACswb:
return new AudioDecoderIsac();
#endif
case NetEqDecoder::kDecoderPCM16B:
case NetEqDecoder::kDecoderPCM16Bwb:
case NetEqDecoder::kDecoderPCM16Bswb32kHz:
case NetEqDecoder::kDecoderPCM16Bswb48kHz:
return new AudioDecoderPcm16B(1);
case NetEqDecoder::kDecoderPCM16B_2ch:
case NetEqDecoder::kDecoderPCM16Bwb_2ch:
case NetEqDecoder::kDecoderPCM16Bswb32kHz_2ch:
case NetEqDecoder::kDecoderPCM16Bswb48kHz_2ch:
return new AudioDecoderPcm16B(2);
case NetEqDecoder::kDecoderPCM16B_5ch:
return new AudioDecoderPcm16B(5);
#ifdef WEBRTC_CODEC_G722
case NetEqDecoder::kDecoderG722:
return new AudioDecoderG722;
case NetEqDecoder::kDecoderG722_2ch:
return new AudioDecoderG722Stereo;
#endif
#ifdef WEBRTC_CODEC_OPUS
case NetEqDecoder::kDecoderOpus:
return new AudioDecoderOpus(1);
case NetEqDecoder::kDecoderOpus_2ch:
return new AudioDecoderOpus(2);
#endif
case NetEqDecoder::kDecoderCNGnb:
case NetEqDecoder::kDecoderCNGwb:
case NetEqDecoder::kDecoderCNGswb32kHz:
case NetEqDecoder::kDecoderCNGswb48kHz:
RTC_CHECK(false) << "CNG should not be created like this anymore!";
case NetEqDecoder::kDecoderRED:
case NetEqDecoder::kDecoderAVT:
case NetEqDecoder::kDecoderArbitrary:
default: {
return NULL;
}
}
}
} // namespace webrtc