introduce an unsupported content description type
This carries around unsupported content descriptions (i.e. things where webrtc does not understand the media type or protocol) in a special data type so that a rejected content or mediasection is added to the answer SDP. BUG=webrtc:3513 Change-Id: Ifc4168eae11e899f2504649de5e1eecb6801a9fb Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/179082 Reviewed-by: Kári Helgason <kthelgason@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com> Cr-Commit-Position: refs/heads/master@{#32410}
This commit is contained in:
committed by
Commit Bot
parent
a2b31c35ff
commit
239f92ecf7
@ -2991,7 +2991,8 @@ TEST_F(WebRtcSdpTest, DeserializeSdpWithSctpDataChannelsButWrongMediaType) {
|
||||
JsepSessionDescription jdesc_output(kDummyType);
|
||||
EXPECT_TRUE(SdpDeserialize(sdp, &jdesc_output));
|
||||
|
||||
EXPECT_EQ(0u, jdesc_output.description()->contents().size());
|
||||
EXPECT_EQ(1u, jdesc_output.description()->contents().size());
|
||||
EXPECT_TRUE(jdesc_output.description()->contents()[0].rejected);
|
||||
}
|
||||
|
||||
// Helper function to set the max-message-size parameter in the
|
||||
@ -4725,21 +4726,32 @@ TEST_F(WebRtcSdpTest, DeserializeSessionDescriptionWithoutCname) {
|
||||
}
|
||||
|
||||
TEST_F(WebRtcSdpTest, DeserializeSdpWithUnsupportedMediaType) {
|
||||
bool use_sctpmap = true;
|
||||
AddSctpDataChannel(use_sctpmap);
|
||||
JsepSessionDescription jdesc(kDummyType);
|
||||
ASSERT_TRUE(jdesc.Initialize(desc_.Clone(), kSessionId, kSessionVersion));
|
||||
|
||||
std::string sdp = kSdpSessionString;
|
||||
sdp +=
|
||||
"m=bogus 9 RTP/SAVPF 0 8\r\n"
|
||||
"c=IN IP4 0.0.0.0\r\n";
|
||||
"c=IN IP4 0.0.0.0\r\n"
|
||||
"a=mid:bogusmid\r\n";
|
||||
sdp +=
|
||||
"m=audio/something 9 RTP/SAVPF 0 8\r\n"
|
||||
"c=IN IP4 0.0.0.0\r\n";
|
||||
"c=IN IP4 0.0.0.0\r\n"
|
||||
"a=mid:somethingmid\r\n";
|
||||
|
||||
JsepSessionDescription jdesc_output(kDummyType);
|
||||
EXPECT_TRUE(SdpDeserialize(sdp, &jdesc_output));
|
||||
|
||||
EXPECT_EQ(0u, jdesc_output.description()->contents().size());
|
||||
ASSERT_EQ(2u, jdesc_output.description()->contents().size());
|
||||
ASSERT_NE(nullptr, jdesc_output.description()
|
||||
->contents()[0]
|
||||
.media_description()
|
||||
->as_unsupported());
|
||||
ASSERT_NE(nullptr, jdesc_output.description()
|
||||
->contents()[1]
|
||||
.media_description()
|
||||
->as_unsupported());
|
||||
|
||||
EXPECT_TRUE(jdesc_output.description()->contents()[0].rejected);
|
||||
EXPECT_TRUE(jdesc_output.description()->contents()[1].rejected);
|
||||
|
||||
EXPECT_EQ(jdesc_output.description()->contents()[0].name, "bogusmid");
|
||||
EXPECT_EQ(jdesc_output.description()->contents()[1].name, "somethingmid");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user