diff options
Diffstat (limited to 'dom/media/tests/mochitest/test_peerConnection_replaceVideoThenRenegotiate.html')
-rw-r--r-- | dom/media/tests/mochitest/test_peerConnection_replaceVideoThenRenegotiate.html | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/dom/media/tests/mochitest/test_peerConnection_replaceVideoThenRenegotiate.html b/dom/media/tests/mochitest/test_peerConnection_replaceVideoThenRenegotiate.html new file mode 100644 index 000000000..5e36d7a5e --- /dev/null +++ b/dom/media/tests/mochitest/test_peerConnection_replaceVideoThenRenegotiate.html @@ -0,0 +1,46 @@ +<!DOCTYPE HTML> +<html> +<head> + <script type="application/javascript" src="pc.js"></script> +</head> +<body> +<pre id="test"> +<script type="application/javascript"> + createHTML({ + bug: "1017888", + title: "Renegotiation: replaceTrack followed by adding a second video stream" + }); + + var test; + runNetworkTest(function (options) { + test = new PeerConnectionTest(options); + test.setMediaConstraints([{video:true}], [{video:true}]); + addRenegotiation(test.chain, + [ + function PC_LOCAL_REPLACE_VIDEO_TRACK_THEN_ADD_SECOND_STREAM(test) { + var oldstream = test.pcLocal._pc.getLocalStreams()[0]; + var oldtrack = oldstream.getVideoTracks()[0]; + var sender = test.pcLocal._pc.getSenders()[0]; + return navigator.mediaDevices.getUserMedia({video:true}) + .then(newstream => { + var newtrack = newstream.getVideoTracks()[0]; + return test.pcLocal.senderReplaceTrack(0, newtrack, newstream.id); + }) + .then(() => { + test.setMediaConstraints([{video: true}, {video: true}], + [{video: true}]); + return test.pcLocal.getAllUserMedia([{video: true}]); + }); + }, + ] + ); + + // TODO(bug 1093835): + // figure out how to verify if media flows through the new stream + // figure out how to verify that media stopped flowing from old stream + test.run(); + }); +</script> +</pre> +</body> +</html> |