Index: webrtc/modules/audio_coding/neteq/payload_splitter_unittest.cc |
diff --git a/webrtc/modules/audio_coding/neteq/payload_splitter_unittest.cc b/webrtc/modules/audio_coding/neteq/payload_splitter_unittest.cc |
index f0b16d06aa558c3898951a1326126bf81d836510..a1d0dfe3f0998a5aa7a7959a52e317d1e0a3e934 100644 |
--- a/webrtc/modules/audio_coding/neteq/payload_splitter_unittest.cc |
+++ b/webrtc/modules/audio_coding/neteq/payload_splitter_unittest.cc |
@@ -155,7 +155,7 @@ void VerifyPacket(const Packet* packet, |
EXPECT_EQ(primary, packet->primary); |
ASSERT_FALSE(packet->payload == NULL); |
for (size_t i = 0; i < packet->payload_length; ++i) { |
- EXPECT_EQ(payload_value, packet->payload[i]); |
+ ASSERT_EQ(payload_value, packet->payload[i]); |
kwiberg-webrtc
2016/08/26 12:39:25
The caller of VerifyPacket doesn't call ASSERT/EXP
ossu
2016/08/26 13:05:30
Well you'll get one roughly one trillion errors du
kwiberg-webrtc
2016/08/26 22:05:13
OK. But then the callers ought to use ASSERT_NO_FA
|
} |
} |
@@ -370,34 +370,56 @@ TEST(AudioPayloadSplitter, NonSplittable) { |
packet_list.push_back(CreatePacket(i, kPayloadLength, 10 * i)); |
} |
+ class NoOpAudioDecoder : public AudioDecoder { |
+ public: |
+ void Reset() override { } |
+ int SampleRateHz() const override { return 8000; } |
+ size_t Channels() const override { return 1; } |
+ |
+ private: |
+ int DecodeInternal(const uint8_t* encoded, |
+ size_t encoded_len, |
+ int sample_rate_hz, |
+ int16_t* decoded, |
+ SpeechType* speech_type) override |
+ { return 0; } |
+ }; |
+ |
+ rtc::scoped_refptr<AudioDecoderFactory> factory = |
+ CreateBuiltinAudioDecoderFactory(); |
+ std::unique_ptr<AudioDecoder> external_decoder(new NoOpAudioDecoder); |
MockDecoderDatabase decoder_database; |
// Tell the mock decoder database to return DecoderInfo structs with different |
// codec types. |
// Use scoped pointers to avoid having to delete them later. |
std::unique_ptr<DecoderDatabase::DecoderInfo> info0( |
- new DecoderDatabase::DecoderInfo(NetEqDecoder::kDecoderISAC, "")); |
+ new DecoderDatabase::DecoderInfo(NetEqDecoder::kDecoderISAC, "", |
+ factory)); |
EXPECT_CALL(decoder_database, GetDecoderInfo(0)) |
.WillRepeatedly(Return(info0.get())); |
std::unique_ptr<DecoderDatabase::DecoderInfo> info1( |
- new DecoderDatabase::DecoderInfo(NetEqDecoder::kDecoderISACswb, "")); |
+ new DecoderDatabase::DecoderInfo(NetEqDecoder::kDecoderISACswb, "", |
+ factory)); |
EXPECT_CALL(decoder_database, GetDecoderInfo(1)) |
.WillRepeatedly(Return(info1.get())); |
std::unique_ptr<DecoderDatabase::DecoderInfo> info2( |
- new DecoderDatabase::DecoderInfo(NetEqDecoder::kDecoderRED, "")); |
+ new DecoderDatabase::DecoderInfo(NetEqDecoder::kDecoderRED, "", factory)); |
EXPECT_CALL(decoder_database, GetDecoderInfo(2)) |
.WillRepeatedly(Return(info2.get())); |
std::unique_ptr<DecoderDatabase::DecoderInfo> info3( |
- new DecoderDatabase::DecoderInfo(NetEqDecoder::kDecoderAVT, "")); |
+ new DecoderDatabase::DecoderInfo(NetEqDecoder::kDecoderAVT, "", factory)); |
EXPECT_CALL(decoder_database, GetDecoderInfo(3)) |
.WillRepeatedly(Return(info3.get())); |
std::unique_ptr<DecoderDatabase::DecoderInfo> info4( |
- new DecoderDatabase::DecoderInfo(NetEqDecoder::kDecoderCNGnb, "")); |
+ new DecoderDatabase::DecoderInfo(NetEqDecoder::kDecoderCNGnb, "", |
+ factory)); |
EXPECT_CALL(decoder_database, GetDecoderInfo(4)) |
.WillRepeatedly(Return(info4.get())); |
std::unique_ptr<DecoderDatabase::DecoderInfo> info5( |
- new DecoderDatabase::DecoderInfo(NetEqDecoder::kDecoderArbitrary, "")); |
+ new DecoderDatabase::DecoderInfo(NetEqDecoder::kDecoderArbitrary, "", |
+ external_decoder.get())); |
EXPECT_CALL(decoder_database, GetDecoderInfo(5)) |
- .WillRepeatedly(Return(info5.get())); |
+ .WillRepeatedly(Return(info5.get())); |
PayloadSplitter splitter; |
EXPECT_EQ(0, splitter.SplitAudio(&packet_list, decoder_database)); |
@@ -527,13 +549,15 @@ TEST_P(SplitBySamplesTest, PayloadSizes) { |
payload_size_ms)); |
} |
+ rtc::scoped_refptr<AudioDecoderFactory> factory = |
+ CreateBuiltinAudioDecoderFactory(); |
MockDecoderDatabase decoder_database; |
// Tell the mock decoder database to return DecoderInfo structs with different |
// codec types. |
// Use scoped pointers to avoid having to delete them later. |
// (Sample rate is set to 8000 Hz, but does not matter.) |
std::unique_ptr<DecoderDatabase::DecoderInfo> info( |
- new DecoderDatabase::DecoderInfo(decoder_type_, "")); |
+ new DecoderDatabase::DecoderInfo(decoder_type_, "", factory)); |
EXPECT_CALL(decoder_database, GetDecoderInfo(kPayloadType)) |
.WillRepeatedly(Return(info.get())); |
@@ -615,12 +639,15 @@ TEST_P(SplitIlbcTest, NumFrames) { |
} |
packet_list.push_back(packet); |
+ rtc::scoped_refptr<AudioDecoderFactory> factory = |
+ CreateBuiltinAudioDecoderFactory(); |
MockDecoderDatabase decoder_database; |
// Tell the mock decoder database to return DecoderInfo structs with different |
// codec types. |
// Use scoped pointers to avoid having to delete them later. |
std::unique_ptr<DecoderDatabase::DecoderInfo> info( |
- new DecoderDatabase::DecoderInfo(NetEqDecoder::kDecoderILBC, "")); |
+ new DecoderDatabase::DecoderInfo(NetEqDecoder::kDecoderILBC, "", |
+ factory)); |
EXPECT_CALL(decoder_database, GetDecoderInfo(kPayloadType)) |
.WillRepeatedly(Return(info.get())); |
@@ -681,14 +708,17 @@ TEST(IlbcPayloadSplitter, TooLargePayload) { |
Packet* packet = CreatePacket(kPayloadType, kPayloadLengthBytes, 0); |
packet_list.push_back(packet); |
+ rtc::scoped_refptr<AudioDecoderFactory> factory = |
+ CreateBuiltinAudioDecoderFactory(); |
MockDecoderDatabase decoder_database; |
std::unique_ptr<DecoderDatabase::DecoderInfo> info( |
- new DecoderDatabase::DecoderInfo(NetEqDecoder::kDecoderILBC, "")); |
+ new DecoderDatabase::DecoderInfo(NetEqDecoder::kDecoderILBC, "", |
+ factory)); |
EXPECT_CALL(decoder_database, GetDecoderInfo(kPayloadType)) |
.WillRepeatedly(Return(info.get())); |
PayloadSplitter splitter; |
- EXPECT_EQ(PayloadSplitter::kTooLargePayload, |
+ EXPECT_EQ(PayloadSplitter::kFrameSplitError, |
splitter.SplitAudio(&packet_list, decoder_database)); |
EXPECT_EQ(1u, packet_list.size()); |
@@ -712,9 +742,12 @@ TEST(IlbcPayloadSplitter, UnevenPayload) { |
Packet* packet = CreatePacket(kPayloadType, kPayloadLengthBytes, 0); |
packet_list.push_back(packet); |
+ rtc::scoped_refptr<AudioDecoderFactory> factory = |
+ CreateBuiltinAudioDecoderFactory(); |
MockDecoderDatabase decoder_database; |
std::unique_ptr<DecoderDatabase::DecoderInfo> info( |
- new DecoderDatabase::DecoderInfo(NetEqDecoder::kDecoderILBC, "")); |
+ new DecoderDatabase::DecoderInfo(NetEqDecoder::kDecoderILBC, "", |
+ factory)); |
EXPECT_CALL(decoder_database, GetDecoderInfo(kPayloadType)) |
.WillRepeatedly(Return(info.get())); |