@livekit/rtc-node 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/dist/audio_frame.cjs +94 -0
  2. package/dist/audio_frame.cjs.map +1 -0
  3. package/dist/audio_frame.js +64 -67
  4. package/dist/audio_frame.js.map +1 -1
  5. package/dist/audio_resampler.cjs +153 -0
  6. package/dist/audio_resampler.cjs.map +1 -0
  7. package/dist/audio_resampler.js +129 -134
  8. package/dist/audio_resampler.js.map +1 -1
  9. package/dist/audio_source.cjs +116 -0
  10. package/dist/audio_source.cjs.map +1 -0
  11. package/dist/audio_source.js +92 -85
  12. package/dist/audio_source.js.map +1 -1
  13. package/dist/audio_stream.cjs +104 -0
  14. package/dist/audio_stream.cjs.map +1 -0
  15. package/dist/audio_stream.js +77 -78
  16. package/dist/audio_stream.js.map +1 -1
  17. package/dist/e2ee.cjs +268 -0
  18. package/dist/e2ee.cjs.map +1 -0
  19. package/dist/e2ee.d.ts.map +1 -1
  20. package/dist/e2ee.js +244 -221
  21. package/dist/e2ee.js.map +1 -1
  22. package/dist/ffi_client.cjs +101 -0
  23. package/dist/ffi_client.cjs.map +1 -0
  24. package/dist/ffi_client.js +73 -48
  25. package/dist/ffi_client.js.map +1 -1
  26. package/dist/index.cjs +188 -0
  27. package/dist/index.cjs.map +1 -0
  28. package/dist/index.js +130 -48
  29. package/dist/index.js.map +1 -1
  30. package/dist/napi/native.d.cjs +17 -0
  31. package/dist/napi/native.d.cjs.map +1 -0
  32. package/dist/napi/native.d.js +1 -0
  33. package/dist/napi/native.d.js.map +1 -0
  34. package/dist/napi/native.d.ts +5 -5
  35. package/dist/native.cjs +301 -0
  36. package/dist/native.d.ts +19 -0
  37. package/dist/native.js +15 -0
  38. package/dist/participant.cjs +388 -0
  39. package/dist/participant.cjs.map +1 -0
  40. package/dist/participant.js +363 -339
  41. package/dist/participant.js.map +1 -1
  42. package/dist/proto/audio_frame_pb.cjs +193 -0
  43. package/dist/proto/audio_frame_pb.cjs.map +1 -0
  44. package/dist/proto/audio_frame_pb.d.ts +8 -8
  45. package/dist/proto/audio_frame_pb.d.ts.map +1 -1
  46. package/dist/proto/audio_frame_pb.js +122 -322
  47. package/dist/proto/audio_frame_pb.js.map +1 -1
  48. package/dist/proto/e2ee_pb.cjs +131 -0
  49. package/dist/proto/e2ee_pb.cjs.map +1 -0
  50. package/dist/proto/e2ee_pb.js +76 -202
  51. package/dist/proto/e2ee_pb.js.map +1 -1
  52. package/dist/proto/ffi_pb.cjs +76 -0
  53. package/dist/proto/ffi_pb.cjs.map +1 -0
  54. package/dist/proto/ffi_pb.d.ts +6 -6
  55. package/dist/proto/ffi_pb.d.ts.map +1 -1
  56. package/dist/proto/ffi_pb.js +39 -98
  57. package/dist/proto/ffi_pb.js.map +1 -1
  58. package/dist/proto/handle_pb.cjs +33 -0
  59. package/dist/proto/handle_pb.cjs.map +1 -0
  60. package/dist/proto/handle_pb.js +6 -22
  61. package/dist/proto/handle_pb.js.map +1 -1
  62. package/dist/proto/participant_pb.cjs +50 -0
  63. package/dist/proto/participant_pb.cjs.map +1 -0
  64. package/dist/proto/participant_pb.d.ts +1 -1
  65. package/dist/proto/participant_pb.d.ts.map +1 -1
  66. package/dist/proto/participant_pb.js +20 -58
  67. package/dist/proto/participant_pb.js.map +1 -1
  68. package/dist/proto/room_pb.cjs +370 -0
  69. package/dist/proto/room_pb.cjs.map +1 -0
  70. package/dist/proto/room_pb.d.ts +16 -16
  71. package/dist/proto/room_pb.d.ts.map +1 -1
  72. package/dist/proto/room_pb.js +245 -638
  73. package/dist/proto/room_pb.js.map +1 -1
  74. package/dist/proto/rpc_pb.cjs +63 -0
  75. package/dist/proto/rpc_pb.cjs.map +1 -0
  76. package/dist/proto/rpc_pb.js +26 -72
  77. package/dist/proto/rpc_pb.js.map +1 -1
  78. package/dist/proto/stats_pb.cjs +256 -0
  79. package/dist/proto/stats_pb.cjs.map +1 -0
  80. package/dist/proto/stats_pb.js +175 -456
  81. package/dist/proto/stats_pb.js.map +1 -1
  82. package/dist/proto/track_pb.cjs +116 -0
  83. package/dist/proto/track_pb.cjs.map +1 -0
  84. package/dist/proto/track_pb.d.ts +3 -3
  85. package/dist/proto/track_pb.d.ts.map +1 -1
  86. package/dist/proto/track_pb.js +68 -174
  87. package/dist/proto/track_pb.js.map +1 -1
  88. package/dist/proto/video_frame_pb.cjs +161 -0
  89. package/dist/proto/video_frame_pb.cjs.map +1 -0
  90. package/dist/proto/video_frame_pb.d.ts +5 -5
  91. package/dist/proto/video_frame_pb.d.ts.map +1 -1
  92. package/dist/proto/video_frame_pb.js +103 -271
  93. package/dist/proto/video_frame_pb.js.map +1 -1
  94. package/dist/room.cjs +440 -0
  95. package/dist/room.cjs.map +1 -0
  96. package/dist/room.js +384 -373
  97. package/dist/room.js.map +1 -1
  98. package/dist/rpc.cjs +89 -0
  99. package/dist/rpc.cjs.map +1 -0
  100. package/dist/rpc.js +59 -63
  101. package/dist/rpc.js.map +1 -1
  102. package/dist/track.cjs +100 -0
  103. package/dist/track.cjs.map +1 -0
  104. package/dist/track.js +66 -62
  105. package/dist/track.js.map +1 -1
  106. package/dist/track_publication.cjs +106 -0
  107. package/dist/track_publication.cjs.map +1 -0
  108. package/dist/track_publication.js +76 -74
  109. package/dist/track_publication.js.map +1 -1
  110. package/dist/transcription.cjs +17 -0
  111. package/dist/transcription.cjs.map +1 -0
  112. package/dist/transcription.js +0 -1
  113. package/dist/transcription.js.map +1 -1
  114. package/dist/types.cjs +17 -0
  115. package/dist/types.cjs.map +1 -0
  116. package/dist/types.js +0 -1
  117. package/dist/types.js.map +1 -1
  118. package/dist/version.cjs +29 -0
  119. package/dist/version.cjs.map +1 -0
  120. package/dist/version.d.ts +1 -1
  121. package/dist/version.js +4 -1
  122. package/dist/version.js.map +1 -1
  123. package/dist/video_frame.cjs +242 -0
  124. package/dist/video_frame.cjs.map +1 -0
  125. package/dist/video_frame.js +212 -201
  126. package/dist/video_frame.js.map +1 -1
  127. package/dist/video_source.cjs +63 -0
  128. package/dist/video_source.cjs.map +1 -0
  129. package/dist/video_source.d.ts.map +1 -1
  130. package/dist/video_source.js +42 -37
  131. package/dist/video_source.js.map +1 -1
  132. package/dist/video_stream.cjs +103 -0
  133. package/dist/video_stream.cjs.map +1 -0
  134. package/dist/video_stream.js +76 -77
  135. package/dist/video_stream.js.map +1 -1
  136. package/package.json +18 -9
  137. package/src/audio_frame.ts +2 -2
  138. package/src/audio_source.ts +2 -2
  139. package/src/e2ee.ts +2 -2
  140. package/src/napi/native.d.ts +5 -5
  141. package/src/proto/audio_frame_pb.ts +12 -12
  142. package/src/proto/e2ee_pb.ts +1 -1
  143. package/src/proto/ffi_pb.ts +13 -13
  144. package/src/proto/handle_pb.ts +1 -1
  145. package/src/proto/participant_pb.ts +3 -3
  146. package/src/proto/room_pb.ts +24 -24
  147. package/src/proto/rpc_pb.ts +1 -1
  148. package/src/proto/stats_pb.ts +1 -1
  149. package/src/proto/track_pb.ts +7 -7
  150. package/src/proto/video_frame_pb.ts +9 -9
  151. package/src/version.ts +1 -1
  152. package/src/video_frame.ts +1 -1
  153. package/src/video_source.ts +5 -1
