--- a/media/webrtc/signaling/gtest/jsep_session_unittest.cpp
+++ b/media/webrtc/signaling/gtest/jsep_session_unittest.cpp
@@ -4275,19 +4275,22 @@ TEST_F(JsepSessionTest, TestAnswererIndi
ASSERT_NE(NS_OK, rv); // NS_ERROR_INVALID_ARG
}
TEST_F(JsepSessionTest, TestExtmap)
{
AddTracks(*mSessionOff, "audio");
AddTracks(*mSessionAns, "audio");
// ssrc-audio-level will be extmap 1 for both
- mSessionOff->AddAudioRtpExtension("foo"); // Default mapping of 3
- mSessionOff->AddAudioRtpExtension("bar"); // Default mapping of 4
- mSessionAns->AddAudioRtpExtension("bar"); // Default mapping of 4
+ // csrc-audio-level will be 2 for both
+ // mid will be 3 for both
+ // video related extensions take 4 and 5
+ mSessionOff->AddAudioRtpExtension("foo"); // Default mapping of 6
+ mSessionOff->AddAudioRtpExtension("bar"); // Default mapping of 7
+ mSessionAns->AddAudioRtpExtension("bar"); // Default mapping of 6
std::string offer = CreateOffer();
SetLocalOffer(offer, CHECK_SUCCESS);
SetRemoteOffer(offer, CHECK_SUCCESS);
std::string answer = CreateAnswer();
SetLocalAnswer(answer, CHECK_SUCCESS);
SetRemoteAnswer(answer, CHECK_SUCCESS);
UniquePtr<Sdp> parsedOffer(Parse(offer));
@@ -4302,48 +4305,51 @@ TEST_F(JsepSessionTest, TestExtmap)
ASSERT_EQ(1U, offerExtmap[0].entry);
ASSERT_EQ("urn:ietf:params:rtp-hdrext:csrc-audio-level",
offerExtmap[1].extensionname);
ASSERT_EQ(2U, offerExtmap[1].entry);
ASSERT_EQ("urn:ietf:params:rtp-hdrext:sdes:mid",
offerExtmap[2].extensionname);
ASSERT_EQ(3U, offerExtmap[2].entry);
ASSERT_EQ("foo", offerExtmap[3].extensionname);
- ASSERT_EQ(4U, offerExtmap[3].entry);
+ ASSERT_EQ(6U, offerExtmap[3].entry);
ASSERT_EQ("bar", offerExtmap[4].extensionname);
- ASSERT_EQ(5U, offerExtmap[4].entry);
+ ASSERT_EQ(7U, offerExtmap[4].entry);
UniquePtr<Sdp> parsedAnswer(Parse(answer));
ASSERT_EQ(1U, parsedAnswer->GetMediaSectionCount());
auto& answerMediaAttrs = parsedAnswer->GetMediaSection(0).GetAttributeList();
ASSERT_TRUE(answerMediaAttrs.HasAttribute(SdpAttribute::kExtmapAttribute));
auto& answerExtmap = answerMediaAttrs.GetExtmap().mExtmaps;
ASSERT_EQ(3U, answerExtmap.size());
ASSERT_EQ("urn:ietf:params:rtp-hdrext:ssrc-audio-level",
- offerExtmap[0].extensionname);
- ASSERT_EQ(1U, offerExtmap[0].entry);
+ answerExtmap[0].extensionname);
+ ASSERT_EQ(1U, answerExtmap[0].entry);
ASSERT_EQ("urn:ietf:params:rtp-hdrext:sdes:mid",
answerExtmap[1].extensionname);
- ASSERT_EQ(2U, offerExtmap[1].entry);
+ ASSERT_EQ(3U, answerExtmap[1].entry);
// We ensure that the entry for "bar" matches what was in the offer
ASSERT_EQ("bar", answerExtmap[2].extensionname);
- ASSERT_EQ(5U, answerExtmap[2].entry);
+ ASSERT_EQ(7U, answerExtmap[2].entry);
}
TEST_F(JsepSessionTest, TestExtmapWithDuplicates)
{
AddTracks(*mSessionOff, "audio");
AddTracks(*mSessionAns, "audio");
// ssrc-audio-level will be extmap 1 for both
- mSessionOff->AddAudioRtpExtension("foo"); // Default mapping of 3
- mSessionOff->AddAudioRtpExtension("bar"); // Default mapping of 4
+ // csrc-audio-level will be 2 for both
+ // mid will be 3 for both
+ // video related extensions take 4 and 5
+ mSessionOff->AddAudioRtpExtension("foo"); // Default mapping of 6
+ mSessionOff->AddAudioRtpExtension("bar"); // Default mapping of 7
mSessionOff->AddAudioRtpExtension("bar"); // Should be ignored
mSessionOff->AddAudioRtpExtension("bar"); // Should be ignored
- mSessionOff->AddAudioRtpExtension("baz"); // Default mapping of 5
+ mSessionOff->AddAudioRtpExtension("baz"); // Default mapping of 8
mSessionOff->AddAudioRtpExtension("bar"); // Should be ignored
std::string offer = CreateOffer();
UniquePtr<Sdp> parsedOffer(Parse(offer));
ASSERT_EQ(1U, parsedOffer->GetMediaSectionCount());
auto& offerMediaAttrs = parsedOffer->GetMediaSection(0).GetAttributeList();
ASSERT_TRUE(offerMediaAttrs.HasAttribute(SdpAttribute::kExtmapAttribute));
@@ -4354,21 +4360,21 @@ TEST_F(JsepSessionTest, TestExtmapWithDu
ASSERT_EQ(1U, offerExtmap[0].entry);
ASSERT_EQ("urn:ietf:params:rtp-hdrext:csrc-audio-level",
offerExtmap[1].extensionname);
ASSERT_EQ(2U, offerExtmap[1].entry);
ASSERT_EQ("urn:ietf:params:rtp-hdrext:sdes:mid",
offerExtmap[2].extensionname);
ASSERT_EQ(3U, offerExtmap[2].entry);
ASSERT_EQ("foo", offerExtmap[3].extensionname);
- ASSERT_EQ(4U, offerExtmap[3].entry);
+ ASSERT_EQ(6U, offerExtmap[3].entry);
ASSERT_EQ("bar", offerExtmap[4].extensionname);
- ASSERT_EQ(5U, offerExtmap[4].entry);
+ ASSERT_EQ(7U, offerExtmap[4].entry);
ASSERT_EQ("baz", offerExtmap[5].extensionname);
- ASSERT_EQ(6U, offerExtmap[5].entry);
+ ASSERT_EQ(8U, offerExtmap[5].entry);
}
TEST_F(JsepSessionTest, TestRtcpFbStar)
{
AddTracks(*mSessionOff, "video");
AddTracks(*mSessionAns, "video");