Make an enum class out of NetEqDecoder, and hide the neteq_decoders_ table

This operation was relatively simple, since no one was doing anything
fishy with this enum. A large number of lines had to be changed
because the enum values now live in their own namespace, but this is
arguably worth it since it is now much clearer what sort of constant
they are.

BUG=webrtc:5028

Review URL: https://codereview.webrtc.org/1424083002

Cr-Commit-Position: refs/heads/master@{#10449}
This commit is contained in:
kwiberg
2015-10-29 06:20:28 -07:00
committed by Commit bot
parent 48ed930975
commit ee1879ca40
33 changed files with 588 additions and 516 deletions

View File

@ -90,7 +90,7 @@ int NetEQTest_init_coders(webrtc::NetEqDecoder coder,
size_t numChannels);
void defineCodecs(webrtc::NetEqDecoder* usedCodec, int* noOfCodecs);
int NetEQTest_free_coders(webrtc::NetEqDecoder coder, size_t numChannels);
size_t NetEQTest_encode(int coder,
size_t NetEQTest_encode(webrtc::NetEqDecoder coder,
int16_t* indata,
size_t frameLen,
unsigned char* encoded,
@ -488,17 +488,17 @@ int main(int argc, char* argv[]) {
if (usingStereo) {
switch (usedCodec) {
// sample based codecs
case webrtc::kDecoderPCMu:
case webrtc::kDecoderPCMa:
case webrtc::kDecoderG722: {
case webrtc::NetEqDecoder::kDecoderPCMu:
case webrtc::NetEqDecoder::kDecoderPCMa:
case webrtc::NetEqDecoder::kDecoderG722: {
// 1 octet per sample
stereoMode = STEREO_MODE_SAMPLE_1;
break;
}
case webrtc::kDecoderPCM16B:
case webrtc::kDecoderPCM16Bwb:
case webrtc::kDecoderPCM16Bswb32kHz:
case webrtc::kDecoderPCM16Bswb48kHz: {
case webrtc::NetEqDecoder::kDecoderPCM16B:
case webrtc::NetEqDecoder::kDecoderPCM16Bwb:
case webrtc::NetEqDecoder::kDecoderPCM16Bswb32kHz:
case webrtc::NetEqDecoder::kDecoderPCM16Bswb48kHz: {
// 2 octets per sample
stereoMode = STEREO_MODE_SAMPLE_2;
break;
@ -512,10 +512,10 @@ int main(int argc, char* argv[]) {
}
}
if ((usedCodec == webrtc::kDecoderISAC) ||
(usedCodec == webrtc::kDecoderISACswb)) {
if ((usedCodec == webrtc::NetEqDecoder::kDecoderISAC) ||
(usedCodec == webrtc::NetEqDecoder::kDecoderISACswb)) {
if (argc != 7) {
if (usedCodec == webrtc::kDecoderISAC) {
if (usedCodec == webrtc::NetEqDecoder::kDecoderISAC) {
bitrate = 32000;
printf("Running iSAC at default bitrate of 32000 bps (to specify "
"explicitly add the bps as last parameter)\n");
@ -527,7 +527,7 @@ int main(int argc, char* argv[]) {
}
} else {
bitrate = atoi(argv[6]);
if (usedCodec == webrtc::kDecoderISAC) {
if (usedCodec == webrtc::NetEqDecoder::kDecoderISAC) {
if ((bitrate < 10000) || (bitrate > 32000)) {
printf("Error: iSAC bitrate must be between 10000 and 32000 bps (%i "
"is invalid)\n", bitrate);
@ -554,7 +554,7 @@ int main(int argc, char* argv[]) {
if (useRed) {
printf("Redundancy engaged. ");
}
printf("Used codec: %i\n", usedCodec);
printf("Used codec: %i\n", static_cast<int>(usedCodec));
printf("Payload type: %i\n", payloadType);
NetEQTest_init_coders(usedCodec, packet_size, bitrate, fs, useVAD,
@ -777,7 +777,7 @@ int main(int argc, char* argv[]) {
if (useRed) {
/* move data to redundancy store */
#ifdef CODEC_ISAC
if (usedCodec == webrtc::kDecoderISAC) {
if (usedCodec == webrtc::NetEqDecoder::kDecoderISAC) {
assert(!usingStereo); // Cannot handle stereo yet
red_len[0] = WebRtcIsac_GetRedPayload(ISAC_inst[0], red_data);
} else {
@ -830,53 +830,53 @@ void NetEQTest_GetCodec_and_PT(char* name,
*useRed = 0; /* Default no redundancy */
if (!strcmp(name, "pcmu")) {
*codec = webrtc::kDecoderPCMu;
*codec = webrtc::NetEqDecoder::kDecoderPCMu;
*PT = NETEQ_CODEC_PCMU_PT;
*fs = 8000;
} else if (!strcmp(name, "pcma")) {
*codec = webrtc::kDecoderPCMa;
*codec = webrtc::NetEqDecoder::kDecoderPCMa;
*PT = NETEQ_CODEC_PCMA_PT;
*fs = 8000;
} else if (!strcmp(name, "pcm16b")) {
*codec = webrtc::kDecoderPCM16B;
*codec = webrtc::NetEqDecoder::kDecoderPCM16B;
*PT = NETEQ_CODEC_PCM16B_PT;
*fs = 8000;
} else if (!strcmp(name, "pcm16b_wb")) {
*codec = webrtc::kDecoderPCM16Bwb;
*codec = webrtc::NetEqDecoder::kDecoderPCM16Bwb;
*PT = NETEQ_CODEC_PCM16B_WB_PT;
*fs = 16000;
} else if (!strcmp(name, "pcm16b_swb32")) {
*codec = webrtc::kDecoderPCM16Bswb32kHz;
*codec = webrtc::NetEqDecoder::kDecoderPCM16Bswb32kHz;
*PT = NETEQ_CODEC_PCM16B_SWB32KHZ_PT;
*fs = 32000;
} else if (!strcmp(name, "pcm16b_swb48")) {
*codec = webrtc::kDecoderPCM16Bswb48kHz;
*codec = webrtc::NetEqDecoder::kDecoderPCM16Bswb48kHz;
*PT = NETEQ_CODEC_PCM16B_SWB48KHZ_PT;
*fs = 48000;
} else if (!strcmp(name, "g722")) {
*codec = webrtc::kDecoderG722;
*codec = webrtc::NetEqDecoder::kDecoderG722;
*PT = NETEQ_CODEC_G722_PT;
*fs = 16000;
} else if ((!strcmp(name, "ilbc")) &&
((frameLen % 240 == 0) || (frameLen % 160 == 0))) {
*fs = 8000;
*codec = webrtc::kDecoderILBC;
*codec = webrtc::NetEqDecoder::kDecoderILBC;
*PT = NETEQ_CODEC_ILBC_PT;
} else if (!strcmp(name, "isac")) {
*fs = 16000;
*codec = webrtc::kDecoderISAC;
*codec = webrtc::NetEqDecoder::kDecoderISAC;
*PT = NETEQ_CODEC_ISAC_PT;
} else if (!strcmp(name, "isacswb")) {
*fs = 32000;
*codec = webrtc::kDecoderISACswb;
*codec = webrtc::NetEqDecoder::kDecoderISACswb;
*PT = NETEQ_CODEC_ISACSWB_PT;
} else if (!strcmp(name, "red_pcm")) {
*codec = webrtc::kDecoderPCMa;
*codec = webrtc::NetEqDecoder::kDecoderPCMa;
*PT = NETEQ_CODEC_PCMA_PT; /* this will be the PT for the sub-headers */
*fs = 8000;
*useRed = 1;
} else if (!strcmp(name, "red_isac")) {
*codec = webrtc::kDecoderISAC;
*codec = webrtc::NetEqDecoder::kDecoderISAC;
*PT = NETEQ_CODEC_ISAC_PT; /* this will be the PT for the sub-headers */
*fs = 16000;
*useRed = 1;
@ -925,20 +925,20 @@ int NetEQTest_init_coders(webrtc::NetEqDecoder coder,
switch (coder) {
#ifdef CODEC_PCM16B
case webrtc::kDecoderPCM16B:
case webrtc::NetEqDecoder::kDecoderPCM16B:
#endif
#ifdef CODEC_PCM16B_WB
case webrtc::kDecoderPCM16Bwb:
case webrtc::NetEqDecoder::kDecoderPCM16Bwb:
#endif
#ifdef CODEC_PCM16B_32KHZ
case webrtc::kDecoderPCM16Bswb32kHz:
case webrtc::NetEqDecoder::kDecoderPCM16Bswb32kHz:
#endif
#ifdef CODEC_PCM16B_48KHZ
case webrtc::kDecoderPCM16Bswb48kHz:
case webrtc::NetEqDecoder::kDecoderPCM16Bswb48kHz:
#endif
#ifdef CODEC_G711
case webrtc::kDecoderPCMu:
case webrtc::kDecoderPCMa:
case webrtc::NetEqDecoder::kDecoderPCMu:
case webrtc::NetEqDecoder::kDecoderPCMa:
#endif
// do nothing
break;
@ -1188,7 +1188,7 @@ int NetEQTest_init_coders(webrtc::NetEqDecoder coder,
break;
#endif
#ifdef CODEC_G722
case webrtc::kDecoderG722:
case webrtc::NetEqDecoder::kDecoderG722:
if (sampfreq == 16000) {
if (enc_frameSize % 2 == 0) {
} else {
@ -1271,7 +1271,7 @@ int NetEQTest_init_coders(webrtc::NetEqDecoder coder,
break;
#endif
#ifdef CODEC_ILBC
case webrtc::kDecoderILBC:
case webrtc::NetEqDecoder::kDecoderILBC:
if (sampfreq == 8000) {
ok = WebRtcIlbcfix_EncoderCreate(&iLBCenc_inst[k]);
if (ok != 0) {
@ -1300,7 +1300,7 @@ int NetEQTest_init_coders(webrtc::NetEqDecoder coder,
break;
#endif
#ifdef CODEC_ISAC
case webrtc::kDecoderISAC:
case webrtc::NetEqDecoder::kDecoderISAC:
if (sampfreq == 16000) {
ok = WebRtcIsac_Create(&ISAC_inst[k]);
if (ok != 0) {
@ -1356,7 +1356,7 @@ int NetEQTest_init_coders(webrtc::NetEqDecoder coder,
break;
#endif
#ifdef CODEC_ISAC_SWB
case webrtc::kDecoderISACswb:
case webrtc::NetEqDecoder::kDecoderISACswb:
if (sampfreq == 32000) {
ok = WebRtcIsac_Create(&ISACSWB_inst[k]);
if (ok != 0) {
@ -1435,111 +1435,111 @@ int NetEQTest_free_coders(webrtc::NetEqDecoder coder, size_t numChannels) {
switch (coder) {
#ifdef CODEC_PCM16B
case webrtc::kDecoderPCM16B:
case webrtc::NetEqDecoder::kDecoderPCM16B:
#endif
#ifdef CODEC_PCM16B_WB
case webrtc::kDecoderPCM16Bwb:
case webrtc::NetEqDecoder::kDecoderPCM16Bwb:
#endif
#ifdef CODEC_PCM16B_32KHZ
case webrtc::kDecoderPCM16Bswb32kHz:
case webrtc::NetEqDecoder::kDecoderPCM16Bswb32kHz:
#endif
#ifdef CODEC_PCM16B_48KHZ
case webrtc::kDecoderPCM16Bswb48kHz:
case webrtc::NetEqDecoder::kDecoderPCM16Bswb48kHz:
#endif
#ifdef CODEC_G711
case webrtc::kDecoderPCMu:
case webrtc::kDecoderPCMa:
case webrtc::NetEqDecoder::kDecoderPCMu:
case webrtc::NetEqDecoder::kDecoderPCMa:
#endif
// do nothing
break;
#ifdef CODEC_G729
case webrtc::kDecoderG729:
case webrtc::NetEqDecoder::kDecoderG729:
WebRtcG729_FreeEnc(G729enc_inst[k]);
break;
#endif
#ifdef CODEC_G729_1
case webrtc::kDecoderG729_1:
case webrtc::NetEqDecoder::kDecoderG729_1:
WebRtcG7291_Free(G729_1_inst[k]);
break;
#endif
#ifdef CODEC_SPEEX_8
case webrtc::kDecoderSPEEX_8:
case webrtc::NetEqDecoder::kDecoderSPEEX_8:
WebRtcSpeex_FreeEnc(SPEEX8enc_inst[k]);
break;
#endif
#ifdef CODEC_SPEEX_16
case webrtc::kDecoderSPEEX_16:
case webrtc::NetEqDecoder::kDecoderSPEEX_16:
WebRtcSpeex_FreeEnc(SPEEX16enc_inst[k]);
break;
#endif
#ifdef CODEC_G722_1_16
case webrtc::kDecoderG722_1_16:
case webrtc::NetEqDecoder::kDecoderG722_1_16:
WebRtcG7221_FreeEnc16(G722_1_16enc_inst[k]);
break;
#endif
#ifdef CODEC_G722_1_24
case webrtc::kDecoderG722_1_24:
case webrtc::NetEqDecoder::kDecoderG722_1_24:
WebRtcG7221_FreeEnc24(G722_1_24enc_inst[k]);
break;
#endif
#ifdef CODEC_G722_1_32
case webrtc::kDecoderG722_1_32:
case webrtc::NetEqDecoder::kDecoderG722_1_32:
WebRtcG7221_FreeEnc32(G722_1_32enc_inst[k]);
break;
#endif
#ifdef CODEC_G722_1C_24
case webrtc::kDecoderG722_1C_24:
case webrtc::NetEqDecoder::kDecoderG722_1C_24:
WebRtcG7221C_FreeEnc24(G722_1C_24enc_inst[k]);
break;
#endif
#ifdef CODEC_G722_1C_32
case webrtc::kDecoderG722_1C_32:
case webrtc::NetEqDecoder::kDecoderG722_1C_32:
WebRtcG7221C_FreeEnc32(G722_1C_32enc_inst[k]);
break;
#endif
#ifdef CODEC_G722_1C_48
case webrtc::kDecoderG722_1C_48:
case webrtc::NetEqDecoder::kDecoderG722_1C_48:
WebRtcG7221C_FreeEnc48(G722_1C_48enc_inst[k]);
break;
#endif
#ifdef CODEC_G722
case webrtc::kDecoderG722:
case webrtc::NetEqDecoder::kDecoderG722:
WebRtcG722_FreeEncoder(g722EncState[k]);
break;
#endif
#ifdef CODEC_AMR
case webrtc::kDecoderAMR:
case webrtc::NetEqDecoder::kDecoderAMR:
WebRtcAmr_FreeEnc(AMRenc_inst[k]);
break;
#endif
#ifdef CODEC_AMRWB
case webrtc::kDecoderAMRWB:
case webrtc::NetEqDecoder::kDecoderAMRWB:
WebRtcAmrWb_FreeEnc(AMRWBenc_inst[k]);
break;
#endif
#ifdef CODEC_ILBC
case webrtc::kDecoderILBC:
case webrtc::NetEqDecoder::kDecoderILBC:
WebRtcIlbcfix_EncoderFree(iLBCenc_inst[k]);
break;
#endif
#ifdef CODEC_ISAC
case webrtc::kDecoderISAC:
case webrtc::NetEqDecoder::kDecoderISAC:
WebRtcIsac_Free(ISAC_inst[k]);
break;
#endif
#ifdef NETEQ_ISACFIX_CODEC
case webrtc::kDecoderISAC:
case webrtc::NetEqDecoder::kDecoderISAC:
WebRtcIsacfix_Free(ISAC_inst[k]);
break;
#endif
#ifdef CODEC_ISAC_SWB
case webrtc::kDecoderISACswb:
case webrtc::NetEqDecoder::kDecoderISACswb:
WebRtcIsac_Free(ISACSWB_inst[k]);
break;
#endif
#ifdef CODEC_GSMFR
case webrtc::kDecoderGSMFR:
case webrtc::NetEqDecoder::kDecoderGSMFR:
WebRtcGSMFR_FreeEnc(GSMFRenc_inst[k]);
break;
#endif
@ -1553,7 +1553,7 @@ int NetEQTest_free_coders(webrtc::NetEqDecoder coder, size_t numChannels) {
return (0);
}
size_t NetEQTest_encode(int coder,
size_t NetEQTest_encode(webrtc::NetEqDecoder coder,
int16_t* indata,
size_t frameLen,
unsigned char* encoded,
@ -1625,33 +1625,33 @@ size_t NetEQTest_encode(int coder,
for (size_t k = 0; k < numChannels; k++) {
/* Encode with the selected coder type */
if (coder == webrtc::kDecoderPCMu) { /*g711 u-law */
if (coder == webrtc::NetEqDecoder::kDecoderPCMu) { /*g711 u-law */
#ifdef CODEC_G711
cdlen = WebRtcG711_EncodeU(indata, frameLen, encoded);
#endif
} else if (coder == webrtc::kDecoderPCMa) { /*g711 A-law */
} else if (coder == webrtc::NetEqDecoder::kDecoderPCMa) { /*g711 A-law */
#ifdef CODEC_G711
cdlen = WebRtcG711_EncodeA(indata, frameLen, encoded);
}
#endif
#ifdef CODEC_PCM16B
else if ((coder == webrtc::kDecoderPCM16B) ||
(coder == webrtc::kDecoderPCM16Bwb) ||
(coder == webrtc::kDecoderPCM16Bswb32kHz) ||
(coder == webrtc::
else if ((coder == webrtc::NetEqDecoder::kDecoderPCM16B) ||
(coder == webrtc::NetEqDecoder::kDecoderPCM16Bwb) ||
(coder == webrtc::NetEqDecoder::kDecoderPCM16Bswb32kHz) ||
(coder == webrtc::NetEqDecoder::
kDecoderPCM16Bswb48kHz)) { /*pcm16b (8kHz, 16kHz,
32kHz or 48kHz) */
32kHz or 48kHz) */
cdlen = WebRtcPcm16b_Encode(indata, frameLen, encoded);
}
#endif
#ifdef CODEC_G722
else if (coder == webrtc::kDecoderG722) { /*g722 */
else if (coder == webrtc::NetEqDecoder::kDecoderG722) { /*g722 */
cdlen = WebRtcG722_Encode(g722EncState[k], indata, frameLen, encoded);
assert(cdlen == frameLen >> 1);
}
#endif
#ifdef CODEC_ILBC
else if (coder == webrtc::kDecoderILBC) { /*iLBC */
else if (coder == webrtc::NetEqDecoder::kDecoderILBC) { /*iLBC */
cdlen = static_cast<size_t>(std::max(
WebRtcIlbcfix_Encode(iLBCenc_inst[k], indata, frameLen, encoded), 0));
}
@ -1659,7 +1659,7 @@ size_t NetEQTest_encode(int coder,
#if (defined(CODEC_ISAC) || \
defined(NETEQ_ISACFIX_CODEC)) // TODO(hlundin): remove all
// NETEQ_ISACFIX_CODEC
else if (coder == webrtc::kDecoderISAC) { /*iSAC */
else if (coder == webrtc::NetEqDecoder::kDecoderISAC) { /*iSAC */
int noOfCalls = 0;
int res = 0;
while (res <= 0) {
@ -1676,7 +1676,7 @@ size_t NetEQTest_encode(int coder,
}
#endif
#ifdef CODEC_ISAC_SWB
else if (coder == webrtc::kDecoderISACswb) { /* iSAC SWB */
else if (coder == webrtc::NetEqDecoder::kDecoderISACswb) { /* iSAC SWB */
int noOfCalls = 0;
int res = 0;
while (res <= 0) {