idlharness.window.js (1044B)
1 // META: script=/resources/WebIDLParser.js 2 // META: script=/resources/idlharness.js 3 // META: timeout=long 4 5 // https://w3c.github.io/media-source/ 6 7 'use strict'; 8 9 idl_test( 10 ['media-source'], 11 ['dom', 'html', 'url'], 12 async idl_array => { 13 idl_array.add_objects({ 14 MediaSource: ['mediaSource'], 15 SourceBuffer: ['sourceBuffer'], 16 SourceBufferList: ['mediaSource.sourceBuffers'], 17 }); 18 19 const video = document.createElement('video'); 20 self.mediaSource = new MediaSource(); 21 video.src = URL.createObjectURL(mediaSource); 22 23 self.sourceBuffer = await new Promise((resolve, reject) => { 24 mediaSource.addEventListener('sourceopen', () => { 25 var defaultType = 'video/webm;codecs="vp8,vorbis"'; 26 if (MediaSource.isTypeSupported(defaultType)) { 27 resolve(mediaSource.addSourceBuffer(defaultType)); 28 } else { 29 resolve(mediaSource.addSourceBuffer('video/mp4')); 30 } 31 }); 32 step_timeout(() => reject(new Error('sourceopen event not fired')), 3000); 33 }); 34 } 35 );