@livekit/rtc-node 0.1.0 → 0.3.0-rc.1

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 -102
  26. package/dist/video_frame.d.ts.map +1 -1
  27. package/dist/video_frame.js +157 -321
  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 +179 -576
  50. package/src/video_source.ts +5 -9
  51. package/src/video_stream.ts +13 -6
@@ -1,350 +1,186 @@
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) {
15
8
  this.data = data;
16
9
  this.width = width;
17
10
  this.height = height;
18
- this.bufferType = bufferType;
11
+ this.type = type;
19
12
  }
20
13
  /** @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;
14
+ get dataPtr() {
15
+ return FfiClient.instance.retrievePtr(new Uint8Array(this.data.buffer));
45
16
  }
46
17
  /** @internal */
47
18
  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({
19
+ const info = new VideoBufferInfo({
63
20
  width: this.width,
64
21
  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;
137
- }
138
- /** @internal */
139
- protoInfo() {
140
- let info = new VideoFrameBufferInfo({
141
- width: this.width,
142
- 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
- },
22
+ type: this.type,
153
23
  });
24
+ switch (this.type) {
25
+ case VideoBufferType.ARGB:
26
+ case VideoBufferType.RGBA:
27
+ case VideoBufferType.ABGR:
28
+ case VideoBufferType.BGRA:
29
+ info.stride = this.width * 4;
30
+ case VideoBufferType.RGB24:
31
+ info.stride = this.width * 3;
32
+ }
33
+ info.components.push(...getPlaneInfos(this.dataPtr, this.type, this.width, this.height));
154
34
  return info;
155
35
  }
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
36
  /** @internal */
170
37
  static fromOwnedInfo(owned) {
171
38
  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;
184
- }
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
+ return new VideoFrame(FfiClient.instance.copyBuffer(info.dataPtr, getPlaneLength(info.type, info.width, info.height)), info.width, info.height, info.type);
192
40
  }
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;
41
+ getPlane(planeNth) {
42
+ const planeInfos = getPlaneInfos(this.dataPtr, this.type, this.width, this.height);
43
+ if (planeNth >= planeInfos.length)
44
+ return;
45
+ const planeInfo = planeInfos[planeNth];
46
+ return FfiClient.instance.copyBuffer(planeInfo.dataPtr, planeInfo.size);
200
47
  }
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',
48
+ convert(dstType, flipY = false) {
49
+ const req = new FfiRequest({
50
+ message: {
51
+ case: 'videoConvert',
332
52
  value: {
333
- format: this.format,
334
- width: this.width,
335
- height: this.height,
336
- stride: this.stride,
337
- ptr: FfiClient.instance.retrievePtr(this.data),
53
+ flipY,
54
+ dstType,
55
+ buffer: this.protoInfo(),
338
56
  },
339
57
  },
340
58
  });
341
- let resp = FfiClient.instance.request({
342
- message: {
343
- case: 'toI420',
344
- value: req,
345
- },
346
- });
347
- return I420Buffer.fromOwnedInfo(resp.buffer);
59
+ const resp = FfiClient.instance.request(req);
60
+ if (resp.error) {
61
+ throw resp.error;
62
+ }
63
+ return VideoFrame.fromOwnedInfo(resp.buffer);
348
64
  }
349
65
  }
