-
Notifications
You must be signed in to change notification settings - Fork 3
Description
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?