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
This commit is contained in:
parent
2c1bcf2cb4
commit
f9b5c1b3d0
@ -157,7 +157,7 @@ static const char kSdpFullString[] =
|
|||||||
"dummy_session_params\r\n"
|
"dummy_session_params\r\n"
|
||||||
"a=rtpmap:111 opus/48000/2\r\n"
|
"a=rtpmap:111 opus/48000/2\r\n"
|
||||||
"a=rtpmap:103 ISAC/16000\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 cname:stream_1_cname\r\n"
|
||||||
"a=ssrc:1 msid:local_stream_1 audio_track_id_1\r\n"
|
"a=ssrc:1 msid:local_stream_1 audio_track_id_1\r\n"
|
||||||
"a=ssrc:1 mslabel:local_stream_1\r\n"
|
"a=ssrc:1 mslabel:local_stream_1\r\n"
|
||||||
@ -224,7 +224,7 @@ static const char kSdpString[] =
|
|||||||
"dummy_session_params\r\n"
|
"dummy_session_params\r\n"
|
||||||
"a=rtpmap:111 opus/48000/2\r\n"
|
"a=rtpmap:111 opus/48000/2\r\n"
|
||||||
"a=rtpmap:103 ISAC/16000\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 cname:stream_1_cname\r\n"
|
||||||
"a=ssrc:1 msid:local_stream_1 audio_track_id_1\r\n"
|
"a=ssrc:1 msid:local_stream_1 audio_track_id_1\r\n"
|
||||||
"a=ssrc:1 mslabel:local_stream_1\r\n"
|
"a=ssrc:1 mslabel:local_stream_1\r\n"
|
||||||
@ -531,7 +531,7 @@ class WebRtcSdpTest : public testing::Test {
|
|||||||
AudioCodec opus(111, "opus", 48000, 0, 2, 3);
|
AudioCodec opus(111, "opus", 48000, 0, 2, 3);
|
||||||
audio_desc_->AddCodec(opus);
|
audio_desc_->AddCodec(opus);
|
||||||
audio_desc_->AddCodec(AudioCodec(103, "ISAC", 16000, 32000, 1, 2));
|
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_);
|
desc_.AddContent(kAudioContentName, NS_JINGLE_RTP, audio_desc_);
|
||||||
|
|
||||||
// VideoContentDescription
|
// VideoContentDescription
|
||||||
@ -1181,13 +1181,12 @@ class WebRtcSdpTest : public testing::Test {
|
|||||||
// description.
|
// description.
|
||||||
"a=msid-semantic: WMS\r\n"
|
"a=msid-semantic: WMS\r\n"
|
||||||
// Pl type 111 preferred.
|
// 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.
|
// Pltype 111 listed before 103 and 104 in the map.
|
||||||
"a=rtpmap:111 opus/48000/2\r\n"
|
"a=rtpmap:111 opus/48000/2\r\n"
|
||||||
// Pltype 103 listed before 104.
|
// Pltype 103 listed before 104.
|
||||||
"a=rtpmap:103 ISAC/16000\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=rtpmap:102 ISAC/32000/1\r\n"
|
|
||||||
"a=fmtp:111 0-15,66,70\r\n"
|
"a=fmtp:111 0-15,66,70\r\n"
|
||||||
"a=fmtp:111 ";
|
"a=fmtp:111 ";
|
||||||
std::ostringstream os;
|
std::ostringstream os;
|
||||||
@ -1794,7 +1793,7 @@ TEST_F(WebRtcSdpTest, DeserializeSessionDescriptionWithoutRtpmap) {
|
|||||||
"t=0 0\r\n"
|
"t=0 0\r\n"
|
||||||
"m=audio 49232 RTP/AVP 0 18 103\r\n"
|
"m=audio 49232 RTP/AVP 0 18 103\r\n"
|
||||||
// Codec that doesn't appear in the m= line will be ignored.
|
// 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.
|
// The rtpmap line for static payload codec is optional.
|
||||||
"a=rtpmap:18 G729/16000\r\n"
|
"a=rtpmap:18 G729/16000\r\n"
|
||||||
"a=rtpmap:103 ISAC/16000\r\n";
|
"a=rtpmap:103 ISAC/16000\r\n";
|
||||||
@ -2407,7 +2406,7 @@ TEST_F(WebRtcSdpTest, DeserializeSdpWithReorderedPltypes) {
|
|||||||
"a=rtpmap:111 opus/48000/2\r\n" // Pltype 111 listed before 103 and 104
|
"a=rtpmap:111 opus/48000/2\r\n" // Pltype 111 listed before 103 and 104
|
||||||
// in the map.
|
// in the map.
|
||||||
"a=rtpmap:103 ISAC/16000\r\n" // Pltype 103 listed before 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
|
// Deserialize
|
||||||
EXPECT_TRUE(SdpDeserialize(kSdpWithReorderedPlTypesString, &jdesc_output));
|
EXPECT_TRUE(SdpDeserialize(kSdpWithReorderedPlTypesString, &jdesc_output));
|
||||||
@ -2417,7 +2416,8 @@ TEST_F(WebRtcSdpTest, DeserializeSdpWithReorderedPltypes) {
|
|||||||
const AudioContentDescription* acd =
|
const AudioContentDescription* acd =
|
||||||
static_cast<const AudioContentDescription*>(ac->description);
|
static_cast<const AudioContentDescription*>(ac->description);
|
||||||
ASSERT_FALSE(acd->codecs().empty());
|
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);
|
EXPECT_EQ(104, acd->codecs()[0].id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,8 +72,6 @@ static const CodecPref kCodecPrefs[] = {
|
|||||||
{ "OPUS", 48000, 2, 111, true },
|
{ "OPUS", 48000, 2, 111, true },
|
||||||
{ "ISAC", 16000, 1, 103, true },
|
{ "ISAC", 16000, 1, 103, true },
|
||||||
{ "ISAC", 32000, 1, 104, 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 should be advertised as 8000 Hz because of the RFC "bug".
|
||||||
{ "G722", 8000, 1, 9, false },
|
{ "G722", 8000, 1, 9, false },
|
||||||
{ "ILBC", 8000, 1, 102, false },
|
{ "ILBC", 8000, 1, 102, false },
|
||||||
|
@ -50,7 +50,6 @@ using cricket::kRtpAbsoluteSenderTimeHeaderExtension;
|
|||||||
|
|
||||||
static const cricket::AudioCodec kPcmuCodec(0, "PCMU", 8000, 64000, 1, 0);
|
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 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 kOpusCodec(111, "opus", 48000, 64000, 2, 0);
|
||||||
static const cricket::AudioCodec kG722CodecVoE(9, "G722", 16000, 64000, 1, 0);
|
static const cricket::AudioCodec kG722CodecVoE(9, "G722", 16000, 64000, 1, 0);
|
||||||
static const cricket::AudioCodec kG722CodecSdp(9, "G722", 8000, 64000, 1, 0);
|
static const cricket::AudioCodec kG722CodecSdp(9, "G722", 8000, 64000, 1, 0);
|
||||||
@ -60,8 +59,8 @@ static const cricket::AudioCodec kCn16000Codec(105, "CN", 16000, 0, 1, 0);
|
|||||||
static const cricket::AudioCodec
|
static const cricket::AudioCodec
|
||||||
kTelephoneEventCodec(106, "telephone-event", 8000, 0, 1, 0);
|
kTelephoneEventCodec(106, "telephone-event", 8000, 0, 1, 0);
|
||||||
static const cricket::AudioCodec* const kAudioCodecs[] = {
|
static const cricket::AudioCodec* const kAudioCodecs[] = {
|
||||||
&kPcmuCodec, &kIsacCodec, &kCeltCodec, &kOpusCodec, &kG722CodecVoE,
|
&kPcmuCodec, &kIsacCodec, &kOpusCodec, &kG722CodecVoE, &kRedCodec,
|
||||||
&kRedCodec, &kCn8000Codec, &kCn16000Codec, &kTelephoneEventCodec,
|
&kCn8000Codec, &kCn16000Codec, &kTelephoneEventCodec,
|
||||||
};
|
};
|
||||||
const char kRingbackTone[] = "RIFF____WAVE____ABCD1234";
|
const char kRingbackTone[] = "RIFF____WAVE____ABCD1234";
|
||||||
static uint32 kSsrc1 = 0x99;
|
static uint32 kSsrc1 = 0x99;
|
||||||
@ -645,9 +644,6 @@ TEST_F(WebRtcVoiceEngineTestFake, SetSendBandwidthAuto) {
|
|||||||
// PCMU, default bitrate == 64000.
|
// PCMU, default bitrate == 64000.
|
||||||
TestSendBandwidth(kPcmuCodec, -1, true, 64000);
|
TestSendBandwidth(kPcmuCodec, -1, true, 64000);
|
||||||
|
|
||||||
// CELT, default bitrate == 64000.
|
|
||||||
TestSendBandwidth(kCeltCodec, 0, true, 64000);
|
|
||||||
|
|
||||||
// opus, default bitrate == 64000.
|
// opus, default bitrate == 64000.
|
||||||
TestSendBandwidth(kOpusCodec, -1, true, 64000);
|
TestSendBandwidth(kOpusCodec, -1, true, 64000);
|
||||||
}
|
}
|
||||||
@ -662,10 +658,6 @@ TEST_F(WebRtcVoiceEngineTestFake, SetMaxSendBandwidthMultiRateAsCaller) {
|
|||||||
TestSendBandwidth(kIsacCodec, 128000, true, 128000);
|
TestSendBandwidth(kIsacCodec, 128000, true, 128000);
|
||||||
TestSendBandwidth(kIsacCodec, 16000, true, 16000);
|
TestSendBandwidth(kIsacCodec, 16000, true, 16000);
|
||||||
|
|
||||||
// CELT, default bitrate == 64000.
|
|
||||||
TestSendBandwidth(kCeltCodec, 96000, true, 96000);
|
|
||||||
TestSendBandwidth(kCeltCodec, 32000, true, 32000);
|
|
||||||
|
|
||||||
// opus, default bitrate == 64000.
|
// opus, default bitrate == 64000.
|
||||||
TestSendBandwidth(kOpusCodec, 96000, true, 96000);
|
TestSendBandwidth(kOpusCodec, 96000, true, 96000);
|
||||||
TestSendBandwidth(kOpusCodec, 48000, true, 48000);
|
TestSendBandwidth(kOpusCodec, 48000, true, 48000);
|
||||||
@ -1410,59 +1402,31 @@ TEST_F(WebRtcVoiceEngineTestFake, SetOpusMaxPlaybackRateOnTwoStreams) {
|
|||||||
voe_.GetMaxEncodingBandwidth(channel_num));
|
voe_.GetMaxEncodingBandwidth(channel_num));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test that we can apply CELT with stereo mode but fail with mono mode.
|
// Test that we can switch back and forth between Opus and ISAC with CN.
|
||||||
TEST_F(WebRtcVoiceEngineTestFake, SetSendCodecsCelt) {
|
TEST_F(WebRtcVoiceEngineTestFake, SetSendCodecsIsacOpusSwitching) {
|
||||||
EXPECT_TRUE(SetupEngine());
|
EXPECT_TRUE(SetupEngine());
|
||||||
int channel_num = voe_.GetLastChannel();
|
int channel_num = voe_.GetLastChannel();
|
||||||
std::vector<cricket::AudioCodec> codecs;
|
std::vector<cricket::AudioCodec> opus_codecs;
|
||||||
codecs.push_back(kCeltCodec);
|
opus_codecs.push_back(kOpusCodec);
|
||||||
codecs.push_back(kIsacCodec);
|
EXPECT_TRUE(channel_->SetSendCodecs(opus_codecs));
|
||||||
codecs[0].id = 96;
|
|
||||||
codecs[0].channels = 2;
|
|
||||||
codecs[0].bitrate = 96000;
|
|
||||||
codecs[1].bitrate = 64000;
|
|
||||||
EXPECT_TRUE(channel_->SetSendCodecs(codecs));
|
|
||||||
webrtc::CodecInst gcodec;
|
webrtc::CodecInst gcodec;
|
||||||
EXPECT_EQ(0, voe_.GetSendCodec(channel_num, gcodec));
|
EXPECT_EQ(0, voe_.GetSendCodec(channel_num, gcodec));
|
||||||
EXPECT_EQ(96, gcodec.pltype);
|
EXPECT_EQ(111, gcodec.pltype);
|
||||||
EXPECT_EQ(96000, gcodec.rate);
|
EXPECT_STREQ("opus", gcodec.plname);
|
||||||
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);
|
|
||||||
|
|
||||||
std::vector<cricket::AudioCodec> isac_codecs;
|
std::vector<cricket::AudioCodec> isac_codecs;
|
||||||
isac_codecs.push_back(kIsacCodec);
|
isac_codecs.push_back(kIsacCodec);
|
||||||
isac_codecs.push_back(kCn16000Codec);
|
isac_codecs.push_back(kCn16000Codec);
|
||||||
isac_codecs.push_back(kCeltCodec);
|
isac_codecs.push_back(kOpusCodec);
|
||||||
EXPECT_TRUE(channel_->SetSendCodecs(isac_codecs));
|
EXPECT_TRUE(channel_->SetSendCodecs(isac_codecs));
|
||||||
EXPECT_EQ(0, voe_.GetSendCodec(channel_num, gcodec));
|
EXPECT_EQ(0, voe_.GetSendCodec(channel_num, gcodec));
|
||||||
EXPECT_EQ(103, gcodec.pltype);
|
EXPECT_EQ(103, gcodec.pltype);
|
||||||
EXPECT_STREQ("ISAC", gcodec.plname);
|
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(0, voe_.GetSendCodec(channel_num, gcodec));
|
||||||
EXPECT_EQ(110, gcodec.pltype);
|
EXPECT_EQ(111, gcodec.pltype);
|
||||||
EXPECT_STREQ("CELT", gcodec.plname);
|
EXPECT_STREQ("opus", gcodec.plname);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test that we handle various ways of specifying bitrate.
|
// Test that we handle various ways of specifying bitrate.
|
||||||
@ -2482,8 +2446,8 @@ TEST_F(WebRtcVoiceEngineTestFake, AddRecvStreamUnsupportedCodec) {
|
|||||||
cricket::StreamParams::CreateLegacy(kSsrc1)));
|
cricket::StreamParams::CreateLegacy(kSsrc1)));
|
||||||
int channel_num2 = voe_.GetLastChannel();
|
int channel_num2 = voe_.GetLastChannel();
|
||||||
webrtc::CodecInst gcodec;
|
webrtc::CodecInst gcodec;
|
||||||
rtc::strcpyn(gcodec.plname, ARRAY_SIZE(gcodec.plname), "CELT");
|
rtc::strcpyn(gcodec.plname, ARRAY_SIZE(gcodec.plname), "opus");
|
||||||
gcodec.plfreq = 32000;
|
gcodec.plfreq = 48000;
|
||||||
gcodec.channels = 2;
|
gcodec.channels = 2;
|
||||||
EXPECT_EQ(-1, voe_.GetRecPayloadType(channel_num2, gcodec));
|
EXPECT_EQ(-1, voe_.GetRecPayloadType(channel_num2, gcodec));
|
||||||
}
|
}
|
||||||
|
@ -41,7 +41,6 @@ namespace cricket {
|
|||||||
|
|
||||||
static const AudioCodec kAudioCodecs[] = {
|
static const AudioCodec kAudioCodecs[] = {
|
||||||
AudioCodec(97, "voice", 1, 2, 3, 0),
|
AudioCodec(97, "voice", 1, 2, 3, 0),
|
||||||
AudioCodec(110, "CELT", 32000, 48000, 2, 0),
|
|
||||||
AudioCodec(111, "OPUS", 48000, 32000, 2, 0),
|
AudioCodec(111, "OPUS", 48000, 32000, 2, 0),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -466,9 +466,6 @@ int ACMCodecDB::CodecNumber(const CodecInst& codec_inst, int* mirror_id) {
|
|||||||
} else if (STR_CASE_CMP("speex", codec_inst.plname) == 0) {
|
} else if (STR_CASE_CMP("speex", codec_inst.plname) == 0) {
|
||||||
return IsSpeexRateValid(codec_inst.rate)
|
return IsSpeexRateValid(codec_inst.rate)
|
||||||
? codec_id : kInvalidRate;
|
? 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) ?
|
return IsRateValid(codec_id, codec_inst.rate) ?
|
||||||
@ -874,15 +871,6 @@ bool ACMCodecDB::IsOpusRateValid(int rate) {
|
|||||||
return true;
|
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.
|
// Checks if the payload type is in the valid range.
|
||||||
bool ACMCodecDB::ValidPayloadType(int payload_type) {
|
bool ACMCodecDB::ValidPayloadType(int payload_type) {
|
||||||
if ((payload_type < 0) || (payload_type > 127)) {
|
if ((payload_type < 0) || (payload_type > 127)) {
|
||||||
|
@ -329,7 +329,6 @@ class ACMCodecDB {
|
|||||||
static bool IsG7291RateValid(int rate);
|
static bool IsG7291RateValid(int rate);
|
||||||
static bool IsSpeexRateValid(int rate);
|
static bool IsSpeexRateValid(int rate);
|
||||||
static bool IsOpusRateValid(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
|
// Check if the payload type is valid, meaning that it is in the valid range
|
||||||
// of 0 to 127.
|
// of 0 to 127.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user