diff options
Diffstat (limited to 'node_modules/@discordjs/opus/src/node-opus.h')
| -rw-r--r-- | node_modules/@discordjs/opus/src/node-opus.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/node_modules/@discordjs/opus/src/node-opus.h b/node_modules/@discordjs/opus/src/node-opus.h new file mode 100644 index 0000000..5ca3292 --- /dev/null +++ b/node_modules/@discordjs/opus/src/node-opus.h @@ -0,0 +1,43 @@ +using namespace Napi; + +#define FRAME_SIZE 960 +#define MAX_FRAME_SIZE 6 * 960 +#define MAX_PACKET_SIZE 3 * 1276 +#define BITRATE 64000 + +class OpusEncoder : public ObjectWrap<OpusEncoder> { + private: + OpusEncoder* encoder; + OpusDecoder* decoder; + + opus_int32 rate; + int channels; + int application; + + unsigned char outOpus[MAX_PACKET_SIZE]; + opus_int16* outPcm; + + protected: + int EnsureEncoder(); + + int EnsureDecoder(); + + public: + static Object Init(Napi::Env env, Object exports); + + OpusEncoder(const CallbackInfo& args); + + ~OpusEncoder(); + + Napi::Value Encode(const CallbackInfo& args); + + Napi::Value Decode(const CallbackInfo& args); + + void ApplyEncoderCTL(const CallbackInfo& args); + + void ApplyDecoderCTL(const CallbackInfo& args); + + void SetBitrate(const CallbackInfo& args); + + Napi::Value GetBitrate(const CallbackInfo& args); +}; |