aboutsummaryrefslogtreecommitdiff
path: root/pc/webrtc_sdp_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'pc/webrtc_sdp_unittest.cc')
-rw-r--r--pc/webrtc_sdp_unittest.cc66
1 files changed, 66 insertions, 0 deletions
diff --git a/pc/webrtc_sdp_unittest.cc b/pc/webrtc_sdp_unittest.cc
index 7880af0693..772a97cd8f 100644
--- a/pc/webrtc_sdp_unittest.cc
+++ b/pc/webrtc_sdp_unittest.cc
@@ -4073,6 +4073,72 @@ TEST_F(WebRtcSdpTest, DeserializeMsidAttributeWithMissingTrackId) {
EXPECT_FALSE(SdpDeserialize(kSdpWithMissingTrackId, &jdesc_output));
}
+TEST_F(WebRtcSdpTest, DeserializeMsidAttributeWithoutAppData) {
+ static const char kSdpWithMissingStreamId[] =
+ "v=0\r\n"
+ "o=- 18446744069414584320 18446462598732840960 IN IP4 127.0.0.1\r\n"
+ "s=-\r\n"
+ "t=0 0\r\n"
+ "m=audio 9 RTP/SAVPF 111\r\n"
+ "c=IN IP4 0.0.0.0\r\n"
+ "a=rtpmap:111 opus/48000/2\r\n"
+ "a=msid:stream_id\r\n";
+
+ JsepSessionDescription jdesc_output(kDummyType);
+ EXPECT_TRUE(SdpDeserialize(kSdpWithMissingStreamId, &jdesc_output));
+}
+
+TEST_F(WebRtcSdpTest, DeserializeMsidAttributeWithoutAppDataTwoStreams) {
+ static const char kSdpWithMissingStreamId[] =
+ "v=0\r\n"
+ "o=- 18446744069414584320 18446462598732840960 IN IP4 127.0.0.1\r\n"
+ "s=-\r\n"
+ "t=0 0\r\n"
+ "m=audio 9 RTP/SAVPF 111\r\n"
+ "c=IN IP4 0.0.0.0\r\n"
+ "a=rtpmap:111 opus/48000/2\r\n"
+ "a=msid:stream_id\r\n"
+ "a=msid:stream_id2\r\n";
+
+ JsepSessionDescription jdesc_output(kDummyType);
+ EXPECT_TRUE(SdpDeserialize(kSdpWithMissingStreamId, &jdesc_output));
+}
+
+TEST_F(WebRtcSdpTest, DeserializeMsidAttributeWithoutAppDataDuplicate) {
+ static const char kSdpWithMissingStreamId[] =
+ "v=0\r\n"
+ "o=- 18446744069414584320 18446462598732840960 IN IP4 127.0.0.1\r\n"
+ "s=-\r\n"
+ "t=0 0\r\n"
+ "m=audio 9 RTP/SAVPF 111\r\n"
+ "c=IN IP4 0.0.0.0\r\n"
+ "a=rtpmap:111 opus/48000/2\r\n"
+ "a=msid:stream_id\r\n"
+ "a=msid:stream_id\r\n";
+
+ JsepSessionDescription jdesc_output(kDummyType);
+ // This is somewhat silly but accept it.
+ EXPECT_TRUE(SdpDeserialize(kSdpWithMissingStreamId, &jdesc_output));
+}
+
+TEST_F(WebRtcSdpTest, DeserializeMsidAttributeWithoutAppDataMixed) {
+ static const char kSdpWithMissingStreamId[] =
+ "v=0\r\n"
+ "o=- 18446744069414584320 18446462598732840960 IN IP4 127.0.0.1\r\n"
+ "s=-\r\n"
+ "t=0 0\r\n"
+ "m=audio 9 RTP/SAVPF 111\r\n"
+ "c=IN IP4 0.0.0.0\r\n"
+ "a=rtpmap:111 opus/48000/2\r\n"
+ "a=msid:stream_id\r\n"
+ "a=msid:stream_id track_id\r\n";
+
+ JsepSessionDescription jdesc_output(kDummyType);
+ // Mixing the syntax like this is not a good idea but we accept it
+ // and the result is the second track_id.
+ EXPECT_TRUE(SdpDeserialize(kSdpWithMissingStreamId, &jdesc_output));
+}
+
TEST_F(WebRtcSdpTest, DeserializeMsidAttributeWithMissingStreamId) {
static const char kSdpWithMissingStreamId[] =
"v=0\r\n"