Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Side by Side Diff: webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc

Issue 1272343003: Separating voice activity flag from audio level in RtpHeaderExtension. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: removing redundant comments Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 313
314 ASSERT_TRUE(valid_rtp_header); 314 ASSERT_TRUE(valid_rtp_header);
315 ASSERT_FALSE(rtp_parser.RTCP()); 315 ASSERT_FALSE(rtp_parser.RTCP());
316 VerifyRTPHeaderCommon(rtp_header); 316 VerifyRTPHeaderCommon(rtp_header);
317 EXPECT_EQ(length, rtp_header.headerLength); 317 EXPECT_EQ(length, rtp_header.headerLength);
318 EXPECT_FALSE(rtp_header.extension.hasTransmissionTimeOffset); 318 EXPECT_FALSE(rtp_header.extension.hasTransmissionTimeOffset);
319 EXPECT_FALSE(rtp_header.extension.hasAbsoluteSendTime); 319 EXPECT_FALSE(rtp_header.extension.hasAbsoluteSendTime);
320 EXPECT_FALSE(rtp_header.extension.hasAudioLevel); 320 EXPECT_FALSE(rtp_header.extension.hasAudioLevel);
321 EXPECT_EQ(0, rtp_header.extension.transmissionTimeOffset); 321 EXPECT_EQ(0, rtp_header.extension.transmissionTimeOffset);
322 EXPECT_EQ(0u, rtp_header.extension.absoluteSendTime); 322 EXPECT_EQ(0u, rtp_header.extension.absoluteSendTime);
323 EXPECT_FALSE(rtp_header.extension.voiceActivity);
323 EXPECT_EQ(0u, rtp_header.extension.audioLevel); 324 EXPECT_EQ(0u, rtp_header.extension.audioLevel);
324 EXPECT_EQ(0u, rtp_header.extension.videoRotation); 325 EXPECT_EQ(0u, rtp_header.extension.videoRotation);
325 } 326 }
326 327
327 TEST_F(RtpSenderTest, BuildRTPPacketWithTransmissionOffsetExtension) { 328 TEST_F(RtpSenderTest, BuildRTPPacketWithTransmissionOffsetExtension) {
328 EXPECT_EQ(0, rtp_sender_->SetTransmissionTimeOffset(kTimeOffset)); 329 EXPECT_EQ(0, rtp_sender_->SetTransmissionTimeOffset(kTimeOffset));
329 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( 330 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
330 kRtpExtensionTransmissionTimeOffset, kTransmissionTimeOffsetExtensionId)); 331 kRtpExtensionTransmissionTimeOffset, kTransmissionTimeOffsetExtensionId));
331 332
332 size_t length = static_cast<size_t>(rtp_sender_->BuildRTPheader( 333 size_t length = static_cast<size_t>(rtp_sender_->BuildRTPheader(
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
497 498
498 RtpHeaderExtensionMap map; 499 RtpHeaderExtensionMap map;
499 map.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId); 500 map.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId);
500 const bool valid_rtp_header = rtp_parser.Parse(rtp_header, &map); 501 const bool valid_rtp_header = rtp_parser.Parse(rtp_header, &map);
501 502
502 ASSERT_TRUE(valid_rtp_header); 503 ASSERT_TRUE(valid_rtp_header);
503 ASSERT_FALSE(rtp_parser.RTCP()); 504 ASSERT_FALSE(rtp_parser.RTCP());
504 VerifyRTPHeaderCommon(rtp_header); 505 VerifyRTPHeaderCommon(rtp_header);
505 EXPECT_EQ(length, rtp_header.headerLength); 506 EXPECT_EQ(length, rtp_header.headerLength);
506 EXPECT_TRUE(rtp_header.extension.hasAudioLevel); 507 EXPECT_TRUE(rtp_header.extension.hasAudioLevel);
507 // Expect kAudioLevel + 0x80 because we set "voiced" to true in the call to 508 EXPECT_TRUE(rtp_header.extension.voiceActivity);
508 // UpdateAudioLevel(), above. 509 EXPECT_EQ(kAudioLevel, rtp_header.extension.audioLevel);
509 EXPECT_EQ(kAudioLevel + 0x80u, rtp_header.extension.audioLevel);
510 510
511 // Parse without map extension 511 // Parse without map extension
512 webrtc::RTPHeader rtp_header2; 512 webrtc::RTPHeader rtp_header2;
513 const bool valid_rtp_header2 = rtp_parser.Parse(rtp_header2, nullptr); 513 const bool valid_rtp_header2 = rtp_parser.Parse(rtp_header2, nullptr);
514 514
515 ASSERT_TRUE(valid_rtp_header2); 515 ASSERT_TRUE(valid_rtp_header2);
516 VerifyRTPHeaderCommon(rtp_header2); 516 VerifyRTPHeaderCommon(rtp_header2);
517 EXPECT_EQ(length, rtp_header2.headerLength); 517 EXPECT_EQ(length, rtp_header2.headerLength);
518 EXPECT_FALSE(rtp_header2.extension.hasAudioLevel); 518 EXPECT_FALSE(rtp_header2.extension.hasAudioLevel);
519 EXPECT_FALSE(rtp_header2.extension.voiceActivity);
519 EXPECT_EQ(0u, rtp_header2.extension.audioLevel); 520 EXPECT_EQ(0u, rtp_header2.extension.audioLevel);
520 } 521 }
521 522
522 TEST_F(RtpSenderTest, BuildRTPPacketWithHeaderExtensions) { 523 TEST_F(RtpSenderTest, BuildRTPPacketWithHeaderExtensions) {
523 EXPECT_EQ(0, rtp_sender_->SetTransmissionTimeOffset(kTimeOffset)); 524 EXPECT_EQ(0, rtp_sender_->SetTransmissionTimeOffset(kTimeOffset));
524 EXPECT_EQ(0, rtp_sender_->SetAbsoluteSendTime(kAbsoluteSendTime)); 525 EXPECT_EQ(0, rtp_sender_->SetAbsoluteSendTime(kAbsoluteSendTime));
525 EXPECT_EQ(0, 526 EXPECT_EQ(0,
526 rtp_sender_->SetTransportSequenceNumber(kTransportSequenceNumber)); 527 rtp_sender_->SetTransportSequenceNumber(kTransportSequenceNumber));
527 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( 528 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
528 kRtpExtensionTransmissionTimeOffset, kTransmissionTimeOffsetExtensionId)); 529 kRtpExtensionTransmissionTimeOffset, kTransmissionTimeOffsetExtensionId));
(...skipping 30 matching lines...) Expand all
559 ASSERT_TRUE(valid_rtp_header); 560 ASSERT_TRUE(valid_rtp_header);
560 ASSERT_FALSE(rtp_parser.RTCP()); 561 ASSERT_FALSE(rtp_parser.RTCP());
561 VerifyRTPHeaderCommon(rtp_header); 562 VerifyRTPHeaderCommon(rtp_header);
562 EXPECT_EQ(length, rtp_header.headerLength); 563 EXPECT_EQ(length, rtp_header.headerLength);
563 EXPECT_TRUE(rtp_header.extension.hasTransmissionTimeOffset); 564 EXPECT_TRUE(rtp_header.extension.hasTransmissionTimeOffset);
564 EXPECT_TRUE(rtp_header.extension.hasAbsoluteSendTime); 565 EXPECT_TRUE(rtp_header.extension.hasAbsoluteSendTime);
565 EXPECT_TRUE(rtp_header.extension.hasAudioLevel); 566 EXPECT_TRUE(rtp_header.extension.hasAudioLevel);
566 EXPECT_TRUE(rtp_header.extension.hasTransportSequenceNumber); 567 EXPECT_TRUE(rtp_header.extension.hasTransportSequenceNumber);
567 EXPECT_EQ(kTimeOffset, rtp_header.extension.transmissionTimeOffset); 568 EXPECT_EQ(kTimeOffset, rtp_header.extension.transmissionTimeOffset);
568 EXPECT_EQ(kAbsoluteSendTime, rtp_header.extension.absoluteSendTime); 569 EXPECT_EQ(kAbsoluteSendTime, rtp_header.extension.absoluteSendTime);
569 EXPECT_EQ(kAudioLevel + 0x80u, rtp_header.extension.audioLevel); 570 EXPECT_TRUE(rtp_header.extension.voiceActivity);
571 EXPECT_EQ(kAudioLevel, rtp_header.extension.audioLevel);
570 EXPECT_EQ(kTransportSequenceNumber, 572 EXPECT_EQ(kTransportSequenceNumber,
571 rtp_header.extension.transportSequenceNumber); 573 rtp_header.extension.transportSequenceNumber);
572 574
573 // Parse without map extension 575 // Parse without map extension
574 webrtc::RTPHeader rtp_header2; 576 webrtc::RTPHeader rtp_header2;
575 const bool valid_rtp_header2 = rtp_parser.Parse(rtp_header2, nullptr); 577 const bool valid_rtp_header2 = rtp_parser.Parse(rtp_header2, nullptr);
576 578
577 ASSERT_TRUE(valid_rtp_header2); 579 ASSERT_TRUE(valid_rtp_header2);
578 VerifyRTPHeaderCommon(rtp_header2); 580 VerifyRTPHeaderCommon(rtp_header2);
579 EXPECT_EQ(length, rtp_header2.headerLength); 581 EXPECT_EQ(length, rtp_header2.headerLength);
580 EXPECT_FALSE(rtp_header2.extension.hasTransmissionTimeOffset); 582 EXPECT_FALSE(rtp_header2.extension.hasTransmissionTimeOffset);
581 EXPECT_FALSE(rtp_header2.extension.hasAbsoluteSendTime); 583 EXPECT_FALSE(rtp_header2.extension.hasAbsoluteSendTime);
582 EXPECT_FALSE(rtp_header2.extension.hasAudioLevel); 584 EXPECT_FALSE(rtp_header2.extension.hasAudioLevel);
583 EXPECT_FALSE(rtp_header2.extension.hasTransportSequenceNumber); 585 EXPECT_FALSE(rtp_header2.extension.hasTransportSequenceNumber);
584 586
585 EXPECT_EQ(0, rtp_header2.extension.transmissionTimeOffset); 587 EXPECT_EQ(0, rtp_header2.extension.transmissionTimeOffset);
586 EXPECT_EQ(0u, rtp_header2.extension.absoluteSendTime); 588 EXPECT_EQ(0u, rtp_header2.extension.absoluteSendTime);
589 EXPECT_FALSE(rtp_header2.extension.voiceActivity);
587 EXPECT_EQ(0u, rtp_header2.extension.audioLevel); 590 EXPECT_EQ(0u, rtp_header2.extension.audioLevel);
588 EXPECT_EQ(0u, rtp_header2.extension.transportSequenceNumber); 591 EXPECT_EQ(0u, rtp_header2.extension.transportSequenceNumber);
589 } 592 }
590 593
591 TEST_F(RtpSenderTest, TrafficSmoothingWithExtensions) { 594 TEST_F(RtpSenderTest, TrafficSmoothingWithExtensions) {
592 EXPECT_CALL(mock_paced_sender_, 595 EXPECT_CALL(mock_paced_sender_,
593 SendPacket(PacedSender::kNormalPriority, _, kSeqNum, _, _, _)). 596 SendPacket(PacedSender::kNormalPriority, _, kSeqNum, _, _, _)).
594 WillOnce(testing::Return(false)); 597 WillOnce(testing::Return(false));
595 598
596 rtp_sender_->SetStorePacketsStatus(true, 10); 599 rtp_sender_->SetStorePacketsStatus(true, 10);
(...skipping 773 matching lines...) Expand 10 before | Expand all | Expand 10 after
1370 reinterpret_cast<uint8_t*>(transport_.sent_packets_[0]->data()), 1373 reinterpret_cast<uint8_t*>(transport_.sent_packets_[0]->data()),
1371 transport_.sent_packets_[0]->size(), true, &map, kSeqNum, hdr.rotation); 1374 transport_.sent_packets_[0]->size(), true, &map, kSeqNum, hdr.rotation);
1372 1375
1373 // Verify that this packet does have CVO byte. 1376 // Verify that this packet does have CVO byte.
1374 VerifyCVOPacket( 1377 VerifyCVOPacket(
1375 reinterpret_cast<uint8_t*>(transport_.sent_packets_[1]->data()), 1378 reinterpret_cast<uint8_t*>(transport_.sent_packets_[1]->data()),
1376 transport_.sent_packets_[1]->size(), true, &map, kSeqNum + 1, 1379 transport_.sent_packets_[1]->size(), true, &map, kSeqNum + 1,
1377 hdr.rotation); 1380 hdr.rotation);
1378 } 1381 }
1379 } // namespace webrtc 1382 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/audio_coding/neteq/tools/rtp_analyze.cc ('k') | webrtc/modules/rtp_rtcp/source/rtp_utility.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698