encoded-video-chunk.crossOriginIsolated.https.any.js (1012B)
1 // META: global=window,dedicatedworker 2 // META: script=/webcodecs/utils.js 3 4 function testSharedArrayBufferEncodedVideoChunk(useView) { 5 let data = new SharedArrayBuffer(3); 6 let view = new Uint8Array(data); 7 view[0] = 0x0A; 8 view[1] = 0x0B; 9 view[2] = 0x0C; 10 11 let chunk = new EncodedVideoChunk( 12 {type: 'key', timestamp: 10, duration: 123, data: useView ? view : data}); 13 assert_equals(chunk.byteLength, 3, 'byteLength'); 14 15 let copyDest = new SharedArrayBuffer(3); 16 let destView = new Uint8Array(copyDest); 17 chunk.copyTo(useView ? destView : copyDest); 18 assert_equals(destView[0], 0x0A, 'copyDest[0]'); 19 assert_equals(destView[1], 0x0B, 'copyDest[1]'); 20 assert_equals(destView[2], 0x0C, 'copyDest[2]'); 21 } 22 23 test(t => { 24 testSharedArrayBufferEncodedVideoChunk(/*useView=*/ false); 25 }, 'Test construction and copyTo() using a SharedArrayBuffer'); 26 27 test(t => { 28 testSharedArrayBufferEncodedVideoChunk(/*useView=*/ true); 29 }, 'Test construction and copyTo() using a Uint8Array(SharedArrayBuffer)');