summaryrefslogtreecommitdiff
path: root/node_modules/@discordjs/opus/src/node-opus.h
diff options
context:
space:
mode:
author8cy <[email protected]>2020-04-03 02:37:42 -0700
committer8cy <[email protected]>2020-04-03 02:37:42 -0700
commit60867fb030bae582082340ead7dbc7efdc2f5398 (patch)
tree4c6a7356351be2e4914e15c4703172597c45656e /node_modules/@discordjs/opus/src/node-opus.h
parentcommenting (diff)
downloads5nical-60867fb030bae582082340ead7dbc7efdc2f5398.tar.xz
s5nical-60867fb030bae582082340ead7dbc7efdc2f5398.zip
2020/04/03, 02:34, v1.2.0
Diffstat (limited to 'node_modules/@discordjs/opus/src/node-opus.h')
-rw-r--r--node_modules/@discordjs/opus/src/node-opus.h43
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);
+};