зеркало из https://github.com/mozilla/gecko-dev.git
67 строки
2.8 KiB
HTML
67 строки
2.8 KiB
HTML
<!DOCTYPE html>
|
|
<html class="reftest-wait">
|
|
<!--
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=855796
|
|
-->
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Bug 855796</title>
|
|
<script type="application/javascript">
|
|
var pc1, pc2, pc1_offer, pc2_answer;
|
|
|
|
function onFailure(code) {
|
|
stop();
|
|
}
|
|
|
|
function stop() {
|
|
pc1.close();
|
|
pc1 = null;
|
|
pc2.close();
|
|
pc2 = null;
|
|
document.documentElement.removeAttribute("class");
|
|
}
|
|
|
|
function step1(offer) {
|
|
pc1_offer = offer;
|
|
pc1_offer.sdp = "v=0\r\no=Mozilla-SIPUA 2208 0 IN IP4 0.0.0.0\r\ns=SIP Call\r\nt=0 0\r\na=ice-pwd:4450d5a4a5f097855c16fa079893be18\r\na=fingerprint:sha-256 23:9A:2E:43:94:42:CF:46:68:FC:62:F9:F4:48:61:DB:2F:8C:C9:FF:6B:25:54:9D:41:09:EF:83:A8:19:FC:B6\r\nm=audio 56187 RTP/SAVPF 109 0 8 101\r\nc=IN IP4 77.9.79.167\r\na=rtpmap:109 opus/48000/2\r\na=ptime:20\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:101 telephone-event/8000\r\na=fmtp:101 0-15\r\na=sendrecv\r\na=candidate:0 1 UDP 2113601791 192.168.178.20 56187 typ host\r\na=candidate:1 1 UDP 1694236671 77.9.79.167 56187 typ srflx raddr 192.168.178.20 rport 56187\r\na=candidate:0 2 UDP 2113601790 192.168.178.20 52955 typ host\r\na=candidate:1 2 UDP 1694236670 77.9.79.167 52955 typ srflx raddr 192.168.178.20 rport 52955\r\nm=video 49929 RTP/SAVPF 120\r\nc=IN IP4 77.9.79.167\r\na=rtpmap:120 VP8/90000\r\na=recvonly\r\na=candidate:0 1 UDP 2113601791 192.168.178.20 49929 typ host\r\na=candidate:1 1 UDP 1694236671 77.9.79.167 49929 typ srflx raddr 192.168.178.20 rport 49929\r\na=candidate:0 2 UDP 2113601790 192.168.178.20 50769 typ host\r\na=candidate:1 2 UDP 1694236670 77.9.79.167 50769 typ srflx raddr 192.168.178.20 rport 50769\r\nm=application 54054 SCTP/DTLS 5000 \r\nc=IN IP4 77.9.79.167\r\na=fmtp:HuRUu]Dtcl\\zM,7(OmEU%O$gU]x/z\tD protocol=webrtc-datachannel;streams=16\r\na=sendrecv\r\n";
|
|
pc1.setLocalDescription(pc1_offer, step2, onFailure);
|
|
}
|
|
|
|
function step2() {
|
|
pc2.setRemoteDescription(pc1_offer, step3, onFailure);
|
|
}
|
|
|
|
function step3() {
|
|
pc2.createAnswer(step4, onFailure);
|
|
}
|
|
|
|
function step4(answer) {
|
|
pc2_answer = answer;
|
|
pc2.setLocalDescription(pc2_answer, step5, onFailure);
|
|
}
|
|
|
|
function step5() {
|
|
pc1.setRemoteDescription(pc2_answer, step6, onFailure);
|
|
}
|
|
|
|
function step6() {
|
|
stop();
|
|
}
|
|
|
|
function start() {
|
|
pc1 = new RTCPeerConnection();
|
|
pc2 = new RTCPeerConnection();
|
|
navigator.mozGetUserMedia({audio:true, video:true, fake:true}, function(s) {
|
|
pc1.addStream(s);
|
|
navigator.mozGetUserMedia({audio:true, video:true, fake:true}, function(s) {
|
|
pc2.addStream(s);
|
|
pc1.createOffer(step1, onFailure);
|
|
}, onFailure);
|
|
}, onFailure);
|
|
}
|
|
</script>
|
|
</head>
|
|
|
|
<body onload="setTimeout(start, 100)">
|
|
</html>
|