aboutsummaryrefslogtreecommitdiff
path: root/webrtc/modules/rtp_rtcp/source/rtp_payload_registry_unittest.cc
diff options
context:
space:
mode:
authorMinyue Li <minyue@webrtc.org>2015-03-25 16:11:24 +0100
committerMinyue Li <minyue@webrtc.org>2015-03-25 15:11:34 +0000
commit190c3ca7a9494ad0f98c0152c13d72616122a2e9 (patch)
treea37684cb5dba30be8b2dc040049e4c4fa601c6f7 /webrtc/modules/rtp_rtcp/source/rtp_payload_registry_unittest.cc
parent79064e568ece1d89d9a7eeb8d93388823ed30a1f (diff)
downloadwebrtc-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.cc30
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,