Removing CELT.

CELT is not supported in WebRTC/Libjingle. There are a few left-over in our code base. They are cleaned up in this CL.

BUG=
R=pbos@webrtc.org, tina.legrand@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/36099004

Cr-Commit-Position: refs/heads/master@{#8385}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8385 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/talk/app/webrtc/webrtcsdp_unittest.cc b/talk/app/webrtc/webrtcsdp_unittest.cc
index e622944..0778491 100644
--- a/talk/app/webrtc/webrtcsdp_unittest.cc
+++ b/talk/app/webrtc/webrtcsdp_unittest.cc
@@ -157,7 +157,7 @@
     "dummy_session_params\r\n"
     "a=rtpmap:111 opus/48000/2\r\n"
     "a=rtpmap:103 ISAC/16000\r\n"
-    "a=rtpmap:104 CELT/32000/2\r\n"
+    "a=rtpmap:104 ISAC/32000\r\n"
     "a=ssrc:1 cname:stream_1_cname\r\n"
     "a=ssrc:1 msid:local_stream_1 audio_track_id_1\r\n"
     "a=ssrc:1 mslabel:local_stream_1\r\n"
@@ -224,7 +224,7 @@
     "dummy_session_params\r\n"
     "a=rtpmap:111 opus/48000/2\r\n"
     "a=rtpmap:103 ISAC/16000\r\n"
-    "a=rtpmap:104 CELT/32000/2\r\n"
+    "a=rtpmap:104 ISAC/32000\r\n"
     "a=ssrc:1 cname:stream_1_cname\r\n"
     "a=ssrc:1 msid:local_stream_1 audio_track_id_1\r\n"
     "a=ssrc:1 mslabel:local_stream_1\r\n"
@@ -531,7 +531,7 @@
     AudioCodec opus(111, "opus", 48000, 0, 2, 3);
     audio_desc_->AddCodec(opus);
     audio_desc_->AddCodec(AudioCodec(103, "ISAC", 16000, 32000, 1, 2));
-    audio_desc_->AddCodec(AudioCodec(104, "CELT", 32000, 0, 2, 1));
+    audio_desc_->AddCodec(AudioCodec(104, "ISAC", 32000, 56000, 1, 1));
     desc_.AddContent(kAudioContentName, NS_JINGLE_RTP, audio_desc_);
 
     // VideoContentDescription
@@ -1181,13 +1181,12 @@
         // description.
         "a=msid-semantic: WMS\r\n"
         // Pl type 111 preferred.
-        "m=audio 9 RTP/SAVPF 111 104 103 102\r\n"
+        "m=audio 9 RTP/SAVPF 111 104 103\r\n"
         // Pltype 111 listed before 103 and 104 in the map.
         "a=rtpmap:111 opus/48000/2\r\n"
         // Pltype 103 listed before 104.
         "a=rtpmap:103 ISAC/16000\r\n"
-        "a=rtpmap:104 CELT/32000/2\r\n"
-        "a=rtpmap:102 ISAC/32000/1\r\n"
+        "a=rtpmap:104 ISAC/32000\r\n"
         "a=fmtp:111 0-15,66,70\r\n"
         "a=fmtp:111 ";
     std::ostringstream os;
@@ -1794,7 +1793,7 @@
       "t=0 0\r\n"
       "m=audio 49232 RTP/AVP 0 18 103\r\n"
       // Codec that doesn't appear in the m= line will be ignored.
-      "a=rtpmap:104 CELT/32000/2\r\n"
+      "a=rtpmap:104 ISAC/32000\r\n"
       // The rtpmap line for static payload codec is optional.
       "a=rtpmap:18 G729/16000\r\n"
       "a=rtpmap:103 ISAC/16000\r\n";
@@ -2407,7 +2406,7 @@
       "a=rtpmap:111 opus/48000/2\r\n"  // Pltype 111 listed before 103 and 104
                                        // in the map.
       "a=rtpmap:103 ISAC/16000\r\n"  // Pltype 103 listed before 104 in the map.
-      "a=rtpmap:104 CELT/32000/2\r\n";
+      "a=rtpmap:104 ISAC/32000\r\n";
 
   // Deserialize
   EXPECT_TRUE(SdpDeserialize(kSdpWithReorderedPlTypesString, &jdesc_output));
@@ -2417,7 +2416,8 @@
   const AudioContentDescription* acd =
       static_cast<const AudioContentDescription*>(ac->description);
   ASSERT_FALSE(acd->codecs().empty());
-  EXPECT_EQ("CELT", acd->codecs()[0].name);
+  EXPECT_EQ("ISAC", acd->codecs()[0].name);
+  EXPECT_EQ(32000, acd->codecs()[0].clockrate);
   EXPECT_EQ(104, acd->codecs()[0].id);
 }
 
