diff options
author | Chih-hung Hsieh <chh@google.com> | 2016-01-20 17:50:13 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2016-01-20 17:50:13 +0000 |
commit | b3cb8ab4ede8bb77f0bdef2715efc2c1e6267072 (patch) | |
tree | 28c4cf735dd5bd9cc8f1ccd06fff8a173b20d1cb /webrtc/modules/rtp_rtcp/source/rtp_payload_registry_unittest.cc | |
parent | a4acd9d6bc9b3b033d7d274316e75ee067df8d20 (diff) | |
parent | 9a337512d97e37afc142dee4fd50a41b741a87d2 (diff) | |
download | webrtc-nougat-mr1-flounder-release.tar.gz |
Merge "Merge upstream SHA 04cb763"android-cts_7.1_r1android-cts-7.1_r9android-cts-7.1_r8android-cts-7.1_r7android-cts-7.1_r6android-cts-7.1_r5android-cts-7.1_r4android-cts-7.1_r3android-cts-7.1_r29android-cts-7.1_r28android-cts-7.1_r27android-cts-7.1_r26android-cts-7.1_r25android-cts-7.1_r24android-cts-7.1_r23android-cts-7.1_r22android-cts-7.1_r21android-cts-7.1_r20android-cts-7.1_r2android-cts-7.1_r19android-cts-7.1_r18android-cts-7.1_r17android-cts-7.1_r16android-cts-7.1_r15android-cts-7.1_r14android-cts-7.1_r13android-cts-7.1_r12android-cts-7.1_r11android-cts-7.1_r10android-cts-7.1_r1android-cts-7.0_r9android-cts-7.0_r8android-cts-7.0_r7android-cts-7.0_r6android-cts-7.0_r5android-cts-7.0_r4android-cts-7.0_r33android-cts-7.0_r32android-cts-7.0_r31android-cts-7.0_r30android-cts-7.0_r3android-cts-7.0_r29android-cts-7.0_r28android-cts-7.0_r27android-cts-7.0_r26android-cts-7.0_r25android-cts-7.0_r24android-cts-7.0_r23android-cts-7.0_r22android-cts-7.0_r21android-cts-7.0_r20android-cts-7.0_r2android-cts-7.0_r19android-cts-7.0_r18android-cts-7.0_r17android-cts-7.0_r16android-cts-7.0_r15android-cts-7.0_r14android-cts-7.0_r13android-cts-7.0_r12android-cts-7.0_r11android-cts-7.0_r10android-cts-7.0_r1android-7.1.2_r9android-7.1.2_r8android-7.1.2_r6android-7.1.2_r5android-7.1.2_r4android-7.1.2_r39android-7.1.2_r38android-7.1.2_r37android-7.1.2_r36android-7.1.2_r33android-7.1.2_r32android-7.1.2_r30android-7.1.2_r3android-7.1.2_r29android-7.1.2_r28android-7.1.2_r27android-7.1.2_r25android-7.1.2_r24android-7.1.2_r23android-7.1.2_r2android-7.1.2_r19android-7.1.2_r18android-7.1.2_r17android-7.1.2_r16android-7.1.2_r15android-7.1.2_r14android-7.1.2_r13android-7.1.2_r12android-7.1.2_r11android-7.1.2_r10android-7.1.2_r1android-7.1.1_r9android-7.1.1_r8android-7.1.1_r7android-7.1.1_r61android-7.1.1_r60android-7.1.1_r6android-7.1.1_r59android-7.1.1_r58android-7.1.1_r57android-7.1.1_r56android-7.1.1_r55android-7.1.1_r54android-7.1.1_r53android-7.1.1_r52android-7.1.1_r51android-7.1.1_r50android-7.1.1_r49android-7.1.1_r48android-7.1.1_r47android-7.1.1_r46android-7.1.1_r45android-7.1.1_r44android-7.1.1_r43android-7.1.1_r42android-7.1.1_r41android-7.1.1_r40android-7.1.1_r4android-7.1.1_r39android-7.1.1_r38android-7.1.1_r35android-7.1.1_r33android-7.1.1_r32android-7.1.1_r31android-7.1.1_r3android-7.1.1_r28android-7.1.1_r27android-7.1.1_r26android-7.1.1_r25android-7.1.1_r24android-7.1.1_r23android-7.1.1_r22android-7.1.1_r21android-7.1.1_r20android-7.1.1_r2android-7.1.1_r17android-7.1.1_r16android-7.1.1_r15android-7.1.1_r14android-7.1.1_r13android-7.1.1_r12android-7.1.1_r11android-7.1.1_r10android-7.1.1_r1android-7.1.0_r7android-7.1.0_r6android-7.1.0_r5android-7.1.0_r4android-7.1.0_r3android-7.1.0_r2android-7.1.0_r1android-7.0.0_r9android-7.0.0_r8android-7.0.0_r7android-7.0.0_r6android-7.0.0_r5android-7.0.0_r4android-7.0.0_r36android-7.0.0_r35android-7.0.0_r34android-7.0.0_r33android-7.0.0_r32android-7.0.0_r31android-7.0.0_r30android-7.0.0_r3android-7.0.0_r29android-7.0.0_r28android-7.0.0_r27android-7.0.0_r24android-7.0.0_r21android-7.0.0_r19android-7.0.0_r17android-7.0.0_r15android-7.0.0_r14android-7.0.0_r13android-7.0.0_r12android-7.0.0_r11android-7.0.0_r10android-7.0.0_r1nougat-releasenougat-mr2.3-releasenougat-mr2.2-releasenougat-mr2.1-releasenougat-mr2-security-releasenougat-mr2-releasenougat-mr2-pixel-releasenougat-mr2-devnougat-mr1.8-releasenougat-mr1.7-releasenougat-mr1.6-releasenougat-mr1.5-releasenougat-mr1.4-releasenougat-mr1.3-releasenougat-mr1.2-releasenougat-mr1.1-releasenougat-mr1-volantis-releasenougat-mr1-security-releasenougat-mr1-releasenougat-mr1-flounder-releasenougat-mr1-devnougat-mr1-cts-releasenougat-mr0.5-releasenougat-dr1-releasenougat-devnougat-cts-releasenougat-bugfix-release
am: 9a337512d9
* commit '9a337512d97e37afc142dee4fd50a41b741a87d2': (797 commits)
Add tests for verifying transport feedback for audio and video.
Eliminate defines in talk/
Revert of Update with new default boringssl no-aes cipher suites. Re-enable tests. (patchset #3 id:40001 of https://codereview.webrtc.org/1550773002/ )
Remove assert which was incorrectly added to TcpPort::OnSentPacket.
Reland Connect TurnPort and TCPPort to AsyncPacketSocket::SignalSentPacket.
Update with new default boringssl no-aes cipher suites. Re-enable tests.
Revert of Connect TurnPort and TCPPort to AsyncPacketSocket::SignalSentPacket. (patchset #3 id:40001 of https://codereview.webrtc.org/1577873003/ )
Re-land: "Use an explicit identifier in Config"
Connect TurnPort and TCPPort to AsyncPacketSocket::SignalSentPacket.
Revert of Delete remnants of non-square pixel support from cricket::VideoFrame. (patchset #1 id:1 of https://codereview.webrtc.org/1586613002/ )
Remove libfuzzer trybot from default trybot set.
Add ramp-up tests for transport sequence number with and w/o audio.
Delete remnants of non-square pixel support from cricket::VideoFrame.
Fix IPAddress::ToSensitiveString() to avoid dependency on inet_ntop().
Revert of Storing raw audio sink for default audio track. (patchset #7 id:120001 of https://codereview.chromium.org/1551813002/ )
Re-enable tests that failed under Linux_Msan.
Revert of Use an explicit identifier in Config (patchset #4 id:60001 of https://codereview.webrtc.org/1538643004/ )
Roll chromium_revision 346fea9..099be58 (369082:369139)
Disable WebRtcVideoChannel2BaseTest.SendManyResizeOnce for TSan
Add build_protobuf variable.
...
Diffstat (limited to 'webrtc/modules/rtp_rtcp/source/rtp_payload_registry_unittest.cc')
-rw-r--r-- | webrtc/modules/rtp_rtcp/source/rtp_payload_registry_unittest.cc | 141 |
1 files changed, 68 insertions, 73 deletions
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_payload_registry_unittest.cc b/webrtc/modules/rtp_rtcp/source/rtp_payload_registry_unittest.cc index 0b9bf2751e..b73666d1af 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_payload_registry_unittest.cc +++ b/webrtc/modules/rtp_rtcp/source/rtp_payload_registry_unittest.cc @@ -8,12 +8,12 @@ * be found in the AUTHORS file in the root of the source tree. */ -#include "webrtc/modules/rtp_rtcp/interface/rtp_payload_registry.h" +#include "webrtc/modules/rtp_rtcp/include/rtp_payload_registry.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" #include "webrtc/base/scoped_ptr.h" -#include "webrtc/modules/rtp_rtcp/interface/rtp_header_parser.h" +#include "webrtc/modules/rtp_rtcp/include/rtp_header_parser.h" #include "webrtc/modules/rtp_rtcp/source/byte_io.h" #include "webrtc/modules/rtp_rtcp/source/mock/mock_rtp_payload_strategy.h" #include "webrtc/modules/rtp_rtcp/source/rtp_utility.h" @@ -25,7 +25,7 @@ using ::testing::Return; using ::testing::_; static const char* kTypicalPayloadName = "name"; -static const uint8_t kTypicalChannels = 1; +static const size_t kTypicalChannels = 1; static const int kTypicalFrequency = 44000; static const int kTypicalRate = 32 * 1024; @@ -52,10 +52,9 @@ class RtpPayloadRegistryTest : public ::testing::Test { RtpUtility::Payload* returned_payload_on_heap = new RtpUtility::Payload(returned_payload); EXPECT_CALL(*mock_payload_strategy_, - CreatePayloadType(kTypicalPayloadName, payload_type, - kTypicalFrequency, - kTypicalChannels, - rate)).WillOnce(Return(returned_payload_on_heap)); + CreatePayloadType(kTypicalPayloadName, payload_type, + kTypicalFrequency, kTypicalChannels, rate)) + .WillOnce(Return(returned_payload_on_heap)); return returned_payload_on_heap; } @@ -70,14 +69,14 @@ TEST_F(RtpPayloadRegistryTest, RegistersAndRemembersPayloadsUntilDeregistered) { bool new_payload_created = false; EXPECT_EQ(0, rtp_payload_registry_->RegisterReceivePayload( - kTypicalPayloadName, payload_type, kTypicalFrequency, kTypicalChannels, - kTypicalRate, &new_payload_created)); + kTypicalPayloadName, payload_type, kTypicalFrequency, + kTypicalChannels, kTypicalRate, &new_payload_created)); EXPECT_TRUE(new_payload_created) << "A new payload WAS created."; - RtpUtility::Payload* retrieved_payload = NULL; - EXPECT_TRUE(rtp_payload_registry_->PayloadTypeToPayload(payload_type, - retrieved_payload)); + const RtpUtility::Payload* retrieved_payload = + rtp_payload_registry_->PayloadTypeToPayload(payload_type); + EXPECT_TRUE(retrieved_payload); // We should get back the exact pointer to the payload returned by the // payload strategy. @@ -85,32 +84,30 @@ TEST_F(RtpPayloadRegistryTest, RegistersAndRemembersPayloadsUntilDeregistered) { // Now forget about it and verify it's gone. EXPECT_EQ(0, rtp_payload_registry_->DeRegisterReceivePayload(payload_type)); - EXPECT_FALSE(rtp_payload_registry_->PayloadTypeToPayload( - payload_type, retrieved_payload)); + EXPECT_FALSE(rtp_payload_registry_->PayloadTypeToPayload(payload_type)); } TEST_F(RtpPayloadRegistryTest, AudioRedWorkProperly) { const uint8_t kRedPayloadType = 127; const int kRedSampleRate = 8000; - const int kRedChannels = 1; + const size_t kRedChannels = 1; const int kRedBitRate = 0; // This creates an audio RTP payload strategy. - rtp_payload_registry_.reset(new RTPPayloadRegistry( - RTPPayloadStrategy::CreateStrategy(true))); + rtp_payload_registry_.reset( + new RTPPayloadRegistry(RTPPayloadStrategy::CreateStrategy(true))); bool new_payload_created = false; EXPECT_EQ(0, rtp_payload_registry_->RegisterReceivePayload( - "red", kRedPayloadType, kRedSampleRate, kRedChannels, kRedBitRate, - &new_payload_created)); + "red", kRedPayloadType, kRedSampleRate, kRedChannels, + kRedBitRate, &new_payload_created)); EXPECT_TRUE(new_payload_created); EXPECT_EQ(kRedPayloadType, rtp_payload_registry_->red_payload_type()); - RtpUtility::Payload* retrieved_payload = NULL; - EXPECT_TRUE(rtp_payload_registry_->PayloadTypeToPayload(kRedPayloadType, - retrieved_payload)); - ASSERT_TRUE(retrieved_payload); + const RtpUtility::Payload* retrieved_payload = + rtp_payload_registry_->PayloadTypeToPayload(kRedPayloadType); + EXPECT_TRUE(retrieved_payload); EXPECT_TRUE(retrieved_payload->audio); EXPECT_STRCASEEQ("red", retrieved_payload->name); @@ -127,27 +124,29 @@ TEST_F(RtpPayloadRegistryTest, RtpUtility::Payload* first_payload_on_heap = ExpectReturnOfTypicalAudioPayload(payload_type, kTypicalRate); EXPECT_EQ(0, rtp_payload_registry_->RegisterReceivePayload( - kTypicalPayloadName, payload_type, kTypicalFrequency, kTypicalChannels, - kTypicalRate, &ignored)); + kTypicalPayloadName, payload_type, kTypicalFrequency, + kTypicalChannels, kTypicalRate, &ignored)); EXPECT_EQ(-1, rtp_payload_registry_->RegisterReceivePayload( - kTypicalPayloadName, payload_type, kTypicalFrequency, kTypicalChannels, - kTypicalRate, &ignored)) << "Adding same codec twice = bad."; + kTypicalPayloadName, payload_type, kTypicalFrequency, + kTypicalChannels, kTypicalRate, &ignored)) + << "Adding same codec twice = bad."; RtpUtility::Payload* second_payload_on_heap = ExpectReturnOfTypicalAudioPayload(payload_type - 1, kTypicalRate); EXPECT_EQ(0, rtp_payload_registry_->RegisterReceivePayload( - kTypicalPayloadName, payload_type - 1, kTypicalFrequency, - kTypicalChannels, kTypicalRate, &ignored)) << - "With a different payload type is fine though."; + kTypicalPayloadName, payload_type - 1, kTypicalFrequency, + kTypicalChannels, kTypicalRate, &ignored)) + << "With a different payload type is fine though."; // Ensure both payloads are preserved. - RtpUtility::Payload* retrieved_payload = NULL; - EXPECT_TRUE(rtp_payload_registry_->PayloadTypeToPayload(payload_type, - retrieved_payload)); + const RtpUtility::Payload* retrieved_payload = + rtp_payload_registry_->PayloadTypeToPayload(payload_type); + EXPECT_TRUE(retrieved_payload); EXPECT_EQ(first_payload_on_heap, retrieved_payload); - EXPECT_TRUE(rtp_payload_registry_->PayloadTypeToPayload(payload_type - 1, - retrieved_payload)); + retrieved_payload = + rtp_payload_registry_->PayloadTypeToPayload(payload_type - 1); + EXPECT_TRUE(retrieved_payload); EXPECT_EQ(second_payload_on_heap, retrieved_payload); // Ok, update the rate for one of the codecs. If either the incoming rate or @@ -158,8 +157,8 @@ TEST_F(RtpPayloadRegistryTest, EXPECT_CALL(*mock_payload_strategy_, UpdatePayloadRate(first_payload_on_heap, kTypicalRate)); EXPECT_EQ(0, rtp_payload_registry_->RegisterReceivePayload( - kTypicalPayloadName, payload_type, kTypicalFrequency, kTypicalChannels, - kTypicalRate, &ignored)); + kTypicalPayloadName, payload_type, kTypicalFrequency, + kTypicalChannels, kTypicalRate, &ignored)); } TEST_F(RtpPayloadRegistryTest, @@ -174,35 +173,31 @@ TEST_F(RtpPayloadRegistryTest, bool ignored = false; ExpectReturnOfTypicalAudioPayload(payload_type, kTypicalRate); EXPECT_EQ(0, rtp_payload_registry_->RegisterReceivePayload( - kTypicalPayloadName, payload_type, kTypicalFrequency, kTypicalChannels, - kTypicalRate, &ignored)); + kTypicalPayloadName, payload_type, kTypicalFrequency, + kTypicalChannels, kTypicalRate, &ignored)); ExpectReturnOfTypicalAudioPayload(payload_type - 1, kTypicalRate); EXPECT_EQ(0, rtp_payload_registry_->RegisterReceivePayload( - kTypicalPayloadName, payload_type - 1, kTypicalFrequency, - kTypicalChannels, kTypicalRate, &ignored)); + kTypicalPayloadName, payload_type - 1, kTypicalFrequency, + kTypicalChannels, kTypicalRate, &ignored)); - RtpUtility::Payload* retrieved_payload = NULL; - EXPECT_FALSE(rtp_payload_registry_->PayloadTypeToPayload( - payload_type, retrieved_payload)) << "The first payload should be " - "deregistered because the only thing that differs is payload type."; - EXPECT_TRUE(rtp_payload_registry_->PayloadTypeToPayload( - payload_type - 1, retrieved_payload)) << - "The second payload should still be registered though."; + EXPECT_FALSE(rtp_payload_registry_->PayloadTypeToPayload(payload_type)) + << "The first payload should be " + "deregistered because the only thing that differs is payload type."; + EXPECT_TRUE(rtp_payload_registry_->PayloadTypeToPayload(payload_type - 1)) + << "The second payload should still be registered though."; // Now ensure non-compatible codecs aren't removed. ON_CALL(*mock_payload_strategy_, PayloadIsCompatible(_, _, _, _)) .WillByDefault(Return(false)); ExpectReturnOfTypicalAudioPayload(payload_type + 1, kTypicalRate); EXPECT_EQ(0, rtp_payload_registry_->RegisterReceivePayload( - kTypicalPayloadName, payload_type + 1, kTypicalFrequency, - kTypicalChannels, kTypicalRate, &ignored)); - - EXPECT_TRUE(rtp_payload_registry_->PayloadTypeToPayload( - payload_type - 1, retrieved_payload)) << - "Not compatible; both payloads should be kept."; - EXPECT_TRUE(rtp_payload_registry_->PayloadTypeToPayload( - payload_type + 1, retrieved_payload)) << - "Not compatible; both payloads should be kept."; + kTypicalPayloadName, payload_type + 1, kTypicalFrequency, + kTypicalChannels, kTypicalRate, &ignored)); + + EXPECT_TRUE(rtp_payload_registry_->PayloadTypeToPayload(payload_type - 1)) + << "Not compatible; both payloads should be kept."; + EXPECT_TRUE(rtp_payload_registry_->PayloadTypeToPayload(payload_type + 1)) + << "Not compatible; both payloads should be kept."; } TEST_F(RtpPayloadRegistryTest, @@ -218,18 +213,17 @@ TEST_F(RtpPayloadRegistryTest, bool ignored; ExpectReturnOfTypicalAudioPayload(34, kTypicalRate); EXPECT_EQ(0, rtp_payload_registry_->RegisterReceivePayload( - kTypicalPayloadName, 34, kTypicalFrequency, kTypicalChannels, - kTypicalRate, &ignored)); + kTypicalPayloadName, 34, kTypicalFrequency, kTypicalChannels, + kTypicalRate, &ignored)); EXPECT_EQ(-1, rtp_payload_registry_->last_received_payload_type()); media_type_unchanged = rtp_payload_registry_->ReportMediaPayloadType(18); EXPECT_FALSE(media_type_unchanged); } -class ParameterizedRtpPayloadRegistryTest : - public RtpPayloadRegistryTest, - public ::testing::WithParamInterface<int> { -}; +class ParameterizedRtpPayloadRegistryTest + : public RtpPayloadRegistryTest, + public ::testing::WithParamInterface<int> {}; TEST_P(ParameterizedRtpPayloadRegistryTest, FailsToRegisterKnownPayloadsWeAreNotInterestedIn) { @@ -237,26 +231,26 @@ TEST_P(ParameterizedRtpPayloadRegistryTest, bool ignored; EXPECT_EQ(-1, rtp_payload_registry_->RegisterReceivePayload( - "whatever", static_cast<uint8_t>(payload_type), 19, 1, 17, &ignored)); + "whatever", static_cast<uint8_t>(payload_type), 19, 1, 17, + &ignored)); } INSTANTIATE_TEST_CASE_P(TestKnownBadPayloadTypes, ParameterizedRtpPayloadRegistryTest, testing::Values(64, 72, 73, 74, 75, 76, 77, 78, 79)); -class RtpPayloadRegistryGenericTest : - public RtpPayloadRegistryTest, - public ::testing::WithParamInterface<int> { -}; +class RtpPayloadRegistryGenericTest + : public RtpPayloadRegistryTest, + public ::testing::WithParamInterface<int> {}; TEST_P(RtpPayloadRegistryGenericTest, RegisterGenericReceivePayloadType) { int payload_type = GetParam(); bool ignored; - EXPECT_EQ(0, rtp_payload_registry_->RegisterReceivePayload("generic-codec", - static_cast<int8_t>(payload_type), - 19, 1, 17, &ignored)); // dummy values, except for payload_type + EXPECT_EQ(0, rtp_payload_registry_->RegisterReceivePayload( + "generic-codec", static_cast<int8_t>(payload_type), 19, 1, + 17, &ignored)); // dummy values, except for payload_type } // Generates an RTX packet for the given length and original sequence number. @@ -395,7 +389,8 @@ TEST_F(RtpPayloadRegistryTest, InvalidRtxConfiguration) { TestRtxPacket(rtp_payload_registry_.get(), 106, 0, false); } -INSTANTIATE_TEST_CASE_P(TestDynamicRange, RtpPayloadRegistryGenericTest, - testing::Range(96, 127+1)); +INSTANTIATE_TEST_CASE_P(TestDynamicRange, + RtpPayloadRegistryGenericTest, + testing::Range(96, 127 + 1)); } // namespace webrtc |