Test handling of rejected m-lines without transport description adds a unit test for https://webrtc-review.googlesource.com/c/src/+/340322 which is a single m-line variant of the original fiddle that does not require renegotiation BUG=chromium:326493639 Change-Id: Icc5ebb1dda6502b00828a77e13b9f5fc865d34c4 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/340500 Commit-Queue: Philipp Hancke <phancke@microsoft.com> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#41818}
diff --git a/pc/sdp_offer_answer_unittest.cc b/pc/sdp_offer_answer_unittest.cc index f4c35bf..2e77f88 100644 --- a/pc/sdp_offer_answer_unittest.cc +++ b/pc/sdp_offer_answer_unittest.cc
@@ -1215,4 +1215,31 @@ cricket::kMsidSignalingNotUsed); } +TEST_F(SdpOfferAnswerTest, OfferWithRejectedMlineWithoutFingerprintIsAccepted) { + auto pc = CreatePeerConnection(); + // A rejected m-line without fingerprint. + // The answer does not require one. + std::string sdp = + "v=0\r\n" + "o=- 0 3 IN IP4 127.0.0.1\r\n" + "s=-\r\n" + "t=0 0\r\n" + "a=setup:actpass\r\n" + "a=ice-ufrag:ETEn\r\n" + "a=ice-pwd:OtSK0WpNtpUjkY4+86js7Z/l\r\n" + "m=audio 0 RTP/SAVPF 111\r\n" + "c=IN IP4 0.0.0.0\r\n" + "a=sendrecv\r\n" + "a=rtpmap:111 opus/48000/2\r\n" + "a=rtcp-mux\r\n"; + auto desc = CreateSessionDescription(SdpType::kOffer, sdp); + ASSERT_NE(desc, nullptr); + RTCError error; + pc->SetRemoteDescription(std::move(desc), &error); + EXPECT_TRUE(error.ok()); + + auto answer = pc->CreateAnswer(); + EXPECT_TRUE(pc->SetLocalDescription(std::move(answer))); +} + } // namespace webrtc