NetEq: Deprecate playout modes Fax, Off and Streaming

The playout modes other than Normal have not been reachable for a long
time, other than through tests. It is time to deprecate them.

The only meaningful use was that Fax mode was sometimes set from
tests, in order to avoid time-stretching operations (accelerate and
pre-emptive expand) from messing with the test results. With this CL,
a new config is added instead, which lets the user specify exactly
this: don't do time-stretching.

As a result of Fax and Off modes being removed, the following code
clean-up was done:
- Fold DecisionLogicNormal into DecisionLogic.
- Remove AudioRepetition and AlternativePlc operations, since they can
  no longer be reached.

Bug: webrtc:9421
Change-Id: I651458e9c1931a99f3b07e242817d303bac119df
Reviewed-on: https://webrtc-review.googlesource.com/84123
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23704}
This commit is contained in:
Henrik Lundin
2018-06-21 11:13:07 +02:00
committed by Commit Bot
parent c0260b4f2b
commit 80c4cca491
23 changed files with 479 additions and 782 deletions

View File

@ -133,29 +133,13 @@ void FuzzOneInputTest(const uint8_t* data, size_t size) {
std::unique_ptr<AudioChecksum> output(new AudioChecksum);
NetEqTest::Callbacks callbacks;
NetEq::Config config;
NetEqTest::DecoderMap codecs;
codecs[0] = std::make_pair(NetEqDecoder::kDecoderPCMu, "pcmu");
codecs[8] = std::make_pair(NetEqDecoder::kDecoderPCMa, "pcma");
codecs[103] = std::make_pair(NetEqDecoder::kDecoderISAC, "isac");
codecs[104] = std::make_pair(NetEqDecoder::kDecoderISACswb, "isac-swb");
codecs[111] = std::make_pair(NetEqDecoder::kDecoderOpus, "opus");
codecs[93] = std::make_pair(NetEqDecoder::kDecoderPCM16B, "pcm16-nb");
codecs[94] = std::make_pair(NetEqDecoder::kDecoderPCM16Bwb, "pcm16-wb");
codecs[96] =
std::make_pair(NetEqDecoder::kDecoderPCM16Bswb48kHz, "pcm16-swb48");
codecs[9] = std::make_pair(NetEqDecoder::kDecoderG722, "g722");
codecs[106] = std::make_pair(NetEqDecoder::kDecoderAVT, "avt");
codecs[114] = std::make_pair(NetEqDecoder::kDecoderAVT16kHz, "avt-16");
codecs[115] = std::make_pair(NetEqDecoder::kDecoderAVT32kHz, "avt-32");
codecs[116] = std::make_pair(NetEqDecoder::kDecoderAVT48kHz, "avt-48");
codecs[117] = std::make_pair(NetEqDecoder::kDecoderRED, "red");
codecs[13] = std::make_pair(NetEqDecoder::kDecoderCNGnb, "cng-nb");
codecs[98] = std::make_pair(NetEqDecoder::kDecoderCNGwb, "cng-wb");
codecs[99] = std::make_pair(NetEqDecoder::kDecoderCNGswb32kHz, "cng-swb32");
codecs[100] = std::make_pair(NetEqDecoder::kDecoderCNGswb48kHz, "cng-swb48");
// This is the payload type that will be used for encoding.
codecs[kPayloadType] =
std::make_pair(NetEqDecoder::kDecoderPCM16Bswb32kHz, "pcm16-swb32");
auto codecs = NetEqTest::StandardDecoderMap();
// kPayloadType is the payload type that will be used for encoding. Verify
// that it is included in the standard decoder map, and that it points to the
// expected decoder type.
RTC_CHECK_EQ(codecs.count(kPayloadType), 1);
RTC_CHECK(codecs[kPayloadType].first == NetEqDecoder::kDecoderPCM16Bswb32kHz);
NetEqTest::ExtDecoderMap ext_codecs;
NetEqTest test(config, codecs, ext_codecs, std::move(input),

View File

@ -167,31 +167,22 @@ void FuzzOneInputTest(const uint8_t* data, size_t size) {
NetEq::Config config;
config.enable_post_decode_vad = true;
config.enable_fast_accelerate = true;
NetEqTest::DecoderMap codecs;
codecs[0] = std::make_pair(NetEqDecoder::kDecoderPCMu, "pcmu");
codecs[8] = std::make_pair(NetEqDecoder::kDecoderPCMa, "pcma");
codecs[103] = std::make_pair(NetEqDecoder::kDecoderISAC, "isac");
codecs[104] = std::make_pair(NetEqDecoder::kDecoderISACswb, "isac-swb");
codecs[111] = std::make_pair(NetEqDecoder::kDecoderOpus, "opus");
codecs[9] = std::make_pair(NetEqDecoder::kDecoderG722, "g722");
codecs[106] = std::make_pair(NetEqDecoder::kDecoderAVT, "avt");
codecs[114] = std::make_pair(NetEqDecoder::kDecoderAVT16kHz, "avt-16");
codecs[115] = std::make_pair(NetEqDecoder::kDecoderAVT32kHz, "avt-32");
codecs[116] = std::make_pair(NetEqDecoder::kDecoderAVT48kHz, "avt-48");
codecs[117] = std::make_pair(NetEqDecoder::kDecoderRED, "red");
codecs[13] = std::make_pair(NetEqDecoder::kDecoderCNGnb, "cng-nb");
codecs[98] = std::make_pair(NetEqDecoder::kDecoderCNGwb, "cng-wb");
codecs[99] = std::make_pair(NetEqDecoder::kDecoderCNGswb32kHz, "cng-swb32");
codecs[100] = std::make_pair(NetEqDecoder::kDecoderCNGswb48kHz, "cng-swb48");
// One of these payload types will be used for encoding.
codecs[rate_types[0].second] =
std::make_pair(NetEqDecoder::kDecoderPCM16B, "pcm16-nb");
codecs[rate_types[1].second] =
std::make_pair(NetEqDecoder::kDecoderPCM16Bwb, "pcm16-wb");
codecs[rate_types[2].second] =
std::make_pair(NetEqDecoder::kDecoderPCM16Bswb32kHz, "pcm16-swb32");
codecs[rate_types[3].second] =
std::make_pair(NetEqDecoder::kDecoderPCM16Bswb48kHz, "pcm16-swb48");
auto codecs = NetEqTest::StandardDecoderMap();
// rate_types contains the payload types that will be used for encoding.
// Verify that they all are included in the standard decoder map, and that
// they point to the expected decoder types.
RTC_CHECK_EQ(codecs.count(rate_types[0].second), 1);
RTC_CHECK(codecs[rate_types[0].second].first == NetEqDecoder::kDecoderPCM16B);
RTC_CHECK_EQ(codecs.count(rate_types[1].second), 1);
RTC_CHECK(codecs[rate_types[1].second].first ==
NetEqDecoder::kDecoderPCM16Bwb);
RTC_CHECK_EQ(codecs.count(rate_types[2].second), 1);
RTC_CHECK(codecs[rate_types[2].second].first ==
NetEqDecoder::kDecoderPCM16Bswb32kHz);
RTC_CHECK_EQ(codecs.count(rate_types[3].second), 1);
RTC_CHECK(codecs[rate_types[3].second].first ==
NetEqDecoder::kDecoderPCM16Bswb48kHz);
NetEqTest::ExtDecoderMap ext_codecs;
NetEqTest test(config, codecs, ext_codecs, std::move(input),