Source code

Revision control

Copy as Markdown

Other Tools

/**
* @class SharedArrayBufferProcessor
* @extends AudioWorkletProcessor
*
* This processor class demonstrates passing SharedArrayBuffers to and from
* workers.
*/
class SharedArrayBufferProcessor extends AudioWorkletProcessor {
constructor() {
super();
this.port.onmessage = this.handleMessage.bind(this);
this.port.onmessageerror = this.handleMessageError.bind(this);
let sab = new SharedArrayBuffer(8);
this.port.postMessage({state: 'created', sab});
}
handleMessage(event) {
this.port.postMessage({
state: 'received message',
isSab: event.data instanceof SharedArrayBuffer
});
}
handleMessageError(event) {
this.port.postMessage({
state: 'received messageerror'
});
}
process() {
return true;
}
}
registerProcessor('sharedarraybuffer-processor', SharedArrayBufferProcessor);