mirror of
https://github.com/servo/servo.git
synced 2025-06-27 10:33:39 +01:00
53 lines
1.6 KiB
JavaScript
53 lines
1.6 KiB
JavaScript
// META: global=window,dedicatedworker
|
|
// META: script=/resources/WebIDLParser.js
|
|
// META: script=/resources/idlharness.js
|
|
// META: script=./utils.js
|
|
// META: timeout=long
|
|
|
|
'use strict';
|
|
|
|
var defaultCodecInit = {
|
|
output: function() {
|
|
assert_unreached("unexpected output");
|
|
},
|
|
error: function() {
|
|
assert_unreached("unexpected error");
|
|
},
|
|
}
|
|
|
|
var defaultAudioChunkInit = {
|
|
type: 'key',
|
|
timestamp: 1234,
|
|
duration: 9876,
|
|
data: new Uint8Array([5, 6, 7, 8])
|
|
};
|
|
|
|
var defaultVideoChunkInit = {
|
|
type: 'key',
|
|
timestamp: 1234,
|
|
duration: 5678,
|
|
data: new Uint8Array([9, 10, 11, 12])
|
|
};
|
|
|
|
idl_test(
|
|
['webcodecs'],
|
|
['webidl'],
|
|
async idlArray => {
|
|
self.imageBody = await fetch('four-colors.png').then(response => response.arrayBuffer());
|
|
|
|
idlArray.add_objects({
|
|
AudioDecoder: [`new AudioDecoder(defaultCodecInit)`],
|
|
VideoDecoder: [`new VideoDecoder(defaultCodecInit)`],
|
|
AudioEncoder: [`new AudioEncoder(defaultCodecInit)`],
|
|
VideoEncoder: [`new VideoEncoder(defaultCodecInit)`],
|
|
EncodedAudioChunk: [`new EncodedAudioChunk(defaultAudioChunkInit)`],
|
|
EncodedVideoChunk: [`new EncodedVideoChunk(defaultVideoChunkInit)`],
|
|
AudioData: [`make_audio_data(1234, 2, 8000, 100)`],
|
|
VideoFrame: [`new VideoFrame(makeImageBitmap(32,16), {timestamp:100, duration:33})`],
|
|
VideoColorSpace: [`new VideoColorSpace()`],
|
|
ImageDecoder: [`new ImageDecoder({data: self.imageBody, type: 'image/png'})`],
|
|
ImageTrackList: [`new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks`],
|
|
ImageTrack: [`new ImageDecoder({data: self.imageBody, type: 'image/png'}).tracks[0]`],
|
|
});
|
|
}
|
|
);
|