Chromium Code Reviews| Index: webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc |
| diff --git a/webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc b/webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc |
| index 1859e566e7d2cb4d728d69effea09932619d8c34..69b49f915668a2848714d133f3683d95ea7291cf 100644 |
| --- a/webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc |
| +++ b/webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc |
| @@ -381,6 +381,39 @@ TEST_F(NetEqImplTest, InsertPacketsUntilBufferIsFull) { |
| EXPECT_EQ(rtp_header.header.sequenceNumber, test_header->sequenceNumber); |
| } |
| +TEST_F(NetEqImplTest, TestDtmfPacket) { |
| + UseNoMocks(); |
| + CreateInstance(); |
| + const size_t kPayloadLength = 4; |
| + const uint8_t kPayloadType = 110; |
| + const uint32_t kReceiveTime = 17; |
| + const int kSampleRateHz = 8000; |
| + // Event: 2, E bit, Volume: 0x3F, Length: 0x10F0. |
|
hlundin-webrtc
2016/10/11 09:08:36
Please, spell out the volume and length in decimal
the sun
2016/10/11 09:44:53
Done.
|
| + uint8_t payload[kPayloadLength] = { 0x02, 0x80 + 0x3F, 0x10, 0xF0 }; |
| + WebRtcRTPHeader rtp_header; |
| + rtp_header.header.payloadType = kPayloadType; |
| + rtp_header.header.sequenceNumber = 0x1234; |
| + rtp_header.header.timestamp = 0x12345678; |
| + rtp_header.header.ssrc = 0x87654321; |
| + |
| + EXPECT_EQ(NetEq::kOK, neteq_->RegisterPayloadType( |
| + NetEqDecoder::kDecoderAVT, "telephone-event", kPayloadType)); |
| + |
| + // Insert one packet. |
| + EXPECT_EQ(NetEq::kOK, |
| + neteq_->InsertPacket(rtp_header, payload, kReceiveTime)); |
| + |
| + // Pull audio once. |
| + const size_t kMaxOutputSize = static_cast<size_t>(10 * kSampleRateHz / 1000); |
| + AudioFrame output; |
| + bool muted; |
| + EXPECT_EQ(NetEq::kOK, neteq_->GetAudio(&output, &muted)); |
| + ASSERT_FALSE(muted); |
| + ASSERT_EQ(kMaxOutputSize, output.samples_per_channel_); |
| + EXPECT_EQ(1u, output.num_channels_); |
| + EXPECT_EQ(AudioFrame::kNormalSpeech, output.speech_type_); |
| +} |
| + |
| // This test verifies that timestamps propagate from the incoming packets |
| // through to the sync buffer and to the playout timestamp. |
| TEST_F(NetEqImplTest, VerifyTimestampPropagation) { |