| <html> |
| <head> |
| <title>media-source-change-source</title> |
| <script src="../../../../media/media-source/media-source-loader.js"></script> |
| <script src="../../../../media/video-test.js"></script> |
| <script> |
| let loader; |
| let source; |
| let sourceBuffer; |
| |
| window.addEventListener('load', async event => { |
| consoleWrite('Tests that creating an incompatible MediaKeys object with MediaSource does not crash.') |
| findMediaElement(); |
| loader = new MediaSourceLoader('../../../../media/media-source/content/test-fragmented-manifest.json', '../../../../media/media-source/'); |
| let loaderPromise = new Promise((resolve, reject) => { |
| loader.onload = resolve; |
| loader.onerror = reject; |
| }) |
| await loaderPromise; |
| |
| source = new MediaSource(); |
| video.src = URL.createObjectURL(source); |
| await waitFor(source, 'sourceopen'), |
| |
| sourceBuffer = source.addSourceBuffer('video/mp4'); |
| sourceBuffer.appendBuffer(loader.initSegment()); |
| await waitFor(sourceBuffer, 'update'); |
| |
| |
| let access = await navigator.requestMediaKeySystemAccess('org.w3.clearkey', [{ |
| initDataTypes: ["cenc"], |
| videoCapabilities: [{contentType : 'video/mp4; codecs="avc1.64001F"'}] |
| }]); |
| consoleWrite('requestMediaKeySystemAccess promise resolved'); |
| |
| let keys = await access.createMediaKeys(); |
| video.setMediaKeys(keys); |
| consoleWrite('createMediaKeys promise resolved'); |
| endTest(); |
| }); |
| </script> |
| </head> |
| <body> |
| <video controls></video><br> |
| </body> |
| </html> |