summaryrefslogtreecommitdiffstats
path: root/dom/media/webrtc/tests/mochitests/test_peerConnection_telephoneEventFirst.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/media/webrtc/tests/mochitests/test_peerConnection_telephoneEventFirst.html')
-rw-r--r--dom/media/webrtc/tests/mochitests/test_peerConnection_telephoneEventFirst.html56
1 files changed, 56 insertions, 0 deletions
diff --git a/dom/media/webrtc/tests/mochitests/test_peerConnection_telephoneEventFirst.html b/dom/media/webrtc/tests/mochitests/test_peerConnection_telephoneEventFirst.html
new file mode 100644
index 0000000000..bde51c1fd0
--- /dev/null
+++ b/dom/media/webrtc/tests/mochitests/test_peerConnection_telephoneEventFirst.html
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+ <script type="application/javascript" src="pc.js"></script>
+</head>
+<body>
+<pre id="test">
+<script type="application/javascript">
+createHTML({
+ title: "RTCPeerConnection with telephone-event codec first in SDP",
+ bug: "1581898",
+ visible: true
+});
+
+const test = async () => {
+ const pc1 = new RTCPeerConnection();
+ const pc2 = new RTCPeerConnection();
+ const stream = await navigator.mediaDevices.getUserMedia({audio:true});
+ pc1.addTrack(stream.getAudioTracks()[0], stream);
+ pc2.addTrack(stream.getAudioTracks()[0], stream);
+
+ const offer = await pc1.createOffer();
+ await pc1.setLocalDescription(offer);
+
+ const regex = /^(m=audio \d+ [^ ]+) (.*) 101(.*)$/m;
+
+ // Rewrite offer so payload type 101 comes first
+ offer.sdp = offer.sdp.replace(regex, '$1 101 $2 $3');
+
+ ok(offer.sdp.match(/^m=audio \d+ [^ ]+ 101 /m),
+ "Payload type 101 should be first on the m-line");
+
+ await pc2.setRemoteDescription(offer);
+ const answer = await pc2.createAnswer();
+
+ pc1.onicecandidate = e => { pc2.addIceCandidate(e.candidate); }
+ pc2.onicecandidate = e => { pc1.addIceCandidate(e.candidate); }
+
+ await pc1.setRemoteDescription(answer);
+ await pc2.setLocalDescription(answer);
+ await new Promise(resolve => {
+ pc1.oniceconnectionstatechange = e => {
+ if (pc1.iceConnectionState == "connected") {
+ resolve();
+ }
+ };
+ });
+ await wait(1000);
+};
+
+runNetworkTest(test);
+
+</script>
+</pre>
+</body>
+</html>