diff options
author | Minyue Li <minyue@webrtc.org> | 2015-03-25 16:11:24 +0100 |
---|---|---|
committer | Minyue Li <minyue@webrtc.org> | 2015-03-25 15:11:34 +0000 |
commit | 190c3ca7a9494ad0f98c0152c13d72616122a2e9 (patch) | |
tree | a37684cb5dba30be8b2dc040049e4c4fa601c6f7 /webrtc/modules/rtp_rtcp/source/rtp_payload_registry_unittest.cc | |
parent | 79064e568ece1d89d9a7eeb8d93388823ed30a1f (diff) | |
download | webrtc-190c3ca7a9494ad0f98c0152c13d72616122a2e9.tar.gz |
Register sample rate of Audio RED in RTPPayloadRegistry.
Sample rate of RED payload type was not registered. And therefore VoE can fail when it receives RED packets. This is a fix to this problem.
BUG=3619
R=henrik.lundin@webrtc.org, stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/43919004
Cr-Commit-Position: refs/heads/master@{#8859}
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 | 30 |
1 files changed, 20 insertions, 10 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 3dd3d7dd1a..5026986858 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_payload_registry_unittest.cc +++ b/webrtc/modules/rtp_rtcp/source/rtp_payload_registry_unittest.cc @@ -87,24 +87,34 @@ TEST_F(RtpPayloadRegistryTest, RegistersAndRemembersPayloadsUntilDeregistered) { payload_type, retrieved_payload)); } -TEST_F(RtpPayloadRegistryTest, DoesNotCreateNewPayloadTypeIfRed) { - EXPECT_CALL(*mock_payload_strategy_, - CreatePayloadType(_, _, _, _, _)).Times(0); +TEST_F(RtpPayloadRegistryTest, AudioRedWorkProperly) { + const uint8_t kRedPayloadType = 127; + const int kRedSampleRate = 8000; + const int kRedChannels = 1; + const int kRedBitRate = 0; + + // This creates an audio RTP payload strategy. + rtp_payload_registry_.reset(new RTPPayloadRegistry( + RTPPayloadStrategy::CreateStrategy(true))); bool new_payload_created = false; - uint8_t red_type_of_the_day = 104; EXPECT_EQ(0, rtp_payload_registry_->RegisterReceivePayload( - "red", red_type_of_the_day, kTypicalFrequency, kTypicalChannels, - kTypicalRate, &new_payload_created)); - ASSERT_FALSE(new_payload_created); + "red", kRedPayloadType, kRedSampleRate, kRedChannels, kRedBitRate, + &new_payload_created)); + EXPECT_TRUE(new_payload_created); - ASSERT_EQ(red_type_of_the_day, rtp_payload_registry_->red_payload_type()); + EXPECT_EQ(kRedPayloadType, rtp_payload_registry_->red_payload_type()); RtpUtility::Payload* retrieved_payload = NULL; - EXPECT_TRUE(rtp_payload_registry_->PayloadTypeToPayload(red_type_of_the_day, + EXPECT_TRUE(rtp_payload_registry_->PayloadTypeToPayload(kRedPayloadType, retrieved_payload)); - EXPECT_FALSE(retrieved_payload->audio); + ASSERT_TRUE(retrieved_payload); + EXPECT_TRUE(retrieved_payload->audio); EXPECT_STRCASEEQ("red", retrieved_payload->name); + + // Sample rate is correctly registered. + EXPECT_EQ(kRedSampleRate, + rtp_payload_registry_->GetPayloadTypeFrequency(kRedPayloadType)); } TEST_F(RtpPayloadRegistryTest, |