Add opusscript as a possible opus encoder (#558)

* Add opusscript as a possible opus encoder

* Make weird eslint rule happy
This commit is contained in:
abal 2016-08-28 09:35:59 -07:00 committed by Amish Shah
parent a959cd339c
commit ac7e1a052c
4 changed files with 32 additions and 2 deletions

View file

@ -35,7 +35,8 @@
"fs-extra": "^0.30.0"
},
"optionalDependencies": {
"node-opus": "^0.1.13"
"node-opus": "^0.1.13",
"opusscript": "^0.0.1"
},
"engines": {
"node": ">=0.12.7"

View file

@ -20,7 +20,7 @@ class NodeOpusEngine extends OpusEngine {
}
decode(buffer) {
super.encode(buffer);
super.decode(buffer);
return this.encoder.decode(buffer, 1920);
}
}

View file

@ -1,5 +1,6 @@
const list = [
require('./NodeOpusEngine'),
require('./OpusScriptEngine'),
];
exports.add = encoder => {

View file

@ -0,0 +1,28 @@
const OpusEngine = require('./BaseOpusEngine');
let Opusscript;
class NodeOpusEngine extends OpusEngine {
constructor(player) {
super(player);
try {
// eslint-disable-next-line import/no-unresolved
Opusscript = require('opusscript');
} catch (err) {
throw err;
}
this.encoder = new Opusscript(48000, 2);
}
encode(buffer) {
super.encode(buffer);
return this.encoder.encode(buffer, 960);
}
decode(buffer) {
super.decode(buffer);
return this.encoder.decode(buffer);
}
}
module.exports = NodeOpusEngine;