From 2d8d23eec2f43c0f75ccdf4c7c52855a7022b2b0 Mon Sep 17 00:00:00 2001 From: johan Date: Fri, 3 Jun 2016 01:22:42 -0700 Subject: [PATCH] RFC 3984 sprop-parameter-sets SDP unit test BUG=webrtc:5948 Review-Url: https://codereview.webrtc.org/2023913002 Cr-Commit-Position: refs/heads/master@{#13026} --- webrtc/api/webrtcsdp_unittest.cc | 36 ++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/webrtc/api/webrtcsdp_unittest.cc b/webrtc/api/webrtcsdp_unittest.cc index 5c69d50c98..10ff0aef25 100644 --- a/webrtc/api/webrtcsdp_unittest.cc +++ b/webrtc/api/webrtcsdp_unittest.cc @@ -2915,6 +2915,42 @@ TEST_F(WebRtcSdpTest, DeserializeVideoFmtp) { EXPECT_EQ(found->second, "40"); } +TEST_F(WebRtcSdpTest, DeserializeVideoFmtpWithSprops) { + JsepSessionDescription jdesc_output(kDummyString); + + const char kSdpWithFmtpString[] = + "v=0\r\n" + "o=- 18446744069414584320 18446462598732840960 IN IP4 127.0.0.1\r\n" + "s=-\r\n" + "t=0 0\r\n" + "m=video 49170 RTP/AVP 98\r\n" + "a=rtpmap:98 H264/90000\r\n" + "a=fmtp:98 profile-level-id=42A01E; " + "sprop-parameter-sets=Z0IACpZTBYmI,aMljiA==\r\n"; + + // Deserialize. + SdpParseError error; + EXPECT_TRUE( + webrtc::SdpDeserialize(kSdpWithFmtpString, &jdesc_output, &error)); + + const ContentInfo* vc = GetFirstVideoContent(jdesc_output.description()); + ASSERT_TRUE(vc != NULL); + const VideoContentDescription* vcd = + static_cast(vc->description); + ASSERT_TRUE(vcd != NULL); + ASSERT_FALSE(vcd->codecs().empty()); + cricket::VideoCodec h264 = vcd->codecs()[0]; + EXPECT_EQ("H264", h264.name); + EXPECT_EQ(98, h264.id); + cricket::CodecParameterMap::const_iterator found = + h264.params.find("profile-level-id"); + ASSERT_TRUE(found != h264.params.end()); + EXPECT_EQ(found->second, "42A01E"); + found = h264.params.find("sprop-parameter-sets"); + ASSERT_TRUE(found != h264.params.end()); + EXPECT_EQ(found->second, "Z0IACpZTBYmI,aMljiA=="); +} + TEST_F(WebRtcSdpTest, DeserializeVideoFmtpWithSpace) { JsepSessionDescription jdesc_output(kDummyString);