| <html> |
| <head> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| </head> |
| <body> |
| <script type="application/javascript"> |
| function waitFor(duration) |
| { |
| return new Promise((resolve) => setTimeout(resolve, duration)); |
| } |
| |
| promise_test(async () => { |
| const stream = await navigator.mediaDevices.getUserMedia({ audio: true, video: true }); |
| const localTracks = stream.getTracks(); |
| video = document.createElement('video'); |
| video.autoplay = true; |
| video.playsInline = true; |
| const videoStream = new MediaStream(); |
| localTracks.forEach(track => videoStream.addTrack(track)); |
| video.srcObject = videoStream; |
| document.body.appendChild(video); |
| video.play(); |
| |
| await waitFor(100); |
| |
| videoStream.getTracks().forEach(track => { |
| videoStream.removeTrack(track); |
| video.srcObject = videoStream; |
| }); |
| video.srcObject = null; |
| video.remove(); |
| }, "Remove tracks in a being played MediaStream"); |
| </script> |
| </body> |
| </html> |