OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
374 // Insert one more packet and make sure the buffer got flushed. That is, it | 374 // Insert one more packet and make sure the buffer got flushed. That is, it |
375 // should only hold one single packet. | 375 // should only hold one single packet. |
376 EXPECT_EQ(NetEq::kOK, | 376 EXPECT_EQ(NetEq::kOK, |
377 neteq_->InsertPacket(rtp_header, payload, kReceiveTime)); | 377 neteq_->InsertPacket(rtp_header, payload, kReceiveTime)); |
378 EXPECT_EQ(1u, packet_buffer_->NumPacketsInBuffer()); | 378 EXPECT_EQ(1u, packet_buffer_->NumPacketsInBuffer()); |
379 const RTPHeader* test_header = packet_buffer_->NextRtpHeader(); | 379 const RTPHeader* test_header = packet_buffer_->NextRtpHeader(); |
380 EXPECT_EQ(rtp_header.header.timestamp, test_header->timestamp); | 380 EXPECT_EQ(rtp_header.header.timestamp, test_header->timestamp); |
381 EXPECT_EQ(rtp_header.header.sequenceNumber, test_header->sequenceNumber); | 381 EXPECT_EQ(rtp_header.header.sequenceNumber, test_header->sequenceNumber); |
382 } | 382 } |
383 | 383 |
384 TEST_F(NetEqImplTest, TestDtmfPacket) { | |
385 UseNoMocks(); | |
386 CreateInstance(); | |
387 const size_t kPayloadLength = 4; | |
388 const uint8_t kPayloadType = 110; | |
389 const uint32_t kReceiveTime = 17; | |
390 const int kSampleRateHz = 8000; | |
391 // 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.
| |
392 uint8_t payload[kPayloadLength] = { 0x02, 0x80 + 0x3F, 0x10, 0xF0 }; | |
393 WebRtcRTPHeader rtp_header; | |
394 rtp_header.header.payloadType = kPayloadType; | |
395 rtp_header.header.sequenceNumber = 0x1234; | |
396 rtp_header.header.timestamp = 0x12345678; | |
397 rtp_header.header.ssrc = 0x87654321; | |
398 | |
399 EXPECT_EQ(NetEq::kOK, neteq_->RegisterPayloadType( | |
400 NetEqDecoder::kDecoderAVT, "telephone-event", kPayloadType)); | |
401 | |
402 // Insert one packet. | |
403 EXPECT_EQ(NetEq::kOK, | |
404 neteq_->InsertPacket(rtp_header, payload, kReceiveTime)); | |
405 | |
406 // Pull audio once. | |
407 const size_t kMaxOutputSize = static_cast<size_t>(10 * kSampleRateHz / 1000); | |
408 AudioFrame output; | |
409 bool muted; | |
410 EXPECT_EQ(NetEq::kOK, neteq_->GetAudio(&output, &muted)); | |
411 ASSERT_FALSE(muted); | |
412 ASSERT_EQ(kMaxOutputSize, output.samples_per_channel_); | |
413 EXPECT_EQ(1u, output.num_channels_); | |
414 EXPECT_EQ(AudioFrame::kNormalSpeech, output.speech_type_); | |
415 } | |
416 | |
384 // This test verifies that timestamps propagate from the incoming packets | 417 // This test verifies that timestamps propagate from the incoming packets |
385 // through to the sync buffer and to the playout timestamp. | 418 // through to the sync buffer and to the playout timestamp. |
386 TEST_F(NetEqImplTest, VerifyTimestampPropagation) { | 419 TEST_F(NetEqImplTest, VerifyTimestampPropagation) { |
387 UseNoMocks(); | 420 UseNoMocks(); |
388 CreateInstance(); | 421 CreateInstance(); |
389 | 422 |
390 const uint8_t kPayloadType = 17; // Just an arbitrary number. | 423 const uint8_t kPayloadType = 17; // Just an arbitrary number. |
391 const uint32_t kReceiveTime = 17; // Value doesn't matter for this test. | 424 const uint32_t kReceiveTime = 17; // Value doesn't matter for this test. |
392 const int kSampleRateHz = 8000; | 425 const int kSampleRateHz = 8000; |
393 const size_t kPayloadLengthSamples = | 426 const size_t kPayloadLengthSamples = |
(...skipping 1031 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1425 EXPECT_CALL(*mock_delay_manager_, BufferLimits(_, _)) | 1458 EXPECT_CALL(*mock_delay_manager_, BufferLimits(_, _)) |
1426 .Times(1) | 1459 .Times(1) |
1427 .WillOnce(DoAll(SetArgPointee<0>(1), SetArgPointee<1>(2))); | 1460 .WillOnce(DoAll(SetArgPointee<0>(1), SetArgPointee<1>(2))); |
1428 | 1461 |
1429 bool muted; | 1462 bool muted; |
1430 EXPECT_EQ(NetEq::kOK, neteq_->GetAudio(&output_, &muted)); | 1463 EXPECT_EQ(NetEq::kOK, neteq_->GetAudio(&output_, &muted)); |
1431 EXPECT_EQ(kAccelerate, neteq_->last_operation_for_test()); | 1464 EXPECT_EQ(kAccelerate, neteq_->last_operation_for_test()); |
1432 } | 1465 } |
1433 | 1466 |
1434 }// namespace webrtc | 1467 }// namespace webrtc |
OLD | NEW |