'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = function (self) { var opusEncoder; self.addEventListener('message', function (e) { var data = e.data; if (data.action === 'reset') { if (opusEncoder) { opusEncoder.destroy(); opusEncoder = null; } } else if (data.action === 'encodeOpus') { if (!opusEncoder) { opusEncoder = new _libopus.Encoder({ unsafe: true, channels: data.numberOfChannels, rate: MUMBLE_SAMPLE_RATE }); } var encoded = opusEncoder.encode(new Float32Array(data.buffer)); var buffer = (0, _toArraybuffer2.default)(encoded); self.postMessage({ target: data.target, buffer: buffer, position: data.position }, [buffer]); } }); }; var _libopus = require('libopus.js'); var _toArraybuffer = require('to-arraybuffer'); var _toArraybuffer2 = _interopRequireDefault(_toArraybuffer); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var MUMBLE_SAMPLE_RATE = 48000;