mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Update web-platform-tests to revision b'ee6da9d71d0268d7fdb04e8e5b26858f46ee0cc4'
This commit is contained in:
parent
4401622eb1
commit
b77ad115f6
16832 changed files with 270819 additions and 87621 deletions
|
@ -1,6 +1,7 @@
|
|||
// META: global=window,dedicatedworker
|
||||
// META: script=/common/media.js
|
||||
// META: script=/webcodecs/utils.js
|
||||
// META: script=/webcodecs/video-encoder-utils.js
|
||||
|
||||
const defaultConfig = {
|
||||
codec: 'vp8',
|
||||
|
@ -8,27 +9,6 @@ const defaultConfig = {
|
|||
height: 480
|
||||
};
|
||||
|
||||
let bitmap_blob = null;
|
||||
|
||||
async function generateBitmap(width, height) {
|
||||
if (!bitmap_blob) {
|
||||
let response = await fetch("pattern.png");
|
||||
bitmap_blob = await response.blob();
|
||||
}
|
||||
|
||||
var size = {
|
||||
resizeWidth: width,
|
||||
resizeHeight: height
|
||||
};
|
||||
|
||||
return createImageBitmap(bitmap_blob, size);
|
||||
}
|
||||
|
||||
async function createVideoFrame(width, height, timestamp) {
|
||||
let bitmap = await generateBitmap(width, height);
|
||||
return new VideoFrame(bitmap, { timestamp: timestamp });
|
||||
}
|
||||
|
||||
promise_test(t => {
|
||||
// VideoEncoderInit lacks required fields.
|
||||
assert_throws_js(TypeError, () => { new VideoEncoder({}); });
|
||||
|
@ -81,8 +61,8 @@ promise_test(async t => {
|
|||
let encoder = new VideoEncoder(codecInit);
|
||||
encoder.configure(encoderConfig);
|
||||
|
||||
let frame1 = await createVideoFrame(640, 480, 0);
|
||||
let frame2 = await createVideoFrame(640, 480, 33333);
|
||||
let frame1 = createFrame(640, 480, 0);
|
||||
let frame2 = createFrame(640, 480, 33333);
|
||||
|
||||
encoder.encode(frame1);
|
||||
encoder.encode(frame2);
|
||||
|
@ -129,17 +109,15 @@ promise_test(async t => {
|
|||
const frames_count = 100;
|
||||
let frames = [];
|
||||
for (let i = 0; i < frames_count; i++) {
|
||||
let frame = await createVideoFrame(320, 200, i * 16000);
|
||||
let frame = createFrame(320, 200, i * 16000);
|
||||
frames.push(frame);
|
||||
}
|
||||
|
||||
for (let frame of frames)
|
||||
encoder.encode(frame);
|
||||
|
||||
// Some encodes should have already started being processed, but not all
|
||||
// 100 of them.
|
||||
assert_greater_than(encoder.encodeQueueSize, 0);
|
||||
assert_less_than(encoder.encodeQueueSize, frames_count);
|
||||
assert_less_than_equal(encoder.encodeQueueSize, frames_count);
|
||||
|
||||
await encoder.flush();
|
||||
// We can guarantee that all encodes are processed after a flush.
|
||||
|
@ -163,7 +141,7 @@ promise_test(async t => {
|
|||
const timestamp_step = 40000;
|
||||
const expected_callbacks_before_reset = 3;
|
||||
let codecInit = getDefaultCodecInit(t);
|
||||
let bitmap = await generateBitmap(320, 200);
|
||||
let original = createFrame(320, 200, 0);
|
||||
let encoder = null;
|
||||
let reset_completed = false;
|
||||
codecInit.output = (chunk, metadata) => {
|
||||
|
@ -188,7 +166,7 @@ promise_test(async t => {
|
|||
// and make sure no more chunks are emitted afterwards.
|
||||
let encodes_before_reset = expected_callbacks_before_reset * 10;
|
||||
for (let i = 0; i < encodes_before_reset; i++) {
|
||||
let frame = new VideoFrame(bitmap, { timestamp: timestamp });
|
||||
let frame = new VideoFrame(original, { timestamp: timestamp });
|
||||
timestamp += timestamp_step;
|
||||
encoder.encode(frame);
|
||||
frame.close();
|
||||
|
@ -208,7 +186,7 @@ promise_test(async t => {
|
|||
|
||||
const frames_after_reset = 5;
|
||||
for (let i = 0; i < frames_after_reset; i++) {
|
||||
let frame = await createVideoFrame(800, 600, timestamp + 1);
|
||||
let frame = createFrame(800, 600, timestamp + 1);
|
||||
timestamp += timestamp_step;
|
||||
encoder.encode(frame);
|
||||
frame.close();
|
||||
|
@ -236,8 +214,8 @@ promise_test(async t => {
|
|||
|
||||
encoder.configure(config);
|
||||
|
||||
let frame1 = await createVideoFrame(640, 480, 0);
|
||||
let frame2 = await createVideoFrame(640, 480, 33333);
|
||||
let frame1 = createFrame(640, 480, 0);
|
||||
let frame2 = createFrame(640, 480, 33333);
|
||||
|
||||
encoder.encode(frame1);
|
||||
encoder.configure(config);
|
||||
|
@ -247,16 +225,16 @@ promise_test(async t => {
|
|||
await encoder.flush();
|
||||
|
||||
// We can guarantee that all encodes are processed after a flush.
|
||||
assert_equals(encoder.encodeQueueSize, 0);
|
||||
assert_equals(encoder.encodeQueueSize, 0, "queue size after encode");
|
||||
|
||||
assert_true(output_chunks.length == 2);
|
||||
assert_equals(output_chunks.length, 2, "number of chunks");
|
||||
assert_equals(output_chunks[0].timestamp, frame1.timestamp);
|
||||
assert_equals(output_chunks[1].timestamp, frame2.timestamp);
|
||||
|
||||
output_chunks = [];
|
||||
|
||||
let frame3 = await createVideoFrame(640, 480, 66666);
|
||||
let frame4 = await createVideoFrame(640, 480, 100000);
|
||||
let frame3 = createFrame(640, 480, 66666);
|
||||
let frame4 = createFrame(640, 480, 100000);
|
||||
|
||||
encoder.encode(frame3);
|
||||
|
||||
|
@ -276,7 +254,7 @@ promise_test(async t => {
|
|||
promise_test(async t => {
|
||||
let encoder = new VideoEncoder(getDefaultCodecInit(t));
|
||||
|
||||
let frame = await createVideoFrame(640, 480, 0);
|
||||
let frame = createFrame(640, 480, 0);
|
||||
|
||||
return testClosedCodec(t, encoder, defaultConfig, frame);
|
||||
}, 'Verify closed VideoEncoder operations');
|
||||
|
@ -284,7 +262,7 @@ promise_test(async t => {
|
|||
promise_test(async t => {
|
||||
let encoder = new VideoEncoder(getDefaultCodecInit(t));
|
||||
|
||||
let frame = await createVideoFrame(640, 480, 0);
|
||||
let frame = createFrame(640, 480, 0);
|
||||
|
||||
return testUnconfiguredCodec(t, encoder, frame);
|
||||
}, 'Verify unconfigured VideoEncoder operations');
|
||||
|
@ -292,7 +270,7 @@ promise_test(async t => {
|
|||
promise_test(async t => {
|
||||
let encoder = new VideoEncoder(getDefaultCodecInit(t));
|
||||
|
||||
let frame = await createVideoFrame(640, 480, 0);
|
||||
let frame = createFrame(640, 480, 0);
|
||||
frame.close();
|
||||
|
||||
encoder.configure(defaultConfig);
|
||||
|
@ -311,7 +289,7 @@ promise_test(async t => {
|
|||
let config = defaultConfig;
|
||||
encoder.configure(config);
|
||||
|
||||
let frame = await createVideoFrame(640, 480, -10000);
|
||||
let frame = createFrame(640, 480, -10000);
|
||||
encoder.encode(frame);
|
||||
frame.close();
|
||||
await encoder.flush();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue