From ae566cd8315e53f3084b471507a696a8287bf338 Mon Sep 17 00:00:00 2001 From: Philipp Hancke Date: Thu, 30 Sep 2021 16:56:35 +0200 Subject: [PATCH] audio/red: provide default fmtp line otherwise the generated codec won't match the preassigned codec and red will use 96 as payload type, increasing the payload type congestion in the upper range. BUG=webrtc:11640 Change-Id: I466ed6d4e025ef116f3099e85855e10493408ab1 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/233560 Commit-Queue: Harald Alvestrand Reviewed-by: Harald Alvestrand Reviewed-by: Henrik Lundin Cr-Commit-Position: refs/heads/main@{#35130} --- media/engine/payload_type_mapper.cc | 7 ++++++- media/engine/payload_type_mapper_unittest.cc | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/media/engine/payload_type_mapper.cc b/media/engine/payload_type_mapper.cc index cbc0a5340d..c63d1d7221 100644 --- a/media/engine/payload_type_mapper.cc +++ b/media/engine/payload_type_mapper.cc @@ -73,7 +73,12 @@ PayloadTypeMapper::PayloadTypeMapper() {kCodecParamUseInbandFec, kParamValueTrue}}}, 111}, // RED for opus is assigned in the lower range, starting at the top. - {{kRedCodecName, 48000, 2}, 63}, + // Note that the FMTP refers to the opus payload type. + {{kRedCodecName, + 48000, + 2, + {{kCodecParamNotInNameValueFormat, "111/111"}}}, + 63}, // TODO(solenberg): Remove the hard coded 16k,32k,48k DTMF once we // assign payload types dynamically for send side as well. {{kDtmfCodecName, 48000, 1}, 110}, diff --git a/media/engine/payload_type_mapper_unittest.cc b/media/engine/payload_type_mapper_unittest.cc index 9c29827fa9..2d9372454b 100644 --- a/media/engine/payload_type_mapper_unittest.cc +++ b/media/engine/payload_type_mapper_unittest.cc @@ -58,7 +58,8 @@ TEST_F(PayloadTypeMapperTest, WebRTCPayloadTypes) { 48000, 2, {{"minptime", "10"}, {"useinbandfec", "1"}}})); - EXPECT_EQ(63, mapper_.FindMappingFor({kRedCodecName, 48000, 2})); + EXPECT_EQ( + 63, mapper_.FindMappingFor({kRedCodecName, 48000, 2, {{"", "111/111"}}})); // TODO(solenberg): Remove 16k, 32k, 48k DTMF checks once these payload types // are dynamically assigned. EXPECT_EQ(110, mapper_.FindMappingFor({kDtmfCodecName, 48000, 1}));