mirror of
https://github.com/servo/servo.git
synced 2025-06-25 09:34:32 +01:00
29 lines
1,012 B
JavaScript
29 lines
1,012 B
JavaScript
// META: global=window,dedicatedworker
|
|
// META: script=/webcodecs/utils.js
|
|
|
|
function testSharedArrayBufferEncodedVideoChunk(useView) {
|
|
let data = new SharedArrayBuffer(3);
|
|
let view = new Uint8Array(data);
|
|
view[0] = 0x0A;
|
|
view[1] = 0x0B;
|
|
view[2] = 0x0C;
|
|
|
|
let chunk = new EncodedVideoChunk(
|
|
{type: 'key', timestamp: 10, duration: 123, data: useView ? view : data});
|
|
assert_equals(chunk.byteLength, 3, 'byteLength');
|
|
|
|
let copyDest = new SharedArrayBuffer(3);
|
|
let destView = new Uint8Array(copyDest);
|
|
chunk.copyTo(useView ? destView : copyDest);
|
|
assert_equals(destView[0], 0x0A, 'copyDest[0]');
|
|
assert_equals(destView[1], 0x0B, 'copyDest[1]');
|
|
assert_equals(destView[2], 0x0C, 'copyDest[2]');
|
|
}
|
|
|
|
test(t => {
|
|
testSharedArrayBufferEncodedVideoChunk(/*useView=*/ false);
|
|
}, 'Test construction and copyTo() using a SharedArrayBuffer');
|
|
|
|
test(t => {
|
|
testSharedArrayBufferEncodedVideoChunk(/*useView=*/ true);
|
|
}, 'Test construction and copyTo() using a Uint8Array(SharedArrayBuffer)');
|