diff --git a/talk/media/webrtc/webrtcvoiceengine.cc b/talk/media/webrtc/webrtcvoiceengine.cc
index f7183ef..dab2b51 100644
--- a/talk/media/webrtc/webrtcvoiceengine.cc
+++ b/talk/media/webrtc/webrtcvoiceengine.cc
@@ -72,8 +72,6 @@
   { "OPUS",   48000,  2, 111, true },
   { "ISAC",   16000,  1, 103, true },
   { "ISAC",   32000,  1, 104, true },
-  { "CELT",   32000,  1, 109, true },
-  { "CELT",   32000,  2, 110, true },
   // G722 should be advertised as 8000 Hz because of the RFC "bug".
   { "G722",   8000,   1, 9,   false },
   { "ILBC",   8000,   1, 102, false },
diff --git a/talk/media/webrtc/webrtcvoiceengine_unittest.cc b/talk/media/webrtc/webrtcvoiceengine_unittest.cc
index b013e02..5faec6c 100644
--- a/talk/media/webrtc/webrtcvoiceengine_unittest.cc
+++ b/talk/media/webrtc/webrtcvoiceengine_unittest.cc
@@ -50,7 +50,6 @@
 
 static const cricket::AudioCodec kPcmuCodec(0, "PCMU", 8000, 64000, 1, 0);
 static const cricket::AudioCodec kIsacCodec(103, "ISAC", 16000, 32000, 1, 0);
-static const cricket::AudioCodec kCeltCodec(110, "CELT", 32000, 64000, 2, 0);
 static const cricket::AudioCodec kOpusCodec(111, "opus", 48000, 64000, 2, 0);
 static const cricket::AudioCodec kG722CodecVoE(9, "G722", 16000, 64000, 1, 0);
 static const cricket::AudioCodec kG722CodecSdp(9, "G722", 8000, 64000, 1, 0);
@@ -60,8 +59,8 @@
 static const cricket::AudioCodec
     kTelephoneEventCodec(106, "telephone-event", 8000, 0, 1, 0);
 static const cricket::AudioCodec* const kAudioCodecs[] = {
-    &kPcmuCodec, &kIsacCodec, &kCeltCodec, &kOpusCodec, &kG722CodecVoE,
-    &kRedCodec, &kCn8000Codec, &kCn16000Codec, &kTelephoneEventCodec,
+    &kPcmuCodec, &kIsacCodec, &kOpusCodec, &kG722CodecVoE, &kRedCodec,
+    &kCn8000Codec, &kCn16000Codec, &kTelephoneEventCodec,
 };
 const char kRingbackTone[] = "RIFF____WAVE____ABCD1234";
 static uint32 kSsrc1 = 0x99;
@@ -645,9 +644,6 @@
   // PCMU, default bitrate == 64000.
   TestSendBandwidth(kPcmuCodec, -1, true, 64000);
 
-  // CELT, default bitrate == 64000.
-  TestSendBandwidth(kCeltCodec, 0, true, 64000);
-
   // opus, default bitrate == 64000.
   TestSendBandwidth(kOpusCodec, -1, true, 64000);
 }
@@ -662,10 +658,6 @@
   TestSendBandwidth(kIsacCodec, 128000, true, 128000);
   TestSendBandwidth(kIsacCodec, 16000, true, 16000);
 
-  // CELT, default bitrate == 64000.
-  TestSendBandwidth(kCeltCodec, 96000, true, 96000);
-  TestSendBandwidth(kCeltCodec, 32000, true, 32000);
-
   // opus, default bitrate == 64000.
   TestSendBandwidth(kOpusCodec, 96000, true, 96000);
   TestSendBandwidth(kOpusCodec, 48000, true, 48000);
@@ -1410,59 +1402,31 @@
             voe_.GetMaxEncodingBandwidth(channel_num));
 }
 
-// Test that we can apply CELT with stereo mode but fail with mono mode.
-TEST_F(WebRtcVoiceEngineTestFake, SetSendCodecsCelt) {
+// Test that we can switch back and forth between Opus and ISAC with CN.
+TEST_F(WebRtcVoiceEngineTestFake, SetSendCodecsIsacOpusSwitching) {
   EXPECT_TRUE(SetupEngine());
   int channel_num = voe_.GetLastChannel();
-  std::vector<cricket::AudioCodec> codecs;
-  codecs.push_back(kCeltCodec);
-  codecs.push_back(kIsacCodec);
-  codecs[0].id = 96;
-  codecs[0].channels = 2;
-  codecs[0].bitrate = 96000;
-  codecs[1].bitrate = 64000;
-  EXPECT_TRUE(channel_->SetSendCodecs(codecs));
+  std::vector<cricket::AudioCodec> opus_codecs;
+  opus_codecs.push_back(kOpusCodec);
+  EXPECT_TRUE(channel_->SetSendCodecs(opus_codecs));
   webrtc::CodecInst gcodec;
   EXPECT_EQ(0, voe_.GetSendCodec(channel_num, gcodec));
-  EXPECT_EQ(96, gcodec.pltype);
-  EXPECT_EQ(96000, gcodec.rate);
-  EXPECT_EQ(2, gcodec.channels);
-  EXPECT_STREQ("CELT", gcodec.plname);
-  // Doesn't support mono, expect it to fall back to the next codec in the list.
-  codecs[0].channels = 1;
-  EXPECT_TRUE(channel_->SetSendCodecs(codecs));
-  EXPECT_EQ(0, voe_.GetSendCodec(channel_num, gcodec));
-  EXPECT_EQ(103, gcodec.pltype);
-  EXPECT_EQ(1, gcodec.channels);
-  EXPECT_EQ(64000, gcodec.rate);
-  EXPECT_STREQ("ISAC", gcodec.plname);
-}
-
-// Test that we can switch back and forth between CELT and ISAC with CN.
-TEST_F(WebRtcVoiceEngineTestFake, SetSendCodecsIsacCeltSwitching) {
-  EXPECT_TRUE(SetupEngine());
-  int channel_num = voe_.GetLastChannel();
-  std::vector<cricket::AudioCodec> celt_codecs;
-  celt_codecs.push_back(kCeltCodec);
-  EXPECT_TRUE(channel_->SetSendCodecs(celt_codecs));
-  webrtc::CodecInst gcodec;
-  EXPECT_EQ(0, voe_.GetSendCodec(channel_num, gcodec));
-  EXPECT_EQ(110, gcodec.pltype);
-  EXPECT_STREQ("CELT", gcodec.plname);
+  EXPECT_EQ(111, gcodec.pltype);
+  EXPECT_STREQ("opus", gcodec.plname);
 
   std::vector<cricket::AudioCodec> isac_codecs;
   isac_codecs.push_back(kIsacCodec);
   isac_codecs.push_back(kCn16000Codec);
-  isac_codecs.push_back(kCeltCodec);
+  isac_codecs.push_back(kOpusCodec);
   EXPECT_TRUE(channel_->SetSendCodecs(isac_codecs));
   EXPECT_EQ(0, voe_.GetSendCodec(channel_num, gcodec));
   EXPECT_EQ(103, gcodec.pltype);
   EXPECT_STREQ("ISAC", gcodec.plname);
 
-  EXPECT_TRUE(channel_->SetSendCodecs(celt_codecs));
+  EXPECT_TRUE(channel_->SetSendCodecs(opus_codecs));
   EXPECT_EQ(0, voe_.GetSendCodec(channel_num, gcodec));
-  EXPECT_EQ(110, gcodec.pltype);
-  EXPECT_STREQ("CELT", gcodec.plname);
+  EXPECT_EQ(111, gcodec.pltype);
+  EXPECT_STREQ("opus", gcodec.plname);
 }
 
 // Test that we handle various ways of specifying bitrate.
@@ -2482,8 +2446,8 @@
       cricket::StreamParams::CreateLegacy(kSsrc1)));
   int channel_num2 = voe_.GetLastChannel();
   webrtc::CodecInst gcodec;
