I am tying to distribute load among multiple decoder workers:
var init_msg = {type: 'init', config: {sampleRate: 48000, channels: 2}};
var workers = [];
async function do_handle_mssg(e) {
switch (e.data.type) {
case 'error' :
console.log('decoding error ' + e.data.error);
break;
case 'data' :
player.feed(e.data.payload);
break;
default:
}
};
for (var j = 0; j < 10; j++) {
var worker = new Worker('workers/decoder.js');
workers.push(worker);
worker.onmessage = do_handle_mssg;
worker.postMessage( init_msg );
}
var crrnt_worker = 0;
and calling it with next code:
workers[crrnt_worker].postMessage({
type: 'decode',
buffer: dt
});
crrnt_worker = crrnt_worker + 1;
if( crrnt_worker > 9) {
crrnt_worker = 0;
}
Audio gets garbled. Am I doing something wrong?
I am tying to distribute load among multiple decoder workers:
var init_msg = {type: 'init', config: {sampleRate: 48000, channels: 2}};var workers = [];async function do_handle_mssg(e) {switch (e.data.type) {case 'error' :console.log('decoding error ' + e.data.error);break;case 'data' :player.feed(e.data.payload);break;default:}};for (var j = 0; j < 10; j++) {var worker = new Worker('workers/decoder.js');workers.push(worker);worker.onmessage = do_handle_mssg;worker.postMessage( init_msg );}var crrnt_worker = 0;and calling it with next code:
workers[crrnt_worker].postMessage({type: 'decode',buffer: dt});crrnt_worker = crrnt_worker + 1;if( crrnt_worker > 9) {crrnt_worker = 0;}Audio gets garbled. Am I doing something wrong?