idlharness.https.any.js (1902B)
1 // META: global=window,dedicatedworker 2 // META: script=/resources/WebIDLParser.js 3 // META: script=/resources/idlharness.js 4 // META: script=./utils.js 5 // META: timeout=long 6 7 'use strict'; 8 9 var defaultCodecInit = { 10 output: function() { 11 assert_unreached("unexpected output"); 12 }, 13 error: function() { 14 assert_unreached("unexpected error"); 15 }, 16 } 17 18 var defaultAudioChunkInit = { 19 type: 'key', 20 timestamp: 1234, 21 duration: 9876, 22 data: new Uint8Array([5, 6, 7, 8]) 23 }; 24 25 var defaultVideoChunkInit = { 26 type: 'key', 27 timestamp: 1234, 28 duration: 5678, 29 data: new Uint8Array([9, 10, 11, 12]) 30 }; 31 32 idl_test(['webcodecs'], ['dom', 'html', 'webidl'], async idlArray => { 33 self.imageBody = 34 await fetch('four-colors.png').then(response => response.arrayBuffer()); 35 36 let decoder = new ImageDecoder({data: self.imageBody, type: 'image/png'}); 37 await decoder.tracks.ready; 38 self.imageTracks = decoder.tracks.selectedTrack; 39 40 idlArray.add_objects({ 41 AudioDecoder: [`new AudioDecoder(defaultCodecInit)`], 42 VideoDecoder: [`new VideoDecoder(defaultCodecInit)`], 43 AudioEncoder: [`new AudioEncoder(defaultCodecInit)`], 44 VideoEncoder: [`new VideoEncoder(defaultCodecInit)`], 45 EncodedAudioChunk: [`new EncodedAudioChunk(defaultAudioChunkInit)`], 46 EncodedVideoChunk: [`new EncodedVideoChunk(defaultVideoChunkInit)`], 47 AudioData: [`make_audio_data(1234, 2, 8000, 100)`], 48 VideoFrame: [ 49 `new VideoFrame(makeImageBitmap(32, 16), {timestamp: 100, duration: 33})` 50 ], 51 VideoColorSpace: [ 52 `new VideoColorSpace()`, 53 `new VideoColorSpace({primaries: 'bt709', transfer: 'bt709', matrix: 'bt709', fullRange: true})`, 54 ], 55 ImageDecoder: 56 [`new ImageDecoder({data: self.imageBody, type: 'image/png'})`], 57 ImageTrackList: 58 [`new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks`], 59 ImageTrack: [`self.imageTracks`], 60 }); 61 });