@@ -0,0 +1,301 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /* prettier-ignore */
4
+
5
+ /* auto-generated by NAPI-RS */
6
+
7
+ const { existsSync, readFileSync } = require('fs')
8
+ const { join } = require('path');
9
+
10
+ const { platform, arch } = process;
11
+
12
+ let nativeBinding = null;
13
+ let localFileExisted = false;
14
+ let loadError = null;
15
+
16
+ function isMusl() {
17
+ // For Node 10
18
+ if (!process.report || typeof process.report.getReport !== 'function') {
19
+ try {
20
+ const lddPath = require('child_process').execSync('which ldd').toString().trim();
21
+ return readFileSync(lddPath, 'utf8').includes('musl');
22
+ } catch (e) {
23
+ return true;
24
+ }
25
+ } else {
26
+ const { glibcVersionRuntime } = process.report.getReport().header;
27
+ return !glibcVersionRuntime;
28
+ }
29
+ }
30
+
31
+ switch (platform) {
32
+ case 'android':
33
+ switch (arch) {
34
+ case 'arm64':
35
+ localFileExisted = existsSync(join(__dirname, 'rtc-node.android-arm64.node'));
36
+ try {
37
+ if (localFileExisted) {
38
+ nativeBinding = require('./rtc-node.android-arm64.node');
39
+ } else {
40
+ nativeBinding = require('@livekit/rtc-node-android-arm64');
41
+ }
42
+ } catch (e) {
43
+ loadError = e;
44
+ }
45
+ break;
46
+ case 'arm':
47
+ localFileExisted = existsSync(join(__dirname, 'rtc-node.android-arm-eabi.node'));
48
+ try {
49
+ if (localFileExisted) {
50
+ nativeBinding = require('./rtc-node.android-arm-eabi.node');
51
+ } else {
52
+ nativeBinding = require('@livekit/rtc-node-android-arm-eabi');
53
+ }
54
+ } catch (e) {
55
+ loadError = e;
56
+ }
57
+ break;
58
+ default:
59
+ throw new Error(`Unsupported architecture on Android ${arch}`);
60
+ }
61
+ break;
62
+ case 'win32':
63
+ switch (arch) {
64
+ case 'x64':
65
+ localFileExisted = existsSync(join(__dirname, 'rtc-node.win32-x64-msvc.node'));
66
+ try {
67
+ if (localFileExisted) {
68
+ nativeBinding = require('./rtc-node.win32-x64-msvc.node');
69
+ } else {
70
+ nativeBinding = require('@livekit/rtc-node-win32-x64-msvc');
71
+ }
72
+ } catch (e) {
73
+ loadError = e;
74
+ }
75
+ break;
76
+ case 'ia32':
77
+ localFileExisted = existsSync(join(__dirname, 'rtc-node.win32-ia32-msvc.node'));
78
+ try {
79
+ if (localFileExisted) {
80
+ nativeBinding = require('./rtc-node.win32-ia32-msvc.node');
81
+ } else {
82
+ nativeBinding = require('@livekit/rtc-node-win32-ia32-msvc');
83
+ }
84
+ } catch (e) {
85
+ loadError = e;
86
+ }
87
+ break;
88
+ case 'arm64':
89
+ localFileExisted = existsSync(join(__dirname, 'rtc-node.win32-arm64-msvc.node'));
90
+ try {
91
+ if (localFileExisted) {
92
+ nativeBinding = require('./rtc-node.win32-arm64-msvc.node');
93
+ } else {
94
+ nativeBinding = require('@livekit/rtc-node-win32-arm64-msvc');
95
+ }
96
+ } catch (e) {
97
+ loadError = e;
98
+ }
99
+ break;
100
+ default:
101
+ throw new Error(`Unsupported architecture on Windows: ${arch}`);
102
+ }
103
+ break;
104
+ case 'darwin':
105
+ localFileExisted = existsSync(join(__dirname, 'rtc-node.darwin-universal.node'));
106
+ try {
107
+ if (localFileExisted) {
108
+ nativeBinding = require('./rtc-node.darwin-universal.node');
109
+ } else {
110
+ nativeBinding = require('@livekit/rtc-node-darwin-universal');
111
+ }
112
+ break;
113
+ } catch {}
114
+ switch (arch) {
115
+ case 'x64':
116
+ localFileExisted = existsSync(join(__dirname, 'rtc-node.darwin-x64.node'));
117
+ try {
118
+ if (localFileExisted) {
119
+ nativeBinding = require('./rtc-node.darwin-x64.node');
120
+ } else {
121
+ nativeBinding = require('@livekit/rtc-node-darwin-x64');
122
+ }
123
+ } catch (e) {
124
+ loadError = e;
125
+ }
126
+ break;
127
+ case 'arm64':
128
+ localFileExisted = existsSync(join(__dirname, 'rtc-node.darwin-arm64.node'));
129
+ try {
130
+ if (localFileExisted) {
131
+ nativeBinding = require('./rtc-node.darwin-arm64.node');
132
+ } else {
133
+ nativeBinding = require('@livekit/rtc-node-darwin-arm64');
134
+ }
135
+ } catch (e) {
136
+ loadError = e;
137
+ }
138
+ break;
139
+ default:
140
+ throw new Error(`Unsupported architecture on macOS: ${arch}`);
141
+ }
142
+ break;
143
+ case 'freebsd':
144
+ if (arch !== 'x64') {
145
+ throw new Error(`Unsupported architecture on FreeBSD: ${arch}`);
146
+ }
147
+ localFileExisted = existsSync(join(__dirname, 'rtc-node.freebsd-x64.node'));
148
+ try {
149
+ if (localFileExisted) {
150
+ nativeBinding = require('./rtc-node.freebsd-x64.node');
151
+ } else {
152
+ nativeBinding = require('@livekit/rtc-node-freebsd-x64');
153
+ }
154
+ } catch (e) {
155
+ loadError = e;
156
+ }
157
+ break;
158
+ case 'linux':
159
+ switch (arch) {
160
+ case 'x64':
161
+ if (isMusl()) {
162
+ localFileExisted = existsSync(join(__dirname, 'rtc-node.linux-x64-musl.node'));
163
+ try {
164
+ if (localFileExisted) {
165
+ nativeBinding = require('./rtc-node.linux-x64-musl.node');
166
+ } else {
167
+ nativeBinding = require('@livekit/rtc-node-linux-x64-musl');
168
+ }
169
+ } catch (e) {
170
+ loadError = e;
171
+ }
172
+ } else {
173
+ localFileExisted = existsSync(join(__dirname, 'rtc-node.linux-x64-gnu.node'));
174
+ try {
175
+ if (localFileExisted) {
176
+ nativeBinding = require('./rtc-node.linux-x64-gnu.node');
177
+ } else {
178
+ nativeBinding = require('@livekit/rtc-node-linux-x64-gnu');
179
+ }
180
+ } catch (e) {
181
+ loadError = e;
182
+ }
183
+ }
184
+ break;
185
+ case 'arm64':
186
+ if (isMusl()) {
187
+ localFileExisted = existsSync(join(__dirname, 'rtc-node.linux-arm64-musl.node'));
188
+ try {
189
+ if (localFileExisted) {
190
+ nativeBinding = require('./rtc-node.linux-arm64-musl.node');
191
+ } else {
192
+ nativeBinding = require('@livekit/rtc-node-linux-arm64-musl');
193
+ }
194
+ } catch (e) {
195
+ loadError = e;
196
+ }
197
+ } else {
198
+ localFileExisted = existsSync(join(__dirname, 'rtc-node.linux-arm64-gnu.node'));
199
+ try {
200
+ if (localFileExisted) {
201
+ nativeBinding = require('./rtc-node.linux-arm64-gnu.node');
202
+ } else {
203
+ nativeBinding = require('@livekit/rtc-node-linux-arm64-gnu');
204
+ }
205
+ } catch (e) {
206
+ loadError = e;
207
+ }
208
+ }
209
+ break;
210
+ case 'arm':
211
+ if (isMusl()) {
212
+ localFileExisted = existsSync(join(__dirname, 'rtc-node.linux-arm-musleabihf.node'));
213
+ try {
214
+ if (localFileExisted) {
215
+ nativeBinding = require('./rtc-node.linux-arm-musleabihf.node');
216
+ } else {
217
+ nativeBinding = require('@livekit/rtc-node-linux-arm-musleabihf');
218
+ }
219
+ } catch (e) {
220
+ loadError = e;
221
+ }
222
+ } else {
223
+ localFileExisted = existsSync(join(__dirname, 'rtc-node.linux-arm-gnueabihf.node'));
224
+ try {
225
+ if (localFileExisted) {
226
+ nativeBinding = require('./rtc-node.linux-arm-gnueabihf.node');
227
+ } else {
228
+ nativeBinding = require('@livekit/rtc-node-linux-arm-gnueabihf');
229
+ }
230
+ } catch (e) {
231
+ loadError = e;
232
+ }
233
+ }
234
+ break;
235
+ case 'riscv64':
236
+ if (isMusl()) {
237
+ localFileExisted = existsSync(join(__dirname, 'rtc-node.linux-riscv64-musl.node'));
238
+ try {
239
+ if (localFileExisted) {
240
+ nativeBinding = require('./rtc-node.linux-riscv64-musl.node');
241
+ } else {
242
+ nativeBinding = require('@livekit/rtc-node-linux-riscv64-musl');
243
+ }
244
+ } catch (e) {
245
+ loadError = e;
246
+ }
247
+ } else {
248
+ localFileExisted = existsSync(join(__dirname, 'rtc-node.linux-riscv64-gnu.node'));
249
+ try {
250
+ if (localFileExisted) {
251
+ nativeBinding = require('./rtc-node.linux-riscv64-gnu.node');
252
+ } else {
253
+ nativeBinding = require('@livekit/rtc-node-linux-riscv64-gnu');
254
+ }
255
+ } catch (e) {
256
+ loadError = e;
257
+ }
258
+ }
259
+ break;
260
+ case 's390x':
261
+ localFileExisted = existsSync(join(__dirname, 'rtc-node.linux-s390x-gnu.node'));
262
+ try {
263
+ if (localFileExisted) {
264
+ nativeBinding = require('./rtc-node.linux-s390x-gnu.node');
265
+ } else {
266
+ nativeBinding = require('@livekit/rtc-node-linux-s390x-gnu');
267
+ }
268
+ } catch (e) {
269
+ loadError = e;
270
+ }
271
+ break;
272
+ default:
273
+ throw new Error(`Unsupported architecture on Linux: ${arch}`);
274
+ }
275
+ break;
276
+ default:
277
+ throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`);
278
+ }
279
+
280
+ if (!nativeBinding) {
281
+ if (loadError) {
282
+ throw loadError;
283
+ }
284
+ throw new Error(`Failed to load native binding`);
285
+ }
286
+
287
+ const {
288
+ livekitInitialize,
289
+ livekitFfiRequest,
290
+ livekitRetrievePtr,
291
+ livekitCopyBuffer,
292
+ livekitDispose,
293
+ FfiHandle,
294
+ } = nativeBinding;
295
+
296
+ module.exports.livekitInitialize = livekitInitialize;
297
+ module.exports.livekitFfiRequest = livekitFfiRequest;
298
+ module.exports.livekitRetrievePtr = livekitRetrievePtr;
299
+ module.exports.livekitCopyBuffer = livekitCopyBuffer;
300
+ module.exports.livekitDispose = livekitDispose;
301
+ module.exports.FfiHandle = FfiHandle;
@@ -0,0 +1,19 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+
4
+ /* auto-generated by NAPI-RS */
5
+
6
+ export function livekitInitialize(
7
+ callback: (data: Uint8Array) => void,
8
+ captureLogs: boolean,
9
+ sdkVersion: string,
10
+ ): void;
11
+ export function livekitFfiRequest(data: Uint8Array): Uint8Array;
12
+ export function livekitRetrievePtr(handle: Uint8Array): bigint;
13
+ export function livekitCopyBuffer(ptr: bigint, len: number): Uint8Array;
14
+ export function livekitDispose(): Promise<void>;
15
+ export declare class FfiHandle {
16
+ constructor(handle: bigint);
17
+ dispose(): void;
18
+ get handle(): bigint;
19
+ }
package/dist/native.js ADDED
@@ -0,0 +1,15 @@
1
+ // SPDX-FileCopyrightText: 2024 LiveKit, Inc.
2
+ //
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ // this file exists to smoothly translate the autogenerated CommonJS code
5
+ // to an ES module that plays better with TypeScript.
6
+ import native from './native.cjs';
7
+
8
+ export const {
9
+ livekitDispose,
10
+ livekitInitialize,
11
+ livekitCopyBuffer,
12
+ livekitRetrievePtr,
13
+ livekitFfiRequest,
14
+ FfiHandle,
15
+ } = native;