| 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 302 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 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  Loading... | 
| 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  Loading... | 
| 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  Loading... | 
| 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 | 
| OLD | NEW | 
|---|