@livekit/rtc-node 0.10.3 → 0.11.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.
- package/README.md +54 -2
- package/build.rs +1 -1
- package/dist/audio_frame.d.ts +1 -1
- package/dist/audio_frame.d.ts.map +1 -1
- package/dist/audio_frame.js +4 -4
- package/dist/audio_frame.js.map +1 -1
- package/dist/audio_resampler.d.ts.map +1 -1
- package/dist/audio_resampler.js +8 -7
- package/dist/audio_resampler.js.map +1 -1
- package/dist/audio_source.d.ts.map +1 -1
- package/dist/audio_source.js +8 -4
- package/dist/audio_source.js.map +1 -1
- package/dist/audio_stream.d.ts +1 -1
- package/dist/audio_stream.d.ts.map +1 -1
- package/dist/audio_stream.js +4 -3
- package/dist/audio_stream.js.map +1 -1
- package/dist/e2ee.d.ts.map +1 -1
- package/dist/e2ee.js +25 -25
- package/dist/e2ee.js.map +1 -1
- package/dist/ffi_client.d.ts +3 -3
- package/dist/ffi_client.d.ts.map +1 -1
- package/dist/ffi_client.js +9 -7
- package/dist/ffi_client.js.map +1 -1
- package/dist/index.d.ts +29 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -4
- package/dist/index.js.map +1 -1
- package/dist/napi/native.d.ts +1 -0
- package/dist/participant.d.ts +52 -6
- package/dist/participant.d.ts.map +1 -1
- package/dist/participant.js +155 -32
- package/dist/participant.js.map +1 -1
- package/dist/proto/audio_frame_pb.d.ts +451 -526
- package/dist/proto/audio_frame_pb.d.ts.map +1 -1
- package/dist/proto/audio_frame_pb.js +200 -1179
- package/dist/proto/audio_frame_pb.js.map +1 -1
- package/dist/proto/e2ee_pb.d.ts +264 -333
- package/dist/proto/e2ee_pb.d.ts.map +1 -1
- package/dist/proto/e2ee_pb.js +136 -810
- package/dist/proto/e2ee_pb.js.map +1 -1
- package/dist/proto/ffi_pb.d.ts +175 -129
- package/dist/proto/ffi_pb.d.ts.map +1 -1
- package/dist/proto/ffi_pb.js +58 -395
- package/dist/proto/ffi_pb.js.map +1 -1
- package/dist/proto/handle_pb.d.ts +14 -13
- package/dist/proto/handle_pb.d.ts.map +1 -1
- package/dist/proto/handle_pb.js +8 -39
- package/dist/proto/handle_pb.js.map +1 -1
- package/dist/proto/participant_pb.d.ts +54 -52
- package/dist/proto/participant_pb.d.ts.map +1 -1
- package/dist/proto/participant_pb.js +18 -90
- package/dist/proto/participant_pb.js.map +1 -1
- package/dist/proto/room_pb.d.ts +1042 -1187
- package/dist/proto/room_pb.d.ts.map +1 -1
- package/dist/proto/room_pb.js +470 -2938
- package/dist/proto/room_pb.js.map +1 -1
- package/dist/proto/rpc_pb.d.ts +235 -0
- package/dist/proto/rpc_pb.d.ts.map +1 -0
- package/dist/proto/rpc_pb.js +74 -0
- package/dist/proto/rpc_pb.js.map +1 -0
- package/dist/proto/stats_pb.d.ts +738 -800
- package/dist/proto/stats_pb.d.ts.map +1 -1
- package/dist/proto/stats_pb.js +218 -1960
- package/dist/proto/stats_pb.js.map +1 -1
- package/dist/proto/track_pb.d.ts +225 -258
- package/dist/proto/track_pb.d.ts.map +1 -1
- package/dist/proto/track_pb.js +98 -591
- package/dist/proto/track_pb.js.map +1 -1
- package/dist/proto/video_frame_pb.d.ts +357 -390
- package/dist/proto/video_frame_pb.d.ts.map +1 -1
- package/dist/proto/video_frame_pb.js +137 -790
- package/dist/proto/video_frame_pb.js.map +1 -1
- package/dist/room.d.ts +21 -7
- package/dist/room.d.ts.map +1 -1
- package/dist/room.js +134 -54
- package/dist/room.js.map +1 -1
- package/dist/rpc.d.ts +78 -0
- package/dist/rpc.d.ts.map +1 -0
- package/dist/rpc.js +69 -0
- package/dist/rpc.js.map +1 -0
- package/dist/track.d.ts.map +1 -1
- package/dist/track.js +7 -3
- package/dist/track.js.map +1 -1
- package/dist/track_publication.d.ts.map +1 -1
- package/dist/track_publication.js +3 -2
- package/dist/track_publication.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/dist/video_frame.d.ts +2 -2
- package/dist/video_frame.d.ts.map +1 -1
- package/dist/video_frame.js +47 -25
- package/dist/video_frame.js.map +1 -1
- package/dist/video_source.d.ts.map +1 -1
- package/dist/video_source.js +4 -3
- package/dist/video_source.js.map +1 -1
- package/dist/video_stream.d.ts +1 -1
- package/dist/video_stream.d.ts.map +1 -1
- package/dist/video_stream.js +7 -3
- package/dist/video_stream.js.map +1 -1
- package/package.json +13 -10
- package/src/audio_frame.ts +6 -6
- package/src/audio_resampler.ts +10 -9
- package/src/audio_source.ts +9 -8
- package/src/audio_stream.ts +7 -6
- package/src/e2ee.ts +34 -34
- package/src/ffi_client.ts +23 -10
- package/src/index.ts +61 -2
- package/src/napi/native.d.ts +1 -0
- package/src/nodejs.rs +6 -3
- package/src/participant.ts +219 -55
- package/src/proto/audio_frame_pb.ts +562 -1279
- package/src/proto/e2ee_pb.ts +365 -886
- package/src/proto/ffi_pb.ts +206 -405
- package/src/proto/handle_pb.ts +21 -35
- package/src/proto/participant_pb.ts +71 -112
- package/src/proto/room_pb.ts +1284 -2995
- package/src/proto/rpc_pb.ts +310 -0
- package/src/proto/stats_pb.ts +1028 -1947
- package/src/proto/track_pb.ts +287 -621
- package/src/proto/video_frame_pb.ts +445 -905
- package/src/room.ts +181 -75
- package/src/rpc.ts +121 -0
- package/src/track.ts +8 -7
- package/src/track_publication.ts +5 -4
- package/src/version.ts +1 -0
- package/src/video_frame.ts +54 -27
- package/src/video_source.ts +7 -6
- package/src/video_stream.ts +7 -6
- package/dist/utils.d.ts +0 -7
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -48
- package/dist/utils.js.map +0 -1
- package/src/utils.test.ts +0 -47
- package/src/utils.ts +0 -44
package/dist/rpc.d.ts
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { RpcError as RpcError_Proto } from './proto/rpc_pb.js';
|
|
2
|
+
/** Parameters for initiating an RPC call */
|
|
3
|
+
export interface PerformRpcParams {
|
|
4
|
+
/** The `identity` of the destination participant */
|
|
5
|
+
destinationIdentity: string;
|
|
6
|
+
/** The method name to call */
|
|
7
|
+
method: string;
|
|
8
|
+
/** The method payload */
|
|
9
|
+
payload: string;
|
|
10
|
+
/** Timeout for receiving a response after initial connection (milliseconds). Default: 10000 */
|
|
11
|
+
responseTimeout?: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Data passed to method handler for incoming RPC invocations
|
|
15
|
+
*/
|
|
16
|
+
export interface RpcInvocationData {
|
|
17
|
+
/**
|
|
18
|
+
* The unique request ID. Will match at both sides of the call, useful for debugging or logging.
|
|
19
|
+
*/
|
|
20
|
+
requestId: string;
|
|
21
|
+
/**
|
|
22
|
+
* The unique participant identity of the caller.
|
|
23
|
+
*/
|
|
24
|
+
callerIdentity: string;
|
|
25
|
+
/**
|
|
26
|
+
* The payload of the request. User-definable format, typically JSON.
|
|
27
|
+
*/
|
|
28
|
+
payload: string;
|
|
29
|
+
/**
|
|
30
|
+
* The maximum time the caller will wait for a response.
|
|
31
|
+
*/
|
|
32
|
+
responseTimeout: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Specialized error handling for RPC methods.
|
|
36
|
+
*
|
|
37
|
+
* Instances of this type, when thrown in a method handler, will have their `message`
|
|
38
|
+
* serialized and sent across the wire. The caller will receive an equivalent error on the other side.
|
|
39
|
+
*
|
|
40
|
+
* Built-in types are included but developers may use any string, with a max length of 256 bytes.
|
|
41
|
+
*/
|
|
42
|
+
export declare class RpcError extends Error {
|
|
43
|
+
code: typeof RpcError.ErrorCode | number;
|
|
44
|
+
data?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Creates an error object with the given code and message, plus an optional data payload.
|
|
47
|
+
*
|
|
48
|
+
* If thrown in an RPC method handler, the error will be sent back to the caller.
|
|
49
|
+
*
|
|
50
|
+
* Error codes 1001-1999 are reserved for built-in errors (see RpcError.ErrorCode for their meanings).
|
|
51
|
+
*/
|
|
52
|
+
constructor(code: number, message: string, data?: string);
|
|
53
|
+
static fromProto(proto: RpcError_Proto): RpcError;
|
|
54
|
+
toProto(): RpcError_Proto;
|
|
55
|
+
static ErrorCode: {
|
|
56
|
+
readonly APPLICATION_ERROR: 1500;
|
|
57
|
+
readonly CONNECTION_TIMEOUT: 1501;
|
|
58
|
+
readonly RESPONSE_TIMEOUT: 1502;
|
|
59
|
+
readonly RECIPIENT_DISCONNECTED: 1503;
|
|
60
|
+
readonly RESPONSE_PAYLOAD_TOO_LARGE: 1504;
|
|
61
|
+
readonly SEND_FAILED: 1505;
|
|
62
|
+
readonly UNSUPPORTED_METHOD: 1400;
|
|
63
|
+
readonly RECIPIENT_NOT_FOUND: 1401;
|
|
64
|
+
readonly REQUEST_PAYLOAD_TOO_LARGE: 1402;
|
|
65
|
+
readonly UNSUPPORTED_SERVER: 1403;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* @internal
|
|
69
|
+
*/
|
|
70
|
+
static ErrorMessage: Record<keyof typeof RpcError.ErrorCode, string>;
|
|
71
|
+
/**
|
|
72
|
+
* Creates an error object from the code, with an auto-populated message.
|
|
73
|
+
*
|
|
74
|
+
* @internal
|
|
75
|
+
*/
|
|
76
|
+
static builtIn(key: keyof typeof RpcError.ErrorCode, data?: string): RpcError;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=rpc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEpE,4CAA4C;AAC5C,MAAM,WAAW,gBAAgB;IAC/B,oDAAoD;IACpD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,+FAA+F;IAC/F,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;GAOG;AAEH,qBAAa,QAAS,SAAQ,KAAK;IACjC,IAAI,EAAE,OAAO,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;OAMG;gBACS,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAOxD,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,cAAc;IAItC,OAAO,IAKA,cAAc;IAGrB,MAAM,CAAC,SAAS;;;;;;;;;;;MAYL;IAEX;;OAEG;IACH,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,OAAO,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAYzD;IAEX;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,OAAO,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ;CAG9E"}
|
package/dist/rpc.js
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Specialized error handling for RPC methods.
|
|
3
|
+
*
|
|
4
|
+
* Instances of this type, when thrown in a method handler, will have their `message`
|
|
5
|
+
* serialized and sent across the wire. The caller will receive an equivalent error on the other side.
|
|
6
|
+
*
|
|
7
|
+
* Built-in types are included but developers may use any string, with a max length of 256 bytes.
|
|
8
|
+
*/
|
|
9
|
+
export class RpcError extends Error {
|
|
10
|
+
/**
|
|
11
|
+
* Creates an error object with the given code and message, plus an optional data payload.
|
|
12
|
+
*
|
|
13
|
+
* If thrown in an RPC method handler, the error will be sent back to the caller.
|
|
14
|
+
*
|
|
15
|
+
* Error codes 1001-1999 are reserved for built-in errors (see RpcError.ErrorCode for their meanings).
|
|
16
|
+
*/
|
|
17
|
+
constructor(code, message, data) {
|
|
18
|
+
super(message);
|
|
19
|
+
this.code = code;
|
|
20
|
+
this.message = message;
|
|
21
|
+
this.data = data;
|
|
22
|
+
}
|
|
23
|
+
static fromProto(proto) {
|
|
24
|
+
return new RpcError(proto.code, proto.message, proto.data);
|
|
25
|
+
}
|
|
26
|
+
toProto() {
|
|
27
|
+
return {
|
|
28
|
+
code: this.code,
|
|
29
|
+
message: this.message,
|
|
30
|
+
data: this.data,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Creates an error object from the code, with an auto-populated message.
|
|
35
|
+
*
|
|
36
|
+
* @internal
|
|
37
|
+
*/
|
|
38
|
+
static builtIn(key, data) {
|
|
39
|
+
return new RpcError(RpcError.ErrorCode[key], RpcError.ErrorMessage[key], data);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
RpcError.ErrorCode = {
|
|
43
|
+
APPLICATION_ERROR: 1500,
|
|
44
|
+
CONNECTION_TIMEOUT: 1501,
|
|
45
|
+
RESPONSE_TIMEOUT: 1502,
|
|
46
|
+
RECIPIENT_DISCONNECTED: 1503,
|
|
47
|
+
RESPONSE_PAYLOAD_TOO_LARGE: 1504,
|
|
48
|
+
SEND_FAILED: 1505,
|
|
49
|
+
UNSUPPORTED_METHOD: 1400,
|
|
50
|
+
RECIPIENT_NOT_FOUND: 1401,
|
|
51
|
+
REQUEST_PAYLOAD_TOO_LARGE: 1402,
|
|
52
|
+
UNSUPPORTED_SERVER: 1403,
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* @internal
|
|
56
|
+
*/
|
|
57
|
+
RpcError.ErrorMessage = {
|
|
58
|
+
APPLICATION_ERROR: 'Application error in method handler',
|
|
59
|
+
CONNECTION_TIMEOUT: 'Connection timeout',
|
|
60
|
+
RESPONSE_TIMEOUT: 'Response timeout',
|
|
61
|
+
RECIPIENT_DISCONNECTED: 'Recipient disconnected',
|
|
62
|
+
RESPONSE_PAYLOAD_TOO_LARGE: 'Response payload too large',
|
|
63
|
+
SEND_FAILED: 'Failed to send',
|
|
64
|
+
UNSUPPORTED_METHOD: 'Method not supported at destination',
|
|
65
|
+
RECIPIENT_NOT_FOUND: 'Recipient not found',
|
|
66
|
+
REQUEST_PAYLOAD_TOO_LARGE: 'Request payload too large',
|
|
67
|
+
UNSUPPORTED_SERVER: 'RPC not supported by server',
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=rpc.js.map
|
package/dist/rpc.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AA0CA;;;;;;;GAOG;AAEH,MAAM,OAAO,QAAS,SAAQ,KAAK;IAIjC;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,OAAe,EAAE,IAAa;QACtD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,KAAqB;QACpC,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO;QACL,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAc;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;SACE,CAAC;IACtB,CAAC;IAiCD;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,GAAoC,EAAE,IAAa;QAChE,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;IACjF,CAAC;;AAtCM,kBAAS,GAAG;IACjB,iBAAiB,EAAE,IAAI;IACvB,kBAAkB,EAAE,IAAI;IACxB,gBAAgB,EAAE,IAAI;IACtB,sBAAsB,EAAE,IAAI;IAC5B,0BAA0B,EAAE,IAAI;IAChC,WAAW,EAAE,IAAI;IAEjB,kBAAkB,EAAE,IAAI;IACxB,mBAAmB,EAAE,IAAI;IACzB,yBAAyB,EAAE,IAAI;IAC/B,kBAAkB,EAAE,IAAI;CAChB,CAAC;AAEX;;GAEG;AACI,qBAAY,GAAoD;IACrE,iBAAiB,EAAE,qCAAqC;IACxD,kBAAkB,EAAE,oBAAoB;IACxC,gBAAgB,EAAE,kBAAkB;IACpC,sBAAsB,EAAE,wBAAwB;IAChD,0BAA0B,EAAE,4BAA4B;IACxD,WAAW,EAAE,gBAAgB;IAE7B,kBAAkB,EAAE,qCAAqC;IACzD,mBAAmB,EAAE,qBAAqB;IAC1C,yBAAyB,EAAE,2BAA2B;IACtD,kBAAkB,EAAE,6BAA6B;CACzC,CAAC"}
|
package/dist/track.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"track.d.ts","sourceRoot":"","sources":["../src/track.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"track.d.ts","sourceRoot":"","sources":["../src/track.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAa,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAGV,UAAU,EACV,WAAW,EACX,SAAS,EACT,SAAS,EACV,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,8BAAsB,KAAK;IACzB,gBAAgB;IAChB,IAAI,EAAE,SAAS,CAAC;IAEhB,gBAAgB;IAChB,UAAU,EAAE,SAAS,CAAC;gBAEV,KAAK,EAAE,UAAU;IAK7B,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,SAAS,CAEpB;IAED,IAAI,YAAY,IAAI,WAAW,CAE9B;IAED,IAAI,KAAK,IAAI,OAAO,CAEnB;CACF;AAED,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,KAAK,EAAE,UAAU;IAI7B,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,eAAe;CAY5E;AAED,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,KAAK,EAAE,UAAU;IAI7B,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,eAAe;CAY5E;AAED,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,KAAK,EAAE,UAAU;CAG9B;AAED,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,KAAK,EAAE,UAAU;CAG9B;AAED,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG,eAAe,CAAC;AAC3D,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAC9D,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAC5D,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG,gBAAgB,CAAC"}
|
package/dist/track.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
// SPDX-FileCopyrightText: 2024 LiveKit, Inc.
|
|
2
|
+
//
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
import { create } from '@bufbuild/protobuf';
|
|
1
5
|
import { FfiClient, FfiHandle } from './ffi_client.js';
|
|
2
|
-
import {
|
|
6
|
+
import { CreateAudioTrackRequestSchema, CreateVideoTrackRequestSchema } from './proto/track_pb.js';
|
|
3
7
|
export class Track {
|
|
4
8
|
constructor(owned) {
|
|
5
9
|
this.info = owned.info;
|
|
@@ -26,7 +30,7 @@ export class LocalAudioTrack extends Track {
|
|
|
26
30
|
super(owned);
|
|
27
31
|
}
|
|
28
32
|
static createAudioTrack(name, source) {
|
|
29
|
-
const req =
|
|
33
|
+
const req = create(CreateAudioTrackRequestSchema, {
|
|
30
34
|
name: name,
|
|
31
35
|
sourceHandle: source.ffiHandle.handle,
|
|
32
36
|
});
|
|
@@ -41,7 +45,7 @@ export class LocalVideoTrack extends Track {
|
|
|
41
45
|
super(owned);
|
|
42
46
|
}
|
|
43
47
|
static createVideoTrack(name, source) {
|
|
44
|
-
const req =
|
|
48
|
+
const req = create(CreateVideoTrackRequestSchema, {
|
|
45
49
|
name: name,
|
|
46
50
|
sourceHandle: source.ffiHandle.handle,
|
|
47
51
|
});
|
package/dist/track.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"track.js","sourceRoot":"","sources":["../src/track.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"track.js","sourceRoot":"","sources":["../src/track.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,sCAAsC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AASvD,OAAO,EAAE,6BAA6B,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAGnG,MAAM,OAAgB,KAAK;IAOzB,YAAY,KAAiB;QAC3B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAK,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,MAAO,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACvB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IACzB,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,KAAiB;QAC3B,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,IAAY,EAAE,MAAmB;QACvD,MAAM,GAAG,GAAG,MAAM,CAAC,6BAA6B,EAAE;YAChD,IAAI,EAAE,IAAI;YACV,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM;SACtC,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAA2B;YAC/D,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE;SAClD,CAAC,CAAC;QAEH,OAAO,IAAI,eAAe,CAAC,GAAG,CAAC,KAAM,CAAC,CAAC;IACzC,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,KAAiB;QAC3B,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,IAAY,EAAE,MAAmB;QACvD,MAAM,GAAG,GAAG,MAAM,CAAC,6BAA6B,EAAE;YAChD,IAAI,EAAE,IAAI;YACV,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM;SACtC,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAA2B;YAC/D,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE;SAClD,CAAC,CAAC;QAEH,OAAO,IAAI,eAAe,CAAC,GAAG,CAAC,KAAM,CAAC,CAAC;IACzC,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,KAAiB;QAC3B,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,KAAiB;QAC3B,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"track_publication.d.ts","sourceRoot":"","sources":["../src/track_publication.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"track_publication.d.ts","sourceRoot":"","sources":["../src/track_publication.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,KAAK,EACV,qBAAqB,EACrB,SAAS,EACT,oBAAoB,EACpB,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,8BAAsB,gBAAgB;IACpC,gBAAgB;IAChB,SAAS,EAAE,SAAS,CAAC;IAErB,gBAAgB;IAChB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC;gBAEF,SAAS,EAAE,qBAAqB;IAK5C,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,SAAS,CAEpB;IAED,IAAI,MAAM,IAAI,WAAW,CAExB;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,IAAI,cAAc,IAAI,cAAc,CAEnC;CACF;AAED,qBAAa,qBAAsB,SAAQ,gBAAgB;IACzD,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,yBAAyB,CAA6B;gBAElD,SAAS,EAAE,qBAAqB;IAOtC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C,gBAAgB;IAChB,wBAAwB,IAAI,IAAI;CAMjC;AAED,qBAAa,sBAAuB,SAAQ,gBAAgB;IAC1D,UAAU,EAAE,OAAO,CAAS;gBAEhB,SAAS,EAAE,qBAAqB;IAI5C,aAAa,CAAC,UAAU,EAAE,OAAO;CAUlC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
// SPDX-FileCopyrightText: 2024 LiveKit, Inc.
|
|
2
2
|
//
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
import { create } from '@bufbuild/protobuf';
|
|
4
5
|
import { FfiClient } from './ffi_client.js';
|
|
5
6
|
import { FfiHandle } from './napi/native.js';
|
|
6
|
-
import {
|
|
7
|
+
import { SetSubscribedRequestSchema } from './proto/room_pb.js';
|
|
7
8
|
export class TrackPublication {
|
|
8
9
|
constructor(ownedInfo) {
|
|
9
10
|
this.info = ownedInfo.info;
|
|
@@ -65,7 +66,7 @@ export class RemoteTrackPublication extends TrackPublication {
|
|
|
65
66
|
this.subscribed = false;
|
|
66
67
|
}
|
|
67
68
|
setSubscribed(subscribed) {
|
|
68
|
-
const req =
|
|
69
|
+
const req = create(SetSubscribedRequestSchema, {
|
|
69
70
|
subscribe: subscribed,
|
|
70
71
|
publicationHandle: this.ffiHandle.handle,
|
|
71
72
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"track_publication.js","sourceRoot":"","sources":["../src/track_publication.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,sCAAsC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"track_publication.js","sourceRoot":"","sources":["../src/track_publication.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,sCAAsC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAShE,MAAM,OAAgB,gBAAgB;IAQpC,YAAY,SAAgC;QAC1C,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAK,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,SAAU,CAAC,MAAO,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACvB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IACzB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IACzB,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,gBAAgB;IAIzD,YAAY,SAAgC;QAC1C,KAAK,CAAC,SAAS,CAAC,CAAC;QAHX,8BAAyB,GAAwB,IAAI,CAAC;QAI5D,IAAI,CAAC,iBAAiB,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACrD,IAAI,CAAC,yBAAyB,GAAG,OAAO,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,IAAI,CAAC,iBAAiB,CAAC;IAC/B,CAAC;IAED,gBAAgB;IAChB,wBAAwB;QACtB,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACnC,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACjC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;QACxC,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,gBAAgB;IAG1D,YAAY,SAAgC;QAC1C,KAAK,CAAC,SAAS,CAAC,CAAC;QAHnB,eAAU,GAAY,KAAK,CAAC;IAI5B,CAAC;IAED,aAAa,CAAC,UAAmB;QAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,0BAA0B,EAAE;YAC7C,SAAS,EAAE,UAAU;YACrB,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;SACzC,CAAC,CAAC;QAEH,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAwB;YAChD,OAAO,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE;SAC/C,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,WAAW,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC"}
|
package/dist/video_frame.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { OwnedVideoBuffer } from './proto/video_frame_pb.js';
|
|
2
|
-
import {
|
|
1
|
+
import type { OwnedVideoBuffer, VideoBufferInfo } from './proto/video_frame_pb.js';
|
|
2
|
+
import { VideoBufferType } from './proto/video_frame_pb.js';
|
|
3
3
|
export declare class VideoFrame {
|
|
4
4
|
data: Uint8Array;
|
|
5
5
|
width: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video_frame.d.ts","sourceRoot":"","sources":["../src/video_frame.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"video_frame.d.ts","sourceRoot":"","sources":["../src/video_frame.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EAGhB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAGL,eAAe,EAChB,MAAM,2BAA2B,CAAC;AAEnC,qBAAa,UAAU;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,eAAe,CAAC;gBAEV,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe;IAOlF,gBAAgB;IAChB,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,gBAAgB;IAChB,SAAS,IAAI,eAAe;IAyB5B,gBAAgB;IAChB,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,gBAAgB,GAAG,UAAU;IAazD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAQ7C,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,UAAQ,GAAG,UAAU;CAkB7D"}
|
package/dist/video_frame.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
// SPDX-FileCopyrightText: 2024 LiveKit, Inc.
|
|
2
2
|
//
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { create } from '@bufbuild/protobuf';
|
|
5
|
+
import { FfiClient } from './ffi_client.js';
|
|
6
|
+
import { FfiRequestSchema } from './proto/ffi_pb.js';
|
|
7
|
+
import { VideoBufferInfoSchema, VideoBufferInfo_ComponentInfoSchema, VideoBufferType, } from './proto/video_frame_pb.js';
|
|
6
8
|
export class VideoFrame {
|
|
7
9
|
constructor(data, width, height, type) {
|
|
8
10
|
this.data = data;
|
|
@@ -16,7 +18,7 @@ export class VideoFrame {
|
|
|
16
18
|
}
|
|
17
19
|
/** @internal */
|
|
18
20
|
protoInfo() {
|
|
19
|
-
const info =
|
|
21
|
+
const info = create(VideoBufferInfoSchema, {
|
|
20
22
|
width: this.width,
|
|
21
23
|
height: this.height,
|
|
22
24
|
type: this.type,
|
|
@@ -49,7 +51,7 @@ export class VideoFrame {
|
|
|
49
51
|
return FfiClient.instance.copyBuffer(planeInfo.dataPtr, planeInfo.size);
|
|
50
52
|
}
|
|
51
53
|
convert(dstType, flipY = false) {
|
|
52
|
-
const req =
|
|
54
|
+
const req = create(FfiRequestSchema, {
|
|
53
55
|
message: {
|
|
54
56
|
case: 'videoConvert',
|
|
55
57
|
value: {
|
|
@@ -60,10 +62,10 @@ export class VideoFrame {
|
|
|
60
62
|
},
|
|
61
63
|
});
|
|
62
64
|
const resp = FfiClient.instance.request(req);
|
|
63
|
-
if (resp.
|
|
64
|
-
throw resp.
|
|
65
|
+
if (resp.message.case !== 'buffer') {
|
|
66
|
+
throw new Error(resp.message.value ?? 'Unknown Error');
|
|
65
67
|
}
|
|
66
|
-
return VideoFrame.fromOwnedInfo(resp.
|
|
68
|
+
return VideoFrame.fromOwnedInfo(resp.message.value);
|
|
67
69
|
}
|
|
68
70
|
}
|
|
69
71
|
const getPlaneLength = (type, width, height) => {
|
|
@@ -95,13 +97,17 @@ const getPlaneInfos = (dataPtr, type, width, height) => {
|
|
|
95
97
|
const chromaHeight = Math.trunc((height + 1) / 2);
|
|
96
98
|
switch (type) {
|
|
97
99
|
case VideoBufferType.I420: {
|
|
98
|
-
const y =
|
|
99
|
-
|
|
100
|
+
const y = create(VideoBufferInfo_ComponentInfoSchema, {
|
|
101
|
+
dataPtr,
|
|
102
|
+
stride: width,
|
|
103
|
+
size: width * height,
|
|
104
|
+
});
|
|
105
|
+
const u = create(VideoBufferInfo_ComponentInfoSchema, {
|
|
100
106
|
dataPtr: y.dataPtr + BigInt(y.size),
|
|
101
107
|
stride: chromaWidth,
|
|
102
108
|
size: chromaWidth * chromaHeight,
|
|
103
109
|
});
|
|
104
|
-
const v =
|
|
110
|
+
const v = create(VideoBufferInfo_ComponentInfoSchema, {
|
|
105
111
|
dataPtr: u.dataPtr + BigInt(u.size),
|
|
106
112
|
stride: chromaWidth,
|
|
107
113
|
size: chromaWidth * chromaHeight,
|
|
@@ -109,18 +115,22 @@ const getPlaneInfos = (dataPtr, type, width, height) => {
|
|
|
109
115
|
return [y, u, v];
|
|
110
116
|
}
|
|
111
117
|
case VideoBufferType.I420A: {
|
|
112
|
-
const y =
|
|
113
|
-
|
|
118
|
+
const y = create(VideoBufferInfo_ComponentInfoSchema, {
|
|
119
|
+
dataPtr,
|
|
120
|
+
stride: width,
|
|
121
|
+
size: width * height,
|
|
122
|
+
});
|
|
123
|
+
const u = create(VideoBufferInfo_ComponentInfoSchema, {
|
|
114
124
|
dataPtr: y.dataPtr + BigInt(y.size),
|
|
115
125
|
stride: chromaWidth,
|
|
116
126
|
size: chromaWidth * chromaHeight,
|
|
117
127
|
});
|
|
118
|
-
const v =
|
|
128
|
+
const v = create(VideoBufferInfo_ComponentInfoSchema, {
|
|
119
129
|
dataPtr: u.dataPtr + BigInt(u.size),
|
|
120
130
|
stride: chromaWidth,
|
|
121
131
|
size: chromaWidth * chromaHeight,
|
|
122
132
|
});
|
|
123
|
-
const a =
|
|
133
|
+
const a = create(VideoBufferInfo_ComponentInfoSchema, {
|
|
124
134
|
dataPtr: v.dataPtr + BigInt(v.size),
|
|
125
135
|
stride: width,
|
|
126
136
|
size: width * height,
|
|
@@ -128,13 +138,17 @@ const getPlaneInfos = (dataPtr, type, width, height) => {
|
|
|
128
138
|
return [y, u, v, a];
|
|
129
139
|
}
|
|
130
140
|
case VideoBufferType.I422: {
|
|
131
|
-
const y =
|
|
132
|
-
|
|
141
|
+
const y = create(VideoBufferInfo_ComponentInfoSchema, {
|
|
142
|
+
dataPtr,
|
|
143
|
+
stride: width,
|
|
144
|
+
size: width * height,
|
|
145
|
+
});
|
|
146
|
+
const u = create(VideoBufferInfo_ComponentInfoSchema, {
|
|
133
147
|
dataPtr: y.dataPtr + BigInt(y.size),
|
|
134
148
|
stride: chromaWidth,
|
|
135
149
|
size: chromaWidth * height,
|
|
136
150
|
});
|
|
137
|
-
const v =
|
|
151
|
+
const v = create(VideoBufferInfo_ComponentInfoSchema, {
|
|
138
152
|
dataPtr: u.dataPtr + BigInt(u.size),
|
|
139
153
|
stride: chromaWidth,
|
|
140
154
|
size: chromaWidth * height,
|
|
@@ -142,13 +156,17 @@ const getPlaneInfos = (dataPtr, type, width, height) => {
|
|
|
142
156
|
return [y, u, v];
|
|
143
157
|
}
|
|
144
158
|
case VideoBufferType.I444: {
|
|
145
|
-
const y =
|
|
146
|
-
|
|
159
|
+
const y = create(VideoBufferInfo_ComponentInfoSchema, {
|
|
160
|
+
dataPtr,
|
|
161
|
+
stride: width,
|
|
162
|
+
size: width * height,
|
|
163
|
+
});
|
|
164
|
+
const u = create(VideoBufferInfo_ComponentInfoSchema, {
|
|
147
165
|
dataPtr: y.dataPtr + BigInt(y.size),
|
|
148
166
|
stride: width,
|
|
149
167
|
size: width * height,
|
|
150
168
|
});
|
|
151
|
-
const v =
|
|
169
|
+
const v = create(VideoBufferInfo_ComponentInfoSchema, {
|
|
152
170
|
dataPtr: u.dataPtr + BigInt(u.size),
|
|
153
171
|
stride: width,
|
|
154
172
|
size: width * height,
|
|
@@ -156,17 +174,17 @@ const getPlaneInfos = (dataPtr, type, width, height) => {
|
|
|
156
174
|
return [y, u, v];
|
|
157
175
|
}
|
|
158
176
|
case VideoBufferType.I010: {
|
|
159
|
-
const y =
|
|
177
|
+
const y = create(VideoBufferInfo_ComponentInfoSchema, {
|
|
160
178
|
dataPtr,
|
|
161
179
|
stride: width * 2,
|
|
162
180
|
size: width * height * 2,
|
|
163
181
|
});
|
|
164
|
-
const u =
|
|
182
|
+
const u = create(VideoBufferInfo_ComponentInfoSchema, {
|
|
165
183
|
dataPtr: y.dataPtr + BigInt(y.size),
|
|
166
184
|
stride: chromaWidth * 2,
|
|
167
185
|
size: chromaWidth * chromaHeight * 2,
|
|
168
186
|
});
|
|
169
|
-
const v =
|
|
187
|
+
const v = create(VideoBufferInfo_ComponentInfoSchema, {
|
|
170
188
|
dataPtr: u.dataPtr + BigInt(u.size),
|
|
171
189
|
stride: chromaWidth * 2,
|
|
172
190
|
size: chromaWidth * chromaHeight * 2,
|
|
@@ -174,8 +192,12 @@ const getPlaneInfos = (dataPtr, type, width, height) => {
|
|
|
174
192
|
return [y, u, v];
|
|
175
193
|
}
|
|
176
194
|
case VideoBufferType.NV12: {
|
|
177
|
-
const y =
|
|
178
|
-
|
|
195
|
+
const y = create(VideoBufferInfo_ComponentInfoSchema, {
|
|
196
|
+
dataPtr,
|
|
197
|
+
stride: width,
|
|
198
|
+
size: width * height,
|
|
199
|
+
});
|
|
200
|
+
const uv = create(VideoBufferInfo_ComponentInfoSchema, {
|
|
179
201
|
dataPtr: y.dataPtr + BigInt(y.size),
|
|
180
202
|
stride: chromaWidth * 2,
|
|
181
203
|
size: chromaWidth * chromaHeight * 2,
|
package/dist/video_frame.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video_frame.js","sourceRoot":"","sources":["../src/video_frame.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,sCAAsC;AACtC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"video_frame.js","sourceRoot":"","sources":["../src/video_frame.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video_source.d.ts","sourceRoot":"","sources":["../src/video_source.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"video_source.d.ts","sourceRoot":"","sources":["../src/video_source.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAGV,eAAe,EAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAGL,aAAa,EAEd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,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"}
|
package/dist/video_source.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
// SPDX-FileCopyrightText: 2024 LiveKit, Inc.
|
|
2
2
|
//
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
import { create } from '@bufbuild/protobuf';
|
|
4
5
|
import { FfiClient, FfiHandle } from './ffi_client.js';
|
|
5
|
-
import {
|
|
6
|
+
import { CaptureVideoFrameRequestSchema, NewVideoSourceRequestSchema, VideoRotation, VideoSourceType, } from './proto/video_frame_pb.js';
|
|
6
7
|
export class VideoSource {
|
|
7
8
|
constructor(width, height) {
|
|
8
9
|
this.width = width;
|
|
9
10
|
this.height = height;
|
|
10
|
-
const req =
|
|
11
|
+
const req = create(NewVideoSourceRequestSchema, {
|
|
11
12
|
type: VideoSourceType.VIDEO_SOURCE_NATIVE,
|
|
12
13
|
resolution: {
|
|
13
14
|
width: width,
|
|
@@ -24,7 +25,7 @@ export class VideoSource {
|
|
|
24
25
|
this.ffiHandle = new FfiHandle(res.source.handle.id);
|
|
25
26
|
}
|
|
26
27
|
captureFrame(frame, timestampUs = 0n, rotation = VideoRotation.VIDEO_ROTATION_0) {
|
|
27
|
-
const req =
|
|
28
|
+
const req = create(CaptureVideoFrameRequestSchema, {
|
|
28
29
|
sourceHandle: this.ffiHandle.handle,
|
|
29
30
|
buffer: frame.protoInfo(),
|
|
30
31
|
rotation,
|
package/dist/video_source.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video_source.js","sourceRoot":"","sources":["../src/video_source.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,sCAAsC;AACtC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAMvD,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"video_source.js","sourceRoot":"","sources":["../src/video_source.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,sCAAsC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAMvD,OAAO,EACL,8BAA8B,EAC9B,2BAA2B,EAC3B,aAAa,EACb,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,MAAM,GAAG,GAAG,MAAM,CAAC,2BAA2B,EAAE;YAC9C,IAAI,EAAE,eAAe,CAAC,mBAAmB;YACzC,UAAU,EAAE;gBACV,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,MAAM;aACf;SACF,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAyB;YAC7D,OAAO,EAAE;gBACP,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,GAAG;aACX;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAO,CAAC,IAAK,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,MAAO,CAAC,MAAO,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,YAAY,CAAC,KAAiB,EAAE,WAAW,GAAG,EAAE,EAAE,QAAQ,GAAG,aAAa,CAAC,gBAAgB;QACzF,MAAM,GAAG,GAAG,MAAM,CAAC,8BAA8B,EAAE;YACjD,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"}
|
package/dist/video_stream.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { Mutex } from '@livekit/mutex';
|
|
1
2
|
import { FfiHandle } from './ffi_client.js';
|
|
2
3
|
import type { VideoRotation, VideoStreamInfo } from './proto/video_frame_pb.js';
|
|
3
4
|
import type { Track } from './track.js';
|
|
4
|
-
import { Mutex } from './utils.js';
|
|
5
5
|
import { VideoFrame } from './video_frame.js';
|
|
6
6
|
export type VideoFrameEvent = {
|
|
7
7
|
frame: VideoFrame;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video_stream.d.ts","sourceRoot":"","sources":["../src/video_stream.ts"],"names":[],"mappings":"AAIA,OAAO,EAA6B,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,KAAK,EAEV,aAAa,EACb,eAAe,EAChB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"video_stream.d.ts","sourceRoot":"","sources":["../src/video_stream.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAA6B,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,KAAK,EAEV,aAAa,EACb,eAAe,EAChB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF,qBAAa,WAAY,YAAW,qBAAqB,CAAC,eAAe,CAAC;IACxE,gBAAgB;IAChB,IAAI,EAAE,eAAe,CAAC;IACtB,gBAAgB;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB;IAChB,UAAU,EAAE,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,CAAM;IAC5C,gBAAgB;IAChB,YAAY,EAAE,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC/E,gBAAgB;IAChB,KAAK,QAAe;IAEpB,KAAK,EAAE,KAAK,CAAC;gBAED,KAAK,EAAE,KAAK;IAqBxB,OAAO,CAAC,OAAO,CAyBb;IAEI,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAkBtD,KAAK;IAKL,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW;CAGtC"}
|
package/dist/video_stream.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
// SPDX-FileCopyrightText: 2024 LiveKit, Inc.
|
|
2
|
+
//
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
import { create } from '@bufbuild/protobuf';
|
|
5
|
+
import { Mutex } from '@livekit/mutex';
|
|
1
6
|
import { FfiClient, FfiClientEvent, FfiHandle } from './ffi_client.js';
|
|
2
|
-
import {
|
|
3
|
-
import { Mutex } from './utils.js';
|
|
7
|
+
import { NewVideoStreamRequestSchema, VideoStreamType } from './proto/video_frame_pb.js';
|
|
4
8
|
import { VideoFrame } from './video_frame.js';
|
|
5
9
|
export class VideoStream {
|
|
6
10
|
constructor(track) {
|
|
@@ -35,7 +39,7 @@ export class VideoStream {
|
|
|
35
39
|
}
|
|
36
40
|
};
|
|
37
41
|
this.track = track;
|
|
38
|
-
const req =
|
|
42
|
+
const req = create(NewVideoStreamRequestSchema, {
|
|
39
43
|
type: VideoStreamType.VIDEO_STREAM_NATIVE,
|
|
40
44
|
trackHandle: track.ffi_handle.handle,
|
|
41
45
|
});
|
package/dist/video_stream.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video_stream.js","sourceRoot":"","sources":["../src/video_stream.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"video_stream.js","sourceRoot":"","sources":["../src/video_stream.ts"],"names":[],"mappings":"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"}
|