| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <title>Capture source ended and muted.</title> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| </head> |
| <body> |
| <script> |
| promise_test(async (test) => { |
| const stream = await navigator.mediaDevices.getUserMedia({audio: true}); |
| const track = stream.getAudioTracks()[0]; |
| if (!window.internals) |
| return; |
| |
| const clone = track.clone(); |
| |
| let promise = new Promise((resolve, reject) => { track.onmute = resolve; setTimeout(() => reject("no mute"), 5000) }); |
| internals.setMediaStreamSourceInterrupted(track, true); |
| await promise; |
| |
| track.stop(); |
| assert_false(internals.isMediaStreamSourceEnded(track)); |
| clone.stop(); |
| assert_true(internals.isMediaStreamSourceEnded(track)); |
| }, "Stopping a muted source should end it"); |
| </script> |
| </body> |
| </html> |