@livekit/rtc-node 0.1.0 → 0.2.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 (51) hide show
  1. package/dist/audio_stream.d.ts +4 -1
  2. package/dist/audio_stream.d.ts.map +1 -1
  3. package/dist/audio_stream.js +1 -1
  4. package/dist/audio_stream.js.map +1 -1
  5. package/dist/index.d.ts +4 -4
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +2 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/proto/audio_frame_pb.d.ts +0 -46
  10. package/dist/proto/audio_frame_pb.d.ts.map +1 -1
  11. package/dist/proto/audio_frame_pb.js +0 -70
  12. package/dist/proto/audio_frame_pb.js.map +1 -1
  13. package/dist/proto/ffi_pb.d.ts +31 -44
  14. package/dist/proto/ffi_pb.d.ts.map +1 -1
  15. package/dist/proto/ffi_pb.js +35 -10
  16. package/dist/proto/ffi_pb.js.map +1 -1
  17. package/dist/proto/room_pb.d.ts +5 -1
  18. package/dist/proto/room_pb.d.ts.map +1 -1
  19. package/dist/proto/room_pb.js +5 -0
  20. package/dist/proto/room_pb.js.map +1 -1
  21. package/dist/proto/video_frame_pb.d.ts +124 -390
  22. package/dist/proto/video_frame_pb.d.ts.map +1 -1
  23. package/dist/proto/video_frame_pb.js +149 -486
  24. package/dist/proto/video_frame_pb.js.map +1 -1
  25. package/dist/video_frame.d.ts +8 -103
  26. package/dist/video_frame.d.ts.map +1 -1
  27. package/dist/video_frame.js +157 -323
  28. package/dist/video_frame.js.map +1 -1
  29. package/dist/video_source.d.ts +2 -2
  30. package/dist/video_source.d.ts.map +1 -1
  31. package/dist/video_source.js +5 -10
  32. package/dist/video_source.js.map +1 -1
  33. package/dist/video_stream.d.ts +7 -2
  34. package/dist/video_stream.d.ts.map +1 -1
  35. package/dist/video_stream.js +5 -5
  36. package/dist/video_stream.js.map +1 -1
  37. package/package.json +6 -6
  38. package/src/audio_stream.ts +6 -2
  39. package/src/index.ts +3 -16
  40. package/src/proto/audio_frame_pb.ts +1 -91
  41. package/src/proto/e2ee_pb.ts +1 -1
  42. package/src/proto/ffi_pb.ts +55 -53
  43. package/src/proto/handle_pb.ts +1 -1
  44. package/src/proto/participant_pb.ts +1 -1
  45. package/src/proto/room_pb.ts +7 -1
  46. package/src/proto/stats_pb.ts +1 -1
  47. package/src/proto/track_pb.ts +1 -1
  48. package/src/proto/video_frame_pb.ts +186 -641
  49. package/src/video_frame.ts +181 -578
  50. package/src/video_source.ts +5 -9
  51. package/src/video_stream.ts +13 -6
@@ -1,350 +1,184 @@
1
1
  // SPDX-FileCopyrightText: 2024 LiveKit, Inc.
2
2
  //
3
3
  // SPDX-License-Identifier: Apache-2.0
