Also provide sample rate when registering decoders

This replaces the old practice of looking up the sample rate in a
table, which won't work when we add support for external decoders.

COAUTHOR=henrik.lundin@webrtc.org
BUG=4474
R=jmarusic@webrtc.org, minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9276}
This commit is contained in:
Karl Wiberg
2015-05-25 14:39:56 +02:00
parent 323b132f5e
commit d8399e630f
10 changed files with 75 additions and 51 deletions

View File

@ -457,8 +457,8 @@ TEST_F(NetEqImplTest, VerifyTimestampPropagation) {
} decoder_;
EXPECT_EQ(NetEq::kOK,
neteq_->RegisterExternalDecoder(
&decoder_, kDecoderPCM16B, kPayloadType));
neteq_->RegisterExternalDecoder(&decoder_, kDecoderPCM16B,
kPayloadType, kSampleRateHz));
// Insert one packet.
EXPECT_EQ(NetEq::kOK,
@ -535,8 +535,8 @@ TEST_F(NetEqImplTest, ReorderedPacket) {
SetArgPointee<5>(AudioDecoder::kSpeech),
Return(kPayloadLengthSamples)));
EXPECT_EQ(NetEq::kOK,
neteq_->RegisterExternalDecoder(
&mock_decoder, kDecoderPCM16B, kPayloadType));
neteq_->RegisterExternalDecoder(&mock_decoder, kDecoderPCM16B,
kPayloadType, kSampleRateHz));
// Insert one packet.
EXPECT_EQ(NetEq::kOK,
@ -719,9 +719,9 @@ TEST_F(NetEqImplTest, CodecInternalCng) {
SetArgPointee<5>(AudioDecoder::kSpeech),
Return(kPayloadLengthSamples)));
EXPECT_EQ(NetEq::kOK,
neteq_->RegisterExternalDecoder(
&mock_decoder, kDecoderOpus, kPayloadType));
EXPECT_EQ(NetEq::kOK, neteq_->RegisterExternalDecoder(
&mock_decoder, kDecoderOpus, kPayloadType,
kSampleRateKhz * 1000));
// Insert one packet (decoder will return speech).
EXPECT_EQ(NetEq::kOK,
@ -860,8 +860,8 @@ TEST_F(NetEqImplTest, UnsupportedDecoder) {
.WillRepeatedly(Return(kNetEqMaxFrameSize));
EXPECT_EQ(NetEq::kOK,
neteq_->RegisterExternalDecoder(
&decoder_, kDecoderPCM16B, kPayloadType));
neteq_->RegisterExternalDecoder(&decoder_, kDecoderPCM16B,
kPayloadType, kSampleRateHz));
// Insert one packet.
payload[0] = kFirstPayloadValue; // This will make Decode() fail.