-  rtc::strcpyn(gcodec.plname, ARRAY_SIZE(gcodec.plname), "CELT");
-  gcodec.plfreq = 32000;
+  rtc::strcpyn(gcodec.plname, ARRAY_SIZE(gcodec.plname), "opus");
+  gcodec.plfreq = 48000;
   gcodec.channels = 2;
   EXPECT_EQ(-1, voe_.GetRecPayloadType(channel_num2, gcodec));
 }
diff --git a/talk/session/media/channelmanager_unittest.cc b/talk/session/media/channelmanager_unittest.cc
index f496ee9..8b5b326 100644
--- a/talk/session/media/channelmanager_unittest.cc
+++ b/talk/session/media/channelmanager_unittest.cc
@@ -41,7 +41,6 @@
 
 static const AudioCodec kAudioCodecs[] = {
   AudioCodec(97, "voice", 1, 2, 3, 0),
-  AudioCodec(110, "CELT", 32000, 48000, 2, 0),
   AudioCodec(111, "OPUS", 48000, 32000, 2, 0),
 };
 
diff --git a/webrtc/modules/audio_coding/main/acm2/acm_codec_database.cc b/webrtc/modules/audio_coding/main/acm2/acm_codec_database.cc
index 17d49a9..5f6bcb5 100644
--- a/webrtc/modules/audio_coding/main/acm2/acm_codec_database.cc
+++ b/webrtc/modules/audio_coding/main/acm2/acm_codec_database.cc
@@ -466,9 +466,6 @@
   } else if (STR_CASE_CMP("speex", codec_inst.plname) == 0) {
     return IsSpeexRateValid(codec_inst.rate)
         ? codec_id : kInvalidRate;
-  } else if (STR_CASE_CMP("celt", codec_inst.plname) == 0) {
-    return IsCeltRateValid(codec_inst.rate)
-        ? codec_id : kInvalidRate;
   }
 
   return IsRateValid(codec_id, codec_inst.rate) ?
@@ -874,15 +871,6 @@
   return true;
 }
 
-// Checks if the bitrate is valid for Celt.
-bool ACMCodecDB::IsCeltRateValid(int rate) {
-  if ((rate >= 48000) && (rate <= 128000)) {
-    return true;
-  } else {
-    return false;
-  }
-}
-
 // Checks if the payload type is in the valid range.
 bool ACMCodecDB::ValidPayloadType(int payload_type) {
   if ((payload_type < 0) || (payload_type > 127)) {
diff --git a/webrtc/modules/audio_coding/main/acm2/acm_codec_database.h b/webrtc/modules/audio_coding/main/acm2/acm_codec_database.h
index 608eb6b..94cad5c 100644
--- a/webrtc/modules/audio_coding/main/acm2/acm_codec_database.h
+++ b/webrtc/modules/audio_coding/main/acm2/acm_codec_database.h
@@ -329,7 +329,6 @@
   static bool IsG7291RateValid(int rate);
   static bool IsSpeexRateValid(int rate);
   static bool IsOpusRateValid(int rate);
-  static bool IsCeltRateValid(int rate);
 
   // Check if the payload type is valid, meaning that it is in the valid range
   // of 0 to 127.