|
|
|
@ -501,14 +501,14 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
sdp, |
|
|
|
re.compile( |
|
|
|
"^v=0\r\n" |
|
|
|
"o=- \d+ \d+ IN IP4 203.0.113.1\r\n" |
|
|
|
"o=- \\d+ \\d+ IN IP4 203.0.113.1\r\n" |
|
|
|
"s=rtpengine.*?\r\n" |
|
|
|
"t=0 0\r\n" |
|
|
|
"m=audio \d+ RTP/AVP 8\r\n" |
|
|
|
"m=audio \\d+ RTP/AVP 8\r\n" |
|
|
|
"c=IN IP4 203.0.113.1\r\n" |
|
|
|
"a=rtpmap:8 PCMA/8000\r\n" |
|
|
|
"a=recvonly\r\n" |
|
|
|
"a=rtcp:\d+\r\n$", |
|
|
|
"a=rtcp:\\d+\r\n$", |
|
|
|
re.DOTALL, |
|
|
|
), |
|
|
|
) |
|
|
|
@ -582,7 +582,7 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
"c=IN IP4 203.0.113.1\r\n" |
|
|
|
"s=foobar\r\n" |
|
|
|
"t=0 0\r\n" |
|
|
|
"m=audio \d+ UDP/TLS/RTP/SAVPF 8\r\n" |
|
|
|
"m=audio \\d+ UDP/TLS/RTP/SAVPF 8\r\n" |
|
|
|
"a=mid:1\r\n" |
|
|
|
"a=rtpmap:8 PCMA/8000\r\n" |
|
|
|
"a=sendonly\r\n" |
|
|
|
@ -593,7 +593,7 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
"a=ice-ufrag:.{8}\r\n" |
|
|
|
"a=ice-pwd:.{26}\r\n" |
|
|
|
"a=ice-options:trickle\r\n" |
|
|
|
"a=candidate:.{16} 1 UDP 2130706431 203.0.113.1 \d+ typ host\r\n" |
|
|
|
"a=candidate:.{16} 1 UDP 2130706431 203.0.113.1 \\d+ typ host\r\n" |
|
|
|
"a=end-of-candidates\r\n$", |
|
|
|
re.DOTALL, |
|
|
|
), |
|
|
|
@ -787,14 +787,14 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
sdp, |
|
|
|
re.compile( |
|
|
|
"^v=0\r\n" |
|
|
|
"o=- \d+ \d+ IN IP4 203.0.113.1\r\n" |
|
|
|
"o=- \\d+ \\d+ IN IP4 203.0.113.1\r\n" |
|
|
|
"s=rtpengine.*?\r\n" |
|
|
|
"t=0 0\r\n" |
|
|
|
"m=audio \d+ RTP/AVP 8\r\n" |
|
|
|
"m=audio \\d+ RTP/AVP 8\r\n" |
|
|
|
"c=IN IP4 203.0.113.1\r\n" |
|
|
|
"a=rtpmap:8 PCMA/8000\r\n" |
|
|
|
"a=recvonly\r\n" |
|
|
|
"a=rtcp:\d+\r\n$", |
|
|
|
"a=rtcp:\\d+\r\n$", |
|
|
|
re.DOTALL, |
|
|
|
), |
|
|
|
) |
|
|
|
@ -871,7 +871,7 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
"c=IN IP4 203.0.113.1\r\n" |
|
|
|
"s=foobar\r\n" |
|
|
|
"t=0 0\r\n" |
|
|
|
"m=audio \d+ UDP/TLS/RTP/SAVPF 8\r\n" |
|
|
|
"m=audio \\d+ UDP/TLS/RTP/SAVPF 8\r\n" |
|
|
|
"a=mid:1\r\n" |
|
|
|
"a=rtpmap:8 PCMA/8000\r\n" |
|
|
|
"a=sendonly\r\n" |
|
|
|
@ -882,7 +882,7 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
"a=ice-ufrag:.{8}\r\n" |
|
|
|
"a=ice-pwd:.{26}\r\n" |
|
|
|
"a=ice-options:trickle\r\n" |
|
|
|
"a=candidate:.{16} 1 UDP 2130706431 203.0.113.1 \d+ typ host\r\n" |
|
|
|
"a=candidate:.{16} 1 UDP 2130706431 203.0.113.1 \\d+ typ host\r\n" |
|
|
|
"a=end-of-candidates\r\n$", |
|
|
|
re.DOTALL, |
|
|
|
), |
|
|
|
@ -1054,14 +1054,14 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
sdp, |
|
|
|
re.compile( |
|
|
|
"^v=0\r\n" |
|
|
|
"o=- \d+ \d+ IN IP4 203.0.113.1\r\n" |
|
|
|
"o=- \\d+ \\d+ IN IP4 203.0.113.1\r\n" |
|
|
|
"s=rtpengine.*?\r\n" |
|
|
|
"t=0 0\r\n" |
|
|
|
"m=audio \d+ RTP/SAVP 8\r\n" |
|
|
|
"m=audio \\d+ RTP/SAVP 8\r\n" |
|
|
|
"c=IN IP4 203.0.113.1\r\n" |
|
|
|
"a=rtpmap:8 PCMA/8000\r\n" |
|
|
|
"a=recvonly\r\n" |
|
|
|
"a=rtcp:\d+\r\n" |
|
|
|
"a=rtcp:\\d+\r\n" |
|
|
|
"a=setup:active\r\n" |
|
|
|
"a=fingerprint:sha-256 .{95}\r\n" |
|
|
|
"a=tls-id:[0-9a-f]{32}\r\n$", |
|
|
|
@ -1154,14 +1154,14 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
sdp, |
|
|
|
re.compile( |
|
|
|
"^v=0\r\n" |
|
|
|
"o=- \d+ \d+ IN IP4 203.0.113.1\r\n" |
|
|
|
"o=- \\d+ \\d+ IN IP4 203.0.113.1\r\n" |
|
|
|
"s=rtpengine.*?\r\n" |
|
|
|
"t=0 0\r\n" |
|
|
|
"m=audio \d+ RTP/SAVP 8\r\n" |
|
|
|
"m=audio \\d+ RTP/SAVP 8\r\n" |
|
|
|
"c=IN IP4 203.0.113.1\r\n" |
|
|
|
"a=rtpmap:8 PCMA/8000\r\n" |
|
|
|
"a=recvonly\r\n" |
|
|
|
"a=rtcp:\d+\r\n" |
|
|
|
"a=rtcp:\\d+\r\n" |
|
|
|
"a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:.{40}\r\n", |
|
|
|
re.DOTALL, |
|
|
|
), |
|
|
|
@ -1251,15 +1251,15 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
sdp, |
|
|
|
re.compile( |
|
|
|
"^v=0\r\n" |
|
|
|
"o=- \d+ \d+ IN IP4 203.0.113.1\r\n" |
|
|
|
"o=- \\d+ \\d+ IN IP4 203.0.113.1\r\n" |
|
|
|
"s=rtpengine.*?\r\n" |
|
|
|
"t=0 0\r\n" |
|
|
|
"m=audio \d+ UDP/TLS/RTP/SAVPF 8\r\n" |
|
|
|
"m=audio \\d+ UDP/TLS/RTP/SAVPF 8\r\n" |
|
|
|
"c=IN IP4 203.0.113.1\r\n" |
|
|
|
"a=mid:audio\r\n" |
|
|
|
"a=rtpmap:8 PCMA/8000\r\n" |
|
|
|
"a=recvonly\r\n" |
|
|
|
"a=rtcp:\d+\r\n" |
|
|
|
"a=rtcp:\\d+\r\n" |
|
|
|
"a=setup:active\r\n" |
|
|
|
"a=fingerprint:sha-256 .{95}\r\n" |
|
|
|
"a=tls-id:[0-9a-f]{32}\r\n$", |
|
|
|
@ -1347,15 +1347,15 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
self.assertIsInstance(sdp, str) |
|
|
|
match_re = re.compile( |
|
|
|
"^v=0\r\n" |
|
|
|
"o=- \d+ \d+ IN IP4 203.0.113.1\r\n" |
|
|
|
"o=- \\d+ \\d+ IN IP4 203.0.113.1\r\n" |
|
|
|
"s=rtpengine.*?\r\n" |
|
|
|
"t=0 0\r\n" |
|
|
|
"m=audio (\d+) RTP/AVP 8\r\n" |
|
|
|
"m=audio (\\d+) RTP/AVP 8\r\n" |
|
|
|
"c=IN IP4 203.0.113.1\r\n" |
|
|
|
"a=mid:audio\r\n" |
|
|
|
"a=rtpmap:8 PCMA/8000\r\n" |
|
|
|
"a=recvonly\r\n" |
|
|
|
"a=rtcp:\d+\r\n$", |
|
|
|
"a=rtcp:\\d+\r\n$", |
|
|
|
re.DOTALL, |
|
|
|
) |
|
|
|
self.assertRegex(sdp, match_re) |
|
|
|
@ -1617,17 +1617,17 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
sdp, |
|
|
|
re.compile( |
|
|
|
"^v=0\r\n" |
|
|
|
"o=- \d+ \d+ IN IP4 203.0.113.1\r\n" |
|
|
|
"o=- \\d+ \\d+ IN IP4 203.0.113.1\r\n" |
|
|
|
"s=rtpengine.*?\r\n" |
|
|
|
"t=0 0\r\n" |
|
|
|
"m=audio \d+ UDP/TLS/RTP/SAVPF 111\r\n" |
|
|
|
"m=audio \\d+ UDP/TLS/RTP/SAVPF 111\r\n" |
|
|
|
"c=IN IP4 203.0.113.1\r\n" |
|
|
|
"a=mid:0\r\n" |
|
|
|
"a=rtpmap:111 opus/48000/2\r\n" |
|
|
|
"a=fmtp:111 useinbandfec=1; minptime=10\r\n" |
|
|
|
"a=rtcp-fb:111 transport-cc\r\n" |
|
|
|
"a=recvonly\r\n" |
|
|
|
"a=rtcp:\d+\r\n" |
|
|
|
"a=rtcp:\\d+\r\n" |
|
|
|
"a=rtcp-mux\r\n" |
|
|
|
"a=setup:active\r\n" |
|
|
|
"a=fingerprint:sha-256 .{95}\r\n" |
|
|
|
@ -1635,9 +1635,9 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
"a=ice-ufrag:.{8}\r\n" |
|
|
|
"a=ice-pwd:.{26}\r\n" |
|
|
|
"a=ice-options:trickle\r\n" |
|
|
|
"a=candidate:.{16} 1 UDP 2130706431 203.0.113.1 \d+ typ host\r\n" |
|
|
|
"a=candidate:.{16} 1 UDP 2130706431 203.0.113.1 \\d+ typ host\r\n" |
|
|
|
"a=end-of-candidates\r\n" |
|
|
|
"m=video \d+ UDP/TLS/RTP/SAVPF 96\r\n" |
|
|
|
"m=video \\d+ UDP/TLS/RTP/SAVPF 96\r\n" |
|
|
|
"c=IN IP4 203.0.113.1\r\n" |
|
|
|
"a=mid:1\r\n" |
|
|
|
"a=rtpmap:96 VP8/90000\r\n" |
|
|
|
@ -1647,7 +1647,7 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
"a=rtcp-fb:96 nack\r\n" |
|
|
|
"a=rtcp-fb:96 nack pli\r\n" |
|
|
|
"a=recvonly\r\n" |
|
|
|
"a=rtcp:\d+\r\n" |
|
|
|
"a=rtcp:\\d+\r\n" |
|
|
|
"a=rtcp-mux\r\n" |
|
|
|
"a=setup:active\r\n" |
|
|
|
"a=fingerprint:sha-256 .{95}\r\n" |
|
|
|
@ -1655,7 +1655,7 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
"a=ice-ufrag:.{8}\r\n" |
|
|
|
"a=ice-pwd:.{26}\r\n" |
|
|
|
"a=ice-options:trickle\r\n" |
|
|
|
"a=candidate:.{16} 1 UDP 2130706431 203.0.113.1 \d+ typ host\r\n" |
|
|
|
"a=candidate:.{16} 1 UDP 2130706431 203.0.113.1 \\d+ typ host\r\n" |
|
|
|
"a=end-of-candidates\r\n$", |
|
|
|
re.DOTALL, |
|
|
|
), |
|
|
|
@ -1727,7 +1727,7 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
"t=0 0\r\n" |
|
|
|
"a=extmap-allow-mixed\r\n" |
|
|
|
"a=msid-semantic: WMS hJifdaJwqEqHxSG0pVbs1DrLAwiHqz7fKlqC\r\n" |
|
|
|
"m=audio \d+ UDP/TLS/RTP/SAVPF 111\r\n" |
|
|
|
"m=audio \\d+ UDP/TLS/RTP/SAVPF 111\r\n" |
|
|
|
"c=IN IP4 203.0.113.1\r\n" |
|
|
|
"a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\n" |
|
|
|
"a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\n" |
|
|
|
@ -1752,9 +1752,9 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
"a=ice-ufrag:.{8}\r\n" |
|
|
|
"a=ice-pwd:.{26}\r\n" |
|
|
|
"a=ice-options:trickle\r\n" |
|
|
|
"a=candidate:.{16} 1 UDP 2130706431 203.0.113.1 \d+ typ host\r\n" |
|
|
|
"a=candidate:.{16} 1 UDP 2130706431 203.0.113.1 \\d+ typ host\r\n" |
|
|
|
"a=end-of-candidates\r\n" |
|
|
|
"m=video \d+ UDP/TLS/RTP/SAVPF 96\r\n" |
|
|
|
"m=video \\d+ UDP/TLS/RTP/SAVPF 96\r\n" |
|
|
|
"c=IN IP4 203.0.113.1\r\n" |
|
|
|
"a=extmap:14 urn:ietf:params:rtp-hdrext:toffset\r\n" |
|
|
|
"a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\n" |
|
|
|
@ -1793,7 +1793,7 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
"a=ice-ufrag:.{8}\r\n" |
|
|
|
"a=ice-pwd:.{26}\r\n" |
|
|
|
"a=ice-options:trickle\r\n" |
|
|
|
"a=candidate:.{16} 1 UDP 2130706431 203.0.113.1 \d+ typ host\r\n" |
|
|
|
"a=candidate:.{16} 1 UDP 2130706431 203.0.113.1 \\d+ typ host\r\n" |
|
|
|
"a=end-of-candidates\r\n$", |
|
|
|
re.DOTALL, |
|
|
|
), |
|
|
|
@ -1875,20 +1875,20 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
sdp, |
|
|
|
re.compile( |
|
|
|
"^v=0\r\n" |
|
|
|
"o=- \d+ \d+ IN IP4 203.0.113.1\r\n" |
|
|
|
"o=- \\d+ \\d+ IN IP4 203.0.113.1\r\n" |
|
|
|
"s=rtpengine.*?\r\n" |
|
|
|
"t=0 0\r\n" |
|
|
|
"m=audio \d+ RTP/AVP 8\r\n" |
|
|
|
"m=audio \\d+ RTP/AVP 8\r\n" |
|
|
|
"c=IN IP4 203.0.113.1\r\n" |
|
|
|
"a=mid:audio\r\n" |
|
|
|
"a=rtpmap:8 PCMA/8000\r\n" |
|
|
|
"a=recvonly\r\n" |
|
|
|
"a=rtcp:\d+\r\n" |
|
|
|
"a=rtcp:\\d+\r\n" |
|
|
|
"a=rtcp-mux\r\n" |
|
|
|
"a=ice-ufrag:.{8}\r\n" |
|
|
|
"a=ice-pwd:.{26}\r\n" |
|
|
|
"a=ice-options:trickle\r\n" |
|
|
|
"a=candidate:.{16} 1 UDP 2130706431 203.0.113.1 \d+ typ host\r\n" |
|
|
|
"a=candidate:.{16} 1 UDP 2130706431 203.0.113.1 \\d+ typ host\r\n" |
|
|
|
"a=end-of-candidates\r\n$", |
|
|
|
re.DOTALL, |
|
|
|
), |
|
|
|
@ -1994,7 +1994,7 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
"c=IN IP4 203.0.113.1\r\n" |
|
|
|
"s=foobar\r\n" |
|
|
|
"t=0 0\r\n" |
|
|
|
"m=audio \d+ UDP/TLS/RTP/SAVPF 8\r\n" |
|
|
|
"m=audio \\d+ UDP/TLS/RTP/SAVPF 8\r\n" |
|
|
|
"a=mid:audio\r\n" |
|
|
|
"a=rtpmap:8 PCMA/8000\r\n" |
|
|
|
"a=sendonly\r\n" |
|
|
|
@ -2005,7 +2005,7 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
"a=ice-ufrag:.{8}\r\n" |
|
|
|
"a=ice-pwd:.{26}\r\n" |
|
|
|
"a=ice-options:trickle\r\n" |
|
|
|
"a=candidate:.{16} 1 UDP 2130706431 203.0.113.1 \d+ typ host\r\n" |
|
|
|
"a=candidate:.{16} 1 UDP 2130706431 203.0.113.1 \\d+ typ host\r\n" |
|
|
|
"a=end-of-candidates\r\n$", |
|
|
|
re.DOTALL, |
|
|
|
), |
|
|
|
@ -2605,15 +2605,15 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
|
|
|
|
match_re = re.compile( |
|
|
|
"^v=0\r\n" |
|
|
|
"o=- \d+ \d+ IN IP4 203.0.113.1\r\n" |
|
|
|
"o=- \\d+ \\d+ IN IP4 203.0.113.1\r\n" |
|
|
|
"s=rtpengine.*?\r\n" |
|
|
|
"t=0 0\r\n" |
|
|
|
"m=audio (\d+) RTP/AVP 96\r\n" |
|
|
|
"m=audio (\\d+) RTP/AVP 96\r\n" |
|
|
|
"c=IN IP4 203.0.113.1\r\n" |
|
|
|
"a=mid:a\r\n" |
|
|
|
"a=rtpmap:96 opus/48000/2\r\n" |
|
|
|
"a=recvonly\r\n" |
|
|
|
"a=rtcp:\d+\r\n$", |
|
|
|
"a=rtcp:\\d+\r\n$", |
|
|
|
re.DOTALL, |
|
|
|
) |
|
|
|
self.assertRegex(sdp, match_re) |
|
|
|
@ -2731,15 +2731,15 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
|
|
|
|
match_re = re.compile( |
|
|
|
"^v=0\r\n" |
|
|
|
"o=- \d+ \d+ IN IP4 203.0.113.1\r\n" |
|
|
|
"o=- \\d+ \\d+ IN IP4 203.0.113.1\r\n" |
|
|
|
"s=rtpengine.*?\r\n" |
|
|
|
"t=0 0\r\n" |
|
|
|
"m=audio (\d+) RTP/AVP 96\r\n" |
|
|
|
"m=audio (\\d+) RTP/AVP 96\r\n" |
|
|
|
"c=IN IP4 203.0.113.1\r\n" |
|
|
|
"a=mid:a\r\n" |
|
|
|
"a=rtpmap:96 opus/48000/2\r\n" |
|
|
|
"a=recvonly\r\n" |
|
|
|
"a=rtcp:\d+\r\n$", |
|
|
|
"a=rtcp:\\d+\r\n$", |
|
|
|
re.DOTALL, |
|
|
|
) |
|
|
|
self.assertRegex(sdp, match_re) |
|
|
|
@ -2982,21 +2982,21 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
|
|
|
|
match_re = re.compile( |
|
|
|
"^v=0\r\n" |
|
|
|
"o=- \d+ \d+ IN IP4 203.0.113.1\r\n" |
|
|
|
"o=- \\d+ \\d+ IN IP4 203.0.113.1\r\n" |
|
|
|
"s=rtpengine.*?\r\n" |
|
|
|
"t=0 0\r\n" |
|
|
|
"m=audio (\d+) RTP/AVP 96\r\n" |
|
|
|
"m=audio (\\d+) RTP/AVP 96\r\n" |
|
|
|
"c=IN IP4 203.0.113.1\r\n" |
|
|
|
"a=mid:a\r\n" |
|
|
|
"a=rtpmap:96 opus/48000/2\r\n" |
|
|
|
"a=recvonly\r\n" |
|
|
|
"a=rtcp:\d+\r\n" |
|
|
|
"m=video (\d+) RTP/AVP 97\r\n" |
|
|
|
"a=rtcp:\\d+\r\n" |
|
|
|
"m=video (\\d+) RTP/AVP 97\r\n" |
|
|
|
"c=IN IP4 203.0.113.1\r\n" |
|
|
|
"a=mid:v\r\n" |
|
|
|
"a=rtpmap:97 VP9/90000\r\n" |
|
|
|
"a=recvonly\r\n" |
|
|
|
"a=rtcp:\d+\r\n$", |
|
|
|
"a=rtcp:\\d+\r\n$", |
|
|
|
re.DOTALL, |
|
|
|
) |
|
|
|
self.assertRegex(sdp, match_re) |
|
|
|
@ -3135,16 +3135,16 @@ class TestVideoroom(unittest.TestCase): |
|
|
|
"c=IN IP4 203.0.113.1\r\n" |
|
|
|
"s=foobar\r\n" |
|
|
|
"t=0 0\r\n" |
|
|
|
"m=audio (\d+) RTP/AVP 96\r\n" |
|
|
|
"m=audio (\\d+) RTP/AVP 96\r\n" |
|
|
|
"a=mid:a\r\n" |
|
|
|
"a=rtpmap:96 opus/48000/2\r\n" |
|
|
|
"a=sendonly\r\n" |
|
|
|
"a=rtcp:\d+\r\n" |
|
|
|
"m=video (\d+) RTP/AVP 97\r\n" |
|
|
|
"a=rtcp:\\d+\r\n" |
|
|
|
"m=video (\\d+) RTP/AVP 97\r\n" |
|
|
|
"a=mid:v\r\n" |
|
|
|
"a=rtpmap:97 VP9/90000\r\n" |
|
|
|
"a=sendonly\r\n" |
|
|
|
"a=rtcp:\d+\r\n$", |
|
|
|
"a=rtcp:\\d+\r\n$", |
|
|
|
re.DOTALL, |
|
|
|
) |
|
|
|
self.assertRegex(sdp, match_re) |
|
|
|
|