// META: script=/resources/WebIDLParser.js // META: script=/resources/idlharness.js // META: timeout=long // https://w3c.github.io/media-source/ 'use strict'; idl_test( ['media-source'], ['dom', 'html', 'url'], async idl_array => { idl_array.add_objects({ MediaSource: ['mediaSource'], SourceBuffer: ['sourceBuffer'], SourceBufferList: ['mediaSource.sourceBuffers'], }); const video = document.createElement('video'); self.mediaSource = new MediaSource(); video.src = URL.createObjectURL(mediaSource); self.sourceBuffer = await new Promise((resolve, reject) => { mediaSource.addEventListener('sourceopen', () => { var defaultType = 'video/webm;codecs="vp8,vorbis"'; if (MediaSource.isTypeSupported(defaultType)) { resolve(mediaSource.addSourceBuffer(defaultType)); } else { resolve(mediaSource.addSourceBuffer('video/mp4')); } }); step_timeout(() => reject(new Error('sourceopen event not fired')), 3000); }); } );