Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /webcodecs/encoded-audio-chunk.crossOriginIsolated.https.any.html - WPT Dashboard Interop Dashboard
- /webcodecs/encoded-audio-chunk.crossOriginIsolated.https.any.worker.html - WPT Dashboard Interop Dashboard
// META: global=window,dedicatedworker
// META: script=/webcodecs/utils.js
function testSharedArrayBufferEncodedAudioChunk(useView) {
let data = new SharedArrayBuffer(3);
let view = new Uint8Array(data);
view[0] = 0x0A;
view[1] = 0x0B;
view[2] = 0x0C;
let chunk = new EncodedAudioChunk(
{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 => {
testSharedArrayBufferEncodedAudioChunk(/*useView=*/ false);
}, 'Test construction and copyTo() using a SharedArrayBuffer');
test(t => {
testSharedArrayBufferEncodedAudioChunk(/*useView=*/ true);
}, 'Test construction and copyTo() using a Uint8Array(SharedArrayBuffer)');