4
- import { FfiClient, FfiHandle } from './ffi_client.js';
5
- import { BiplanarYuvBufferInfo, PlanarYuvBufferInfo, ToI420Request, VideoFrameBufferInfo, VideoFrameBufferType, } from './proto/video_frame_pb.js';
4
+ import { FfiClient, FfiRequest } from './ffi_client.js';
5
+ import { VideoBufferInfo, VideoBufferInfo_ComponentInfo, VideoBufferType, } from './proto/video_frame_pb.js';
6
6
  export class VideoFrame {
7
- constructor(timestampUs, rotation, buffer) {
8
- this.timestampUs = timestampUs;
9
- this.rotation = rotation;
10
- this.buffer = buffer;
11
- }
12
- }
13
- export class VideoFrameBuffer {
14
- constructor(data, width, height, bufferType) {
7
+ constructor(data, width, height, type, dataPtr) {
15
8
  this.data = data;
16
9
  this.width = width;
17
10
  this.height = height;
18
- this.bufferType = bufferType;
19
- }
20
- /** @internal */
21
- static fromOwnedInfo(owned) {
22
- let info = owned.info;
23
- switch (info.bufferType) {
24
- case VideoFrameBufferType.NATIVE:
25
- return NativeBuffer.fromOwnedInfo(owned);
26
- case VideoFrameBufferType.I420:
27
- return I420Buffer.fromOwnedInfo(owned);
28
- case VideoFrameBufferType.I420A:
29
- return I420ABuffer.fromOwnedInfo(owned);
30
- case VideoFrameBufferType.I422:
31
- return I422Buffer.fromOwnedInfo(owned);
32
- case VideoFrameBufferType.I444:
33
- return I444Buffer.fromOwnedInfo(owned);
34
- case VideoFrameBufferType.I010:
35
- return I010Buffer.fromOwnedInfo(owned);
36
- case VideoFrameBufferType.NV12:
37
- return NV12Buffer.fromOwnedInfo(owned);
38
- }
39
- }
40
- }
41
- export class NativeBuffer extends VideoFrameBuffer {
42
- constructor(ownedInfo) {
43
- super(new Uint8Array(), ownedInfo.info.width, ownedInfo.info.height, ownedInfo.info.bufferType);
44
- this.info = ownedInfo.info;
45
- }
46
- /** @internal */
47
- protoInfo() {
48
- return this.info;
49
- }
50
- }
51
- export class PlanarYuvBuffer extends VideoFrameBuffer {
52
- constructor(data, width, height, bufferType, strideY, strideU, strideV, chromaWidth, chromaHeight) {
53
- super(data, width, height, bufferType);
54
- this.strideY = strideY;
55
- this.strideU = strideU;
56
- this.strideV = strideV;
57
- this.chromaWidth = chromaWidth;
58
- this.chromaHeight = chromaHeight;
59
- }
60
- /** @internal */
61
- protoInfo() {
62
- let info = new VideoFrameBufferInfo({
63
- width: this.width,
64
- height: this.height,
65
- bufferType: this.bufferType,
66
- buffer: {
67
- case: 'yuv',
68
- value: new PlanarYuvBufferInfo({
69
- strideY: this.strideY,
70
- strideU: this.strideU,
71
- strideV: this.strideV,
72
- chromaWidth: this.chromaWidth,
73
- chromaHeight: this.chromaHeight,
74
- }),
75
- },
76
- });
77
- return info;
78
- }
79
- }
80
- export class PlanarYuv8Buffer extends PlanarYuvBuffer {
81
- constructor(data, width, height, bufferType, strideY, strideU, strideV, chromaWidth, chromaHeight) {
82
- super(data, width, height, bufferType, strideY, strideU, strideV, chromaWidth, chromaHeight);
83
- }
84
- /** @internal */
85
- protoInfo() {
86
- let info = super.protoInfo();
87
- let yuv = info.buffer.value;
88
- yuv.dataYPtr = FfiClient.instance.retrievePtr(this.dataY());
89
- yuv.dataUPtr = FfiClient.instance.retrievePtr(this.dataU());
90
- yuv.dataVPtr = FfiClient.instance.retrievePtr(this.dataV());
91
- return info;
92
- }
93
- dataY() {
94
- return this.data.subarray(0, this.strideY * this.height);
95
- }
96
- dataU() {
97
- return this.data.subarray(this.strideY * this.height, this.strideY * this.height + this.strideU * this.chromaHeight);
98
- }
99
- dataV() {
100
- return this.data.subarray(this.strideY * this.height + this.strideU * this.chromaHeight, this.strideY * this.height +
101
- this.strideU * this.chromaHeight +
102
- this.strideV * this.chromaHeight);
103
- }
104
- }
105
- export class PlanarYuv16Buffer extends PlanarYuvBuffer {
106
- constructor(data, width, height, bufferType, strideY, strideU, strideV, chromaWidth, chromaHeight) {
107
- super(new Uint8Array(data), width, height, bufferType, strideY, strideU, strideV, chromaWidth, chromaHeight);
108
- }
109
- /** @internal */
110
- protoInfo() {
111
- let info = super.protoInfo();
112
- let yuv = info.buffer.value;
113
- yuv.dataYPtr = FfiClient.instance.retrievePtr(new Uint8Array(this.dataY()));
114
- yuv.dataUPtr = FfiClient.instance.retrievePtr(new Uint8Array(this.dataU()));
115
- yuv.dataVPtr = FfiClient.instance.retrievePtr(new Uint8Array(this.dataV()));
116
- return info;
117
- }
118
- dataY() {
119
- return new Uint16Array(this.data.subarray(0, this.strideY * this.height));
120
- }
121
- dataU() {
122
- return new Uint16Array(this.data.subarray(this.strideY * this.height, this.strideY * this.height + this.strideU * this.chromaHeight));
123
- }
124
- dataV() {
125
- return new Uint16Array(this.data.subarray(this.strideY * this.height + this.strideU * this.chromaHeight, this.strideY * this.height +
126
- this.strideU * this.chromaHeight +
127
- this.strideV * this.chromaHeight));
128
- }
129
- }
130
- export class BiplanarYuv8Buffer extends VideoFrameBuffer {
131
- constructor(data, width, height, bufferType, strideY, strideUV, chromaWidth, chromaHeight) {
132
- super(data, width, height, bufferType);
133
- this.strideY = strideY;
134
- this.strideUV = strideUV;
135
- this.chromaWidth = chromaWidth;
136
- this.chromaHeight = chromaHeight;
11
+ this.type = type;
12
+ this.dataPtr = dataPtr;
137
13
  }
138
14
  /** @internal */
139
15
  protoInfo() {
140
- let info = new VideoFrameBufferInfo({
16
+ const info = new VideoBufferInfo({
141
17
  width: this.width,
142
18
  height: this.height,
143
- bufferType: this.bufferType,
144
- buffer: {
145
- case: 'biYuv',
146
- value: new BiplanarYuvBufferInfo({
147
- strideY: this.strideY,
148
- strideUv: this.strideUV,
149
- chromaWidth: this.chromaWidth,
150
- chromaHeight: this.chromaHeight,
151
- }),
152
- },
19
+ type: this.type,
20
+ dataPtr: this.dataPtr,
153
21
  });
22
+ switch (this.type) {
23
+ case VideoBufferType.ARGB:
24
+ case VideoBufferType.RGBA:
25
+ case VideoBufferType.ABGR:
26
+ case VideoBufferType.BGRA:
27
+ info.stride = this.width * 4;
28
+ case VideoBufferType.RGB24:
29
+ info.stride = this.width * 3;
30
+ }
31
+ info.components.push(...getPlaneInfos(this.dataPtr, this.type, this.width, this.height));
154
32
  return info;
155
33
  }
156
- dataY() {
157
- return this.data.subarray(0, this.strideY * this.height);
158
- }
159
- dataUV() {
160
- return this.data.subarray(this.strideY * this.height, this.strideY * this.height + this.strideUV * this.chromaHeight);
161
- }
162
- }
163
- export class I420Buffer extends PlanarYuv8Buffer {
164
- constructor(data, width, height, strideY, strideU, strideV) {
165
- let chromaWidth = ~~((width + 1) / 2);
166
- let chromaHeight = ~~((height + 1) / 2);
167
- super(data, width, height, VideoFrameBufferType.I420, strideY, strideU, strideV, chromaWidth, chromaHeight);
168
- }
169
34
  /** @internal */
170
35
  static fromOwnedInfo(owned) {
171
36
  let info = owned.info;
172
- let yuv = info.buffer.value;
173
- let strideY = yuv.strideY;
174
- let strideU = yuv.strideU;
175
- let strideV = yuv.strideV;
176
- let nbytes = I420Buffer.calcDataSize(info.height, strideY, strideU, strideV);
177
- let data = FfiClient.instance.copyBuffer(yuv.dataYPtr, nbytes);
178
- new FfiHandle(owned.handle.id).dispose();
179
- return new I420Buffer(data, info.width, info.height, strideY, strideU, strideV);
180
- }
181
- static calcDataSize(height, strideY, strideU, strideV) {
182
- let chromaHeight = ~~((height + 1) / 2);
183
- return strideY * height + strideU * chromaHeight + strideV * chromaHeight;
37
+ return new VideoFrame(FfiClient.instance.copyBuffer(info.dataPtr, getPlaneLength(info.type, info.width, info.height)), info.width, info.height, info.type, info.dataPtr);
184
38
  }
185
- static create(width, height) {
186
- let strideY = width;
187
- let strideU = ~~((width + 1) / 2);
188
- let strideV = ~~((width + 1) / 2);
189
- let dataSize = I420Buffer.calcDataSize(height, strideY, strideU, strideV);
190
- let data = new Uint8Array(dataSize);
191
- return new I420Buffer(data, width, height, strideY, strideU, strideV);
39
+ getPlane(planeNth) {
40
+ const planeInfos = getPlaneInfos(this.dataPtr, this.type, this.width, this.height);
41
+ if (planeNth >= planeInfos.length)
42
+ return;
43
+ const planeInfo = planeInfos[planeNth];
44
+ return FfiClient.instance.copyBuffer(planeInfo.dataPtr, planeInfo.size);
192
45
  }
193
- }
194
- export class I420ABuffer extends PlanarYuv8Buffer {
195
- constructor(data, width, height, strideY, strideU, strideV, strideA) {
196
- let chromaWidth = ~~((width + 1) / 2);
197
- let chromaHeight = ~~((height + 1) / 2);
198
- super(data, width, height, VideoFrameBufferType.I420A, strideY, strideU, strideV, chromaWidth, chromaHeight);
199
- this.strideA = strideA;
200
- }
201
- /** @internal */
202
- static fromOwnedInfo(owned) {
203
- let info = owned.info;
204
- let yuv = info.buffer.value;
205
- let strideY = yuv.strideY;
206
- let strideU = yuv.strideU;
207
- let strideV = yuv.strideV;
208
- let strideA = yuv.strideA;
209
- let nbytes = I420ABuffer.calcDataSize(info.height, strideY, strideU, strideV, strideA);
210
- let data = FfiClient.instance.copyBuffer(yuv.dataYPtr, nbytes);
211
- new FfiHandle(owned.handle.id).dispose();
212
- return new I420ABuffer(data, info.width, info.height, strideY, strideU, strideV, strideA);
213
- }
214
- static calcDataSize(height, strideY, strideU, strideV, strideA) {
215
- let chromaHeight = ~~((height + 1) / 2);
216
- return strideY * height + strideU * chromaHeight + strideV * chromaHeight + strideA * height;
217
- }
218
- dataA() {
219
- return this.data.subarray(this.strideY * this.height +
220
- this.strideU * this.chromaHeight +
221
- this.strideV * this.chromaHeight, this.strideY * this.height +
222
- this.strideU * this.chromaHeight +
223
- this.strideV * this.chromaHeight +
224
- this.strideA * this.height);
225
- }
226
- }
227
- export class I422Buffer extends PlanarYuv8Buffer {
228
- constructor(data, width, height, strideY, strideU, strideV) {
229
- let chromaWidth = ~~((width + 1) / 2);
230
- let chromaHeight = height;
231
- super(data, width, height, VideoFrameBufferType.I422, strideY, strideU, strideV, chromaWidth, chromaHeight);
232
- }
233
- /** @internal */
234
- static fromOwnedInfo(owned) {
235
- let info = owned.info;
236
- let yuv = info.buffer.value;
237
- let strideY = yuv.strideY;
238
- let strideU = yuv.strideU;
239
- let strideV = yuv.strideV;
240
- let nbytes = I422Buffer.calcDataSize(info.height, strideY, strideU, strideV);
241
- let data = FfiClient.instance.copyBuffer(yuv.dataYPtr, nbytes);
242
- new FfiHandle(owned.handle.id).dispose();
243
- return new I422Buffer(data, info.width, info.height, strideY, strideU, strideV);
244
- }
245
- static calcDataSize(height, strideY, strideU, strideV) {
246
- return strideY * height + strideU * height + strideV * height;
247
- }
248
- }
249
- export class I444Buffer extends PlanarYuv8Buffer {
250
- constructor(data, width, height, strideY, strideU, strideV) {
251
- let chromaWidth = width;
252
- let chromaHeight = height;
253
- super(data, width, height, VideoFrameBufferType.I444, strideY, strideU, strideV, chromaWidth, chromaHeight);
254
- }
255
- /** @internal */
256
- static fromOwnedInfo(owned) {
257
- let info = owned.info;
258
- let yuv = info.buffer.value;
259
- let strideY = yuv.strideY;
260
- let strideU = yuv.strideU;
261
- let strideV = yuv.strideV;
262
- let nbytes = I444Buffer.calcDataSize(info.height, strideY, strideU, strideV);
263
- let data = FfiClient.instance.copyBuffer(yuv.dataYPtr, nbytes);
264
- new FfiHandle(owned.handle.id).dispose();
265
- return new I444Buffer(data, info.width, info.height, strideY, strideU, strideV);
266
- }
267
- static calcDataSize(height, strideY, strideU, strideV) {
268
- return strideY * height + strideU * height + strideV * height;
269
- }
270
- }
271
- export class I010Buffer extends PlanarYuv16Buffer {
272
- constructor(data, width, height, strideY, strideU, strideV) {
273
- let chromaWidth = ~~((width + 1) / 2);
274
- let chromaHeight = ~~((height + 1) / 2);
275
- super(data, width, height, VideoFrameBufferType.I010, strideY, strideU, strideV, chromaWidth, chromaHeight);
276
- }
277
- /** @internal */
278
- static fromOwnedInfo(owned) {
279
- let info = owned.info;
280
- let yuv = info.buffer.value;
281
- let strideY = yuv.strideY;
282
- let strideU = yuv.strideU;
283
- let strideV = yuv.strideV;
284
- let nbytes = I010Buffer.calcDataSize(info.height, strideY, strideU, strideV);
285
- let data = FfiClient.instance.copyBuffer(yuv.dataYPtr, nbytes);
286
- new FfiHandle(owned.handle.id).dispose();
287
- return new I010Buffer(new Uint16Array(data), info.width, info.height, strideY, strideU, strideV);
288
- }
289
- static calcDataSize(height, strideY, strideU, strideV) {
290
- let chromaHeight = ~~((height + 1) / 2);
291
- return (strideY * height + strideU * chromaHeight + strideV * chromaHeight) * 2;
292
- }
293
- }
294
- export class NV12Buffer extends BiplanarYuv8Buffer {
295
- constructor(data, width, height, strideY, strideUV) {
296
- let chromaWidth = ~~((width + 1) / 2);
297
- let chromaHeight = ~~((height + 1) / 2);
298
- super(data, width, height, VideoFrameBufferType.NV12, strideY, strideUV, chromaWidth, chromaHeight);
299
- }
300
- /** @internal */
301
- static fromOwnedInfo(owned) {
302
- let info = owned.info;
303
- let yuv = info.buffer.value;
304
- let strideY = yuv.strideY;
305
- let strideUV = yuv.strideUv;
306
- let nbytes = NV12Buffer.calcDataSize(info.height, strideY, strideUV);
307
- let data = FfiClient.instance.copyBuffer(yuv.dataYPtr, nbytes);
308
- new FfiHandle(owned.handle.id).dispose();
309
- return new NV12Buffer(data, info.width, info.height, strideY, strideUV);
310
- }
311
- static calcDataSize(height, strideY, strideUV) {
312
- let chromaHeight = ~~((height + 1) / 2);
313
- return strideY * height + strideUV * chromaHeight;
314
- }
315
- }
316
- export class ArgbFrame {
317
- constructor(data, format, width, height, stride = width * 4) {
318
- this.data = data;
319
- this.format = format;
320
- this.width = width;
321
- this.height = height;
322
- this.stride = stride;
323
- }
324
- static create(format, width, height) {
325
- let data = new Uint8Array(width * height * 4);
326
- return new ArgbFrame(data, format, width, height);
327
- }
328
- toI420() {
329
- let req = new ToI420Request({
330
- from: {
331
- case: 'argb',
46
+ convert(dstType, flipY = false) {
47
+ const req = new FfiRequest({
48
+ message: {
49
+ case: 'videoConvert',
332
50
  value: {
333
- format: this.format,
334
- width: this.width,
335
- height: this.height,
336
- stride: this.stride,
337
- ptr: FfiClient.instance.retrievePtr(this.data),
51
+ flipY,
52
+ dstType,
53
+ buffer: this.protoInfo(),
338
54
  },
339
55
  },
340
56
  });
341
- let resp = FfiClient.instance.request({
342
- message: {
343
- case: 'toI420',
344
- value: req,
345
- },
346
- });
347
- return I420Buffer.fromOwnedInfo(resp.buffer);
57
+ const resp = FfiClient.instance.request(req);
58
+ if (resp.error) {
59
+ throw resp.error;
60
+ }
61
+ return VideoFrame.fromOwnedInfo(resp.buffer);
348
62
  }
349
63
  }
64
+ const getPlaneLength = (type, width, height) => {
65
+ const chromaWidth = Math.trunc((width + 1) / 2);
66
+ const chromaHeight = Math.trunc((height + 1) / 2);
67
+ switch (type) {
68
+ case VideoBufferType.ARGB:
69
+ case VideoBufferType.RGBA:
70
+ case VideoBufferType.ABGR:
71
+ case VideoBufferType.BGRA:
72
+ return width * height * 4;
73
+ case VideoBufferType.RGB24:
74
+ case VideoBufferType.I444:
75
+ return width * height * 3;
76
+ case VideoBufferType.I420:
77
+ return width * height + chromaWidth * chromaHeight * 2;
78
+ case VideoBufferType.I420A:
79
+ return width * height * 2 + chromaWidth * chromaWidth * 2;
80
+ case VideoBufferType.I422:
81
+ return width * height + chromaWidth * height * 2;
82
+ case VideoBufferType.I010:
83
+ return width * height * 2 + chromaWidth * chromaHeight * 4;
84
+ case VideoBufferType.NV12:
85
+ return width * height + chromaWidth * chromaWidth * 2;
86
+ }
87
+ };
88
+ const getPlaneInfos = (dataPtr, type, width, height) => {
89
+ const chromaWidth = Math.trunc((width + 1) / 2);
90
+ const chromaHeight = Math.trunc((height + 1) / 2);
91
+ switch (type) {
92
+ case VideoBufferType.I420: {
93
+ const y = new VideoBufferInfo_ComponentInfo({ dataPtr, stride: width, size: width * height });
94
+ const u = new VideoBufferInfo_ComponentInfo({
95
+ dataPtr: y.dataPtr + BigInt(y.size),
96
+ stride: chromaWidth,
97
+ size: chromaWidth * chromaHeight,
98
+ });
99
+ const v = new VideoBufferInfo_ComponentInfo({
100
+ dataPtr: u.dataPtr + BigInt(u.size),
101
+ stride: chromaWidth,
102
+ size: chromaWidth * chromaHeight,
103
+ });
104
+ return [y, u, v];
105
+ }
106
+ case VideoBufferType.I420A: {
107
+ const y = new VideoBufferInfo_ComponentInfo({ dataPtr, stride: width, size: width * height });
108
+ const u = new VideoBufferInfo_ComponentInfo({
109
+ dataPtr: y.dataPtr + BigInt(y.size),
110
+ stride: chromaWidth,
111
+ size: chromaWidth * chromaHeight,
112
+ });
113
+ const v = new VideoBufferInfo_ComponentInfo({
114
+ dataPtr: u.dataPtr + BigInt(u.size),
115
+ stride: chromaWidth,
116
+ size: chromaWidth * chromaHeight,
117
+ });
118
+ const a = new VideoBufferInfo_ComponentInfo({
119
+ dataPtr: v.dataPtr + BigInt(v.size),
120
+ stride: width,
121
+ size: width * height,
122
+ });
123
+ return [y, u, v, a];
124
+ }
125
+ case VideoBufferType.I422: {
126
+ const y = new VideoBufferInfo_ComponentInfo({ dataPtr, stride: width, size: width * height });
127
+ const u = new VideoBufferInfo_ComponentInfo({
128
+ dataPtr: y.dataPtr + BigInt(y.size),
129
+ stride: chromaWidth,
130
+ size: chromaWidth * height,
131
+ });
132
+ const v = new VideoBufferInfo_ComponentInfo({
133
+ dataPtr: u.dataPtr + BigInt(u.size),
134
+ stride: chromaWidth,
135
+ size: chromaWidth * height,
136
+ });
137
+ return [y, u, v];
138
+ }
139
+ case VideoBufferType.I444: {
140
+ const y = new VideoBufferInfo_ComponentInfo({ dataPtr, stride: width, size: width * height });
141
+ const u = new VideoBufferInfo_ComponentInfo({
142
+ dataPtr: y.dataPtr + BigInt(y.size),
143
+ stride: width,
144
+ size: width * height,
145
+ });
146
+ const v = new VideoBufferInfo_ComponentInfo({
147
+ dataPtr: u.dataPtr + BigInt(u.size),
148
+ stride: width,
149
+ size: width * height,
150
+ });
151
+ return [y, u, v];
152
+ }
153
+ case VideoBufferType.I010: {
154
+ const y = new VideoBufferInfo_ComponentInfo({
155
+ dataPtr,
156
+ stride: width * 2,
157
+ size: width * height * 2,
158
+ });
159
+ const u = new VideoBufferInfo_ComponentInfo({
160
+ dataPtr: y.dataPtr + BigInt(y.size),
161
+ stride: chromaWidth * 2,
162
+ size: chromaWidth * chromaHeight * 2,
163
+ });
164
+ const v = new VideoBufferInfo_ComponentInfo({
165
+ dataPtr: u.dataPtr + BigInt(u.size),
166
+ stride: chromaWidth * 2,
167
+ size: chromaWidth * chromaHeight * 2,
168
+ });
169
+ return [y, u, v];
170
+ }
171
+ case VideoBufferType.NV12: {
172
+ const y = new VideoBufferInfo_ComponentInfo({ dataPtr, stride: width, size: width * height });
173
+ const uv = new VideoBufferInfo_ComponentInfo({
174
+ dataPtr: y.dataPtr + BigInt(y.size),
175
+ stride: chromaWidth * 2,
176
+ size: chromaWidth * chromaHeight * 2,
177
+ });
178
+ return [y, uv];
179
+ }
180
+ default:
181
+ return [];
182
+ }
183
+ };
350
184
  //# sourceMappingURL=video_frame.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"video_frame.js","sourceRoot":"","sources":["../src/video_frame.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video_frame.js","sourceRoot":"","sources":["../src/video_frame.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { FfiHandle } from './ffi_client.js';
2
- import { VideoSourceInfo } from './proto/video_frame_pb.js';
2
+ import { VideoRotation, VideoSourceInfo } from './proto/video_frame_pb.js';
3
3
  import { VideoFrame } from './video_frame.js';
4
4
  export declare class VideoSource {
5
5
  /** @internal */
@@ -9,6 +9,6 @@ export declare class VideoSource {
9
9
  width: number;
10
10
  height: number;
11
11
  constructor(width: number, height: number);
12
- captureFrame(frame: VideoFrame): void;
12
+ captureFrame(frame: VideoFrame, timestampUs?: bigint, rotation?: VideoRotation): void;
13
13
  }
14
14
  //# sourceMappingURL=video_source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"video_source.d.ts","sourceRoot":"","sources":["../src/video_source.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,SAAS,EAAc,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAKL,eAAe,EAEhB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAAa,WAAW;IACtB,gBAAgB;IAChB,IAAI,EAAE,eAAe,CAAC;IACtB,gBAAgB;IAChB,SAAS,EAAE,SAAS,CAAC;IAErB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;gBAEH,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAuBzC,YAAY,CAAC,KAAK,EAAE,UAAU;CAiB/B"}
1
+ {"version":3,"file":"video_source.d.ts","sourceRoot":"","sources":["../src/video_source.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,SAAS,EAAc,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAKL,aAAa,EACb,eAAe,EAEhB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAAa,WAAW;IACtB,gBAAgB;IAChB,IAAI,EAAE,eAAe,CAAC;IACtB,gBAAgB;IAChB,SAAS,EAAE,SAAS,CAAC;IAErB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;gBAEH,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAuBzC,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,SAAK,EAAE,QAAQ,gBAAiC;CAY5F"}
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  import { FfiClient, FfiHandle } from './ffi_client.js';
5
- import { CaptureVideoFrameRequest, NewVideoSourceRequest, VideoSourceType, } from './proto/video_frame_pb.js';
5
+ import { CaptureVideoFrameRequest, NewVideoSourceRequest, VideoRotation, VideoSourceType, } from './proto/video_frame_pb.js';
6
6
  export class VideoSource {
7
7
  constructor(width, height) {
8
8
  this.width = width;
@@ -23,17 +23,12 @@ export class VideoSource {
23
23
  this.info = res.source.info;
24
24
  this.ffiHandle = new FfiHandle(res.source.handle.id);
25
25
  }
26
- captureFrame(frame) {
26
+ captureFrame(frame, timestampUs = 0n, rotation = VideoRotation.VIDEO_ROTATION_0) {
27
27
  let req = new CaptureVideoFrameRequest({
28
28
  sourceHandle: this.ffiHandle.handle,
29
- from: {
30
- case: 'info',
31
- value: frame.buffer.protoInfo(),
32
- },
33
- frame: {
34
- rotation: frame.rotation,
35
- timestampUs: BigInt(frame.timestampUs),
36
- },
29
+ buffer: frame.protoInfo(),
30
+ rotation,
31
+ timestampUs,
37
32
  });
38
33
  FfiClient.instance.request({
39
34
  message: { case: 'captureVideoFrame', value: req },
@@ -1 +1 @@
1
- {"version":3,"file":"video_source.js","sourceRoot":"","sources":["../src/video_source.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,sCAAsC;AAEtC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAC;AACnE,OAAO,EACL,wBAAwB,EAExB,qBAAqB,EAGrB,eAAe,GAChB,MAAM,2BAA2B,CAAC;AAGnC,MAAM,OAAO,WAAW;IAStB,YAAY,KAAa,EAAE,MAAc;QACvC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,GAAG,GAAG,IAAI,qBAAqB,CAAC;YAClC,IAAI,EAAE,eAAe,CAAC,mBAAmB;YACzC,UAAU,EAAE;gBACV,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,MAAM;aACf;SACF,CAAC,CAAC;QAEH,IAAI,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAyB;YAC3D,OAAO,EAAE;gBACP,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,GAAG;aACX;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,YAAY,CAAC,KAAiB;QAC5B,IAAI,GAAG,GAAG,IAAI,wBAAwB,CAAC;YACrC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;YACnC,IAAI,EAAE;gBACJ,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE;aAChC;YACD,KAAK,EAAE;gBACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;aACvC;SACF,CAAC,CAAC;QAEH,SAAS,CAAC,QAAQ,CAAC,OAAO,CAA4B;YACpD,OAAO,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE;SACnD,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"video_source.js","sourceRoot":"","sources":["../src/video_source.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,sCAAsC;AAEtC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAC;AACnE,OAAO,EACL,wBAAwB,EAExB,qBAAqB,EAErB,aAAa,EAEb,eAAe,GAChB,MAAM,2BAA2B,CAAC;AAGnC,MAAM,OAAO,WAAW;IAStB,YAAY,KAAa,EAAE,MAAc;QACvC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,GAAG,GAAG,IAAI,qBAAqB,CAAC;YAClC,IAAI,EAAE,eAAe,CAAC,mBAAmB;YACzC,UAAU,EAAE;gBACV,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,MAAM;aACf;SACF,CAAC,CAAC;QAEH,IAAI,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAyB;YAC3D,OAAO,EAAE;gBACP,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,GAAG;aACX;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,YAAY,CAAC,KAAiB,EAAE,WAAW,GAAG,EAAE,EAAE,QAAQ,GAAG,aAAa,CAAC,gBAAgB;QACzF,IAAI,GAAG,GAAG,IAAI,wBAAwB,CAAC;YACrC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;YACnC,MAAM,EAAE,KAAK,CAAC,SAAS,EAAE;YACzB,QAAQ;YACR,WAAW;SACZ,CAAC,CAAC;QAEH,SAAS,CAAC,QAAQ,CAAC,OAAO,CAA4B;YACpD,OAAO,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE;SACnD,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -2,9 +2,14 @@ import { FfiHandle } from './ffi_client.js';
2
2
  import { Track } from './track.js';
3
3
  import TypedEmitter from 'typed-emitter';
4
4
  import { VideoFrame } from './video_frame.js';
5
- import { VideoStreamInfo } from './proto/video_frame_pb.js';
5
+ import { VideoRotation, VideoStreamInfo } from './proto/video_frame_pb.js';
6
+ export type VideoFrameEvent = {
7
+ frame: VideoFrame;
8
+ timestampUs: bigint;
9
+ rotation: VideoRotation;
10
+ };
6
11
  export type VideoStreamCallbacks = {
7
- frameReceived: (frame: VideoFrame) => void;
12
+ frameReceived: (evt: VideoFrameEvent) => void;
8
13
  };
9
14
  export declare enum VideoStreamEvent {
10
15
  FrameReceived = "frameReceived"
@@ -1 +1 @@
1
- {"version":3,"file":"video_stream.d.ts","sourceRoot":"","sources":["../src/video_stream.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuC,SAAS,EAAc,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAoB,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAGL,eAAe,EAEhB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF,oBAAY,gBAAgB;IAC1B,aAAa,kBAAkB;CAChC;0CAE2D,aAAa,oBAAoB,CAAC;AAA9F,qBAAa,WAAY,SAAQ,gBAA8D;IAC7F,gBAAgB;IAChB,IAAI,EAAE,eAAe,CAAC;IACtB,gBAAgB;IAChB,SAAS,EAAE,SAAS,CAAC;IAErB,KAAK,EAAE,KAAK,CAAC;gBAED,KAAK,EAAE,KAAK;IAsBxB,OAAO,CAAC,OAAO,CAoBb;IAEF,KAAK;CAGN"}
1
+ {"version":3,"file":"video_stream.d.ts","sourceRoot":"","sources":["../src/video_stream.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuC,SAAS,EAAc,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAGL,aAAa,EACb,eAAe,EAEhB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC;CACzB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;CAC/C,CAAC;AAEF,oBAAY,gBAAgB;IAC1B,aAAa,kBAAkB;CAChC;0CAE2D,aAAa,oBAAoB,CAAC;AAA9F,qBAAa,WAAY,SAAQ,gBAA8D;IAC7F,gBAAgB;IAChB,IAAI,EAAE,eAAe,CAAC;IACtB,gBAAgB;IAChB,SAAS,EAAE,SAAS,CAAC;IAErB,KAAK,EAAE,KAAK,CAAC;gBAED,KAAK,EAAE,KAAK;IAsBxB,OAAO,CAAC,OAAO,CAoBb;IAEF,KAAK;CAGN"}