66
+ const getPlaneLength = (type, width, height) => {
67
+ const chromaWidth = Math.trunc((width + 1) / 2);
68
+ const chromaHeight = Math.trunc((height + 1) / 2);
69
+ switch (type) {
70
+ case VideoBufferType.ARGB:
71
+ case VideoBufferType.RGBA:
72
+ case VideoBufferType.ABGR:
73
+ case VideoBufferType.BGRA:
74
+ return width * height * 4;
75
+ case VideoBufferType.RGB24:
76
+ case VideoBufferType.I444:
77
+ return width * height * 3;
78
+ case VideoBufferType.I420:
79
+ return width * height + chromaWidth * chromaHeight * 2;
80
+ case VideoBufferType.I420A:
81
+ return width * height * 2 + chromaWidth * chromaWidth * 2;
82
+ case VideoBufferType.I422:
83
+ return width * height + chromaWidth * height * 2;
84
+ case VideoBufferType.I010:
85
+ return width * height * 2 + chromaWidth * chromaHeight * 4;
86
+ case VideoBufferType.NV12:
87
+ return width * height + chromaWidth * chromaWidth * 2;
88
+ }
89
+ };
90
+ const getPlaneInfos = (dataPtr, type, width, height) => {
91
+ const chromaWidth = Math.trunc((width + 1) / 2);
92
+ const chromaHeight = Math.trunc((height + 1) / 2);
93
+ switch (type) {
94
+ case VideoBufferType.I420: {
95
+ const y = new VideoBufferInfo_ComponentInfo({ dataPtr, stride: width, size: width * height });
96
+ const u = new VideoBufferInfo_ComponentInfo({
97
+ dataPtr: y.dataPtr + BigInt(y.size),
98
+ stride: chromaWidth,
99
+ size: chromaWidth * chromaHeight,
100
+ });
101
+ const v = new VideoBufferInfo_ComponentInfo({
102
+ dataPtr: u.dataPtr + BigInt(u.size),
103
+ stride: chromaWidth,
104
+ size: chromaWidth * chromaHeight,
105
+ });
106
+ return [y, u, v];
107
+ }
108
+ case VideoBufferType.I420A: {
109
+ const y = new VideoBufferInfo_ComponentInfo({ dataPtr, stride: width, size: width * height });
110
+ const u = new VideoBufferInfo_ComponentInfo({
111
+ dataPtr: y.dataPtr + BigInt(y.size),
112
+ stride: chromaWidth,
113
+ size: chromaWidth * chromaHeight,
114
+ });
115
+ const v = new VideoBufferInfo_ComponentInfo({
116
+ dataPtr: u.dataPtr + BigInt(u.size),
117
+ stride: chromaWidth,
118
+ size: chromaWidth * chromaHeight,
119
+ });
120
+ const a = new VideoBufferInfo_ComponentInfo({
121
+ dataPtr: v.dataPtr + BigInt(v.size),
122
+ stride: width,
123
+ size: width * height,
124
+ });
125
+ return [y, u, v, a];
126
+ }
127
+ case VideoBufferType.I422: {
128
+ const y = new VideoBufferInfo_ComponentInfo({ dataPtr, stride: width, size: width * height });
129
+ const u = new VideoBufferInfo_ComponentInfo({
130
+ dataPtr: y.dataPtr + BigInt(y.size),
131
+ stride: chromaWidth,
132
+ size: chromaWidth * height,
133
+ });
134
+ const v = new VideoBufferInfo_ComponentInfo({
135
+ dataPtr: u.dataPtr + BigInt(u.size),
136
+ stride: chromaWidth,
137
+ size: chromaWidth * height,
138
+ });
139
+ return [y, u, v];
140
+ }
141
+ case VideoBufferType.I444: {
142
+ const y = new VideoBufferInfo_ComponentInfo({ dataPtr, stride: width, size: width * height });
143
+ const u = new VideoBufferInfo_ComponentInfo({
144
+ dataPtr: y.dataPtr + BigInt(y.size),
145
+ stride: width,
146
+ size: width * height,
147
+ });
148
+ const v = new VideoBufferInfo_ComponentInfo({
149
+ dataPtr: u.dataPtr + BigInt(u.size),
150
+ stride: width,
151
+ size: width * height,
152
+ });
153
+ return [y, u, v];
154
+ }
155
+ case VideoBufferType.I010: {
156
+ const y = new VideoBufferInfo_ComponentInfo({
157
+ dataPtr,
158
+ stride: width * 2,
159
+ size: width * height * 2,
160
+ });
161
+ const u = new VideoBufferInfo_ComponentInfo({
162
+ dataPtr: y.dataPtr + BigInt(y.size),
163
+ stride: chromaWidth * 2,
164
+ size: chromaWidth * chromaHeight * 2,
165
+ });
166
+ const v = new VideoBufferInfo_ComponentInfo({
167
+ dataPtr: u.dataPtr + BigInt(u.size),
168
+ stride: chromaWidth * 2,
169
+ size: chromaWidth * chromaHeight * 2,
170
+ });
171
+ return [y, u, v];
172
+ }
173
+ case VideoBufferType.NV12: {
174
+ const y = new VideoBufferInfo_ComponentInfo({ dataPtr, stride: width, size: width * height });
175
+ const uv = new VideoBufferInfo_ComponentInfo({
176
+ dataPtr: y.dataPtr + BigInt(y.size),
177
+ stride: chromaWidth * 2,
178
+ size: chromaWidth * chromaHeight * 2,
179
+ });
180
+ return [y, uv];
181
+ }
182
+ default:
183
+ return [];
184
+ }
185
+ };
350
186
  //# 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"}