livekit-client 2.15.4 → 2.15.6
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/dist/livekit-client.e2ee.worker.js +1 -1
- package/dist/livekit-client.e2ee.worker.js.map +1 -1
- package/dist/livekit-client.e2ee.worker.mjs +373 -164
- package/dist/livekit-client.e2ee.worker.mjs.map +1 -1
- package/dist/livekit-client.esm.mjs +982 -643
- package/dist/livekit-client.esm.mjs.map +1 -1
- package/dist/livekit-client.umd.js +1 -1
- package/dist/livekit-client.umd.js.map +1 -1
- package/dist/src/e2ee/E2eeManager.d.ts.map +1 -1
- package/dist/src/e2ee/worker/FrameCryptor.d.ts +0 -47
- package/dist/src/e2ee/worker/FrameCryptor.d.ts.map +1 -1
- package/dist/src/e2ee/worker/naluUtils.d.ts +27 -0
- package/dist/src/e2ee/worker/naluUtils.d.ts.map +1 -0
- package/dist/src/e2ee/worker/sifPayload.d.ts +22 -0
- package/dist/src/e2ee/worker/sifPayload.d.ts.map +1 -0
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/room/Room.d.ts +6 -10
- package/dist/src/room/Room.d.ts.map +1 -1
- package/dist/src/room/data-stream/incoming/IncomingDataStreamManager.d.ts +20 -0
- package/dist/src/room/data-stream/incoming/IncomingDataStreamManager.d.ts.map +1 -0
- package/dist/{ts4.2/src/room → src/room/data-stream/incoming}/StreamReader.d.ts +82 -56
- package/dist/src/room/data-stream/incoming/StreamReader.d.ts.map +1 -0
- package/dist/src/room/data-stream/outgoing/OutgoingDataStreamManager.d.ts +27 -0
- package/dist/src/room/data-stream/outgoing/OutgoingDataStreamManager.d.ts.map +1 -0
- package/dist/src/room/{StreamWriter.d.ts → data-stream/outgoing/StreamWriter.d.ts} +1 -1
- package/dist/src/room/data-stream/outgoing/StreamWriter.d.ts.map +1 -0
- package/dist/src/room/errors.d.ts +13 -0
- package/dist/src/room/errors.d.ts.map +1 -1
- package/dist/src/room/participant/LocalParticipant.d.ts +32 -19
- package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
- package/dist/src/room/track/LocalTrack.d.ts +7 -2
- package/dist/src/room/track/LocalTrack.d.ts.map +1 -1
- package/dist/src/room/track/RemoteVideoTrack.d.ts +1 -0
- package/dist/src/room/track/RemoteVideoTrack.d.ts.map +1 -1
- package/dist/src/room/track/Track.d.ts +4 -1
- package/dist/src/room/track/Track.d.ts.map +1 -1
- package/dist/src/room/types.d.ts +17 -1
- package/dist/src/room/types.d.ts.map +1 -1
- package/dist/src/room/utils.d.ts +8 -0
- package/dist/src/room/utils.d.ts.map +1 -1
- package/dist/ts4.2/src/e2ee/worker/FrameCryptor.d.ts +0 -47
- package/dist/ts4.2/src/e2ee/worker/naluUtils.d.ts +27 -0
- package/dist/ts4.2/src/e2ee/worker/sifPayload.d.ts +22 -0
- package/dist/ts4.2/src/index.d.ts +2 -2
- package/dist/ts4.2/src/room/Room.d.ts +6 -10
- package/dist/ts4.2/src/room/data-stream/incoming/IncomingDataStreamManager.d.ts +20 -0
- package/dist/{src/room → ts4.2/src/room/data-stream/incoming}/StreamReader.d.ts +82 -56
- package/dist/ts4.2/src/room/data-stream/outgoing/OutgoingDataStreamManager.d.ts +27 -0
- package/dist/ts4.2/src/room/{StreamWriter.d.ts → data-stream/outgoing/StreamWriter.d.ts} +1 -1
- package/dist/ts4.2/src/room/errors.d.ts +13 -0
- package/dist/ts4.2/src/room/participant/LocalParticipant.d.ts +32 -19
- package/dist/ts4.2/src/room/track/LocalTrack.d.ts +7 -2
- package/dist/ts4.2/src/room/track/RemoteVideoTrack.d.ts +1 -0
- package/dist/ts4.2/src/room/track/Track.d.ts +4 -1
- package/dist/ts4.2/src/room/types.d.ts +17 -1
- package/dist/ts4.2/src/room/utils.d.ts +8 -0
- package/package.json +7 -7
- package/src/e2ee/E2eeManager.ts +18 -1
- package/src/e2ee/worker/FrameCryptor.ts +56 -157
- package/src/e2ee/worker/e2ee.worker.ts +6 -1
- package/src/e2ee/worker/naluUtils.ts +328 -0
- package/src/e2ee/worker/sifPayload.ts +75 -0
- package/src/index.ts +2 -2
- package/src/room/Room.ts +104 -208
- package/src/room/data-stream/incoming/IncomingDataStreamManager.ts +247 -0
- package/src/room/data-stream/incoming/StreamReader.ts +317 -0
- package/src/room/data-stream/outgoing/OutgoingDataStreamManager.ts +316 -0
- package/src/room/{StreamWriter.ts → data-stream/outgoing/StreamWriter.ts} +1 -1
- package/src/room/errors.ts +34 -0
- package/src/room/participant/LocalParticipant.ts +39 -295
- package/src/room/track/LocalAudioTrack.ts +2 -2
- package/src/room/track/LocalTrack.ts +70 -50
- package/src/room/track/RemoteVideoTrack.ts +12 -2
- package/src/room/track/Track.ts +10 -1
- package/src/room/types.ts +22 -1
- package/src/room/utils.ts +14 -5
- package/dist/src/e2ee/worker/SifGuard.d.ts +0 -11
- package/dist/src/e2ee/worker/SifGuard.d.ts.map +0 -1
- package/dist/src/room/StreamReader.d.ts.map +0 -1
- package/dist/src/room/StreamWriter.d.ts.map +0 -1
- package/dist/ts4.2/src/e2ee/worker/SifGuard.d.ts +0 -11
- package/src/e2ee/worker/SifGuard.ts +0 -47
- package/src/room/StreamReader.ts +0 -170
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"E2eeManager.d.ts","sourceRoot":"","sources":["../../../src/e2ee/E2eeManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,iBAAiB,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AAWrC,OAAO,EAAE,KAAK,oBAAoB,EAAqC,MAAM,UAAU,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAanB,MAAM,SAAS,CAAC;AAGjB,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACrC,4BAA4B,CAAC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClF,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IACzC,EAAE,CAAC,CAAC,SAAS,MAAM,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CAC7F;gCAM0B,UAAU,iBAAiB,CAAC,oBAAoB,CAAC;AAJ5E;;GAEG;AACH,qBAAa,WACX,SAAQ,gBACR,YAAW,eAAe;IAE1B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IAEzB,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IAEtB,OAAO,CAAC,iBAAiB,CAAU;IAEnC,OAAO,CAAC,WAAW,CAAkB;gBAEzB,OAAO,EAAE,kBAAkB;IAOvC;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,IAAI;IA2BhB;;OAEG;IACH,4BAA4B,CAAC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM;IAK1E;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,UAAU;IAQjC,OAAO,CAAC,eAAe,CAoDrB;IAEF,OAAO,CAAC,aAAa,CAGnB;IAEK,WAAW,CAAC,MAAM,EAAE,SAAS;IAMpC,OAAO,CAAC,mBAAmB;
|
1
|
+
{"version":3,"file":"E2eeManager.d.ts","sourceRoot":"","sources":["../../../src/e2ee/E2eeManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,iBAAiB,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AAWrC,OAAO,EAAE,KAAK,oBAAoB,EAAqC,MAAM,UAAU,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAanB,MAAM,SAAS,CAAC;AAGjB,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACrC,4BAA4B,CAAC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClF,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IACzC,EAAE,CAAC,CAAC,SAAS,MAAM,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CAC7F;gCAM0B,UAAU,iBAAiB,CAAC,oBAAoB,CAAC;AAJ5E;;GAEG;AACH,qBAAa,WACX,SAAQ,gBACR,YAAW,eAAe;IAE1B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IAEzB,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IAEtB,OAAO,CAAC,iBAAiB,CAAU;IAEnC,OAAO,CAAC,WAAW,CAAkB;gBAEzB,OAAO,EAAE,kBAAkB;IAOvC;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,IAAI;IA2BhB;;OAEG;IACH,4BAA4B,CAAC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM;IAK1E;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,UAAU;IAQjC,OAAO,CAAC,eAAe,CAoDrB;IAEF,OAAO,CAAC,aAAa,CAGnB;IAEK,WAAW,CAAC,MAAM,EAAE,SAAS;IAMpC,OAAO,CAAC,mBAAmB;IA0E3B,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,OAAO;IAgBf,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,eAAe;IAQvB;;;;OAIG;YACW,cAAc;IAmE5B;;;;OAIG;IACH,OAAO,CAAC,YAAY;CAwCrB"}
|
@@ -34,7 +34,6 @@ export declare class FrameCryptor extends BaseFrameCryptor {
|
|
34
34
|
* used for detecting server injected unencrypted frames
|
35
35
|
*/
|
36
36
|
private sifTrailer;
|
37
|
-
private sifGuard;
|
38
37
|
private detectedCodec?;
|
39
38
|
private isTransformActive;
|
40
39
|
constructor(opts: {
|
@@ -128,52 +127,6 @@ export declare class FrameCryptor extends BaseFrameCryptor {
|
|
128
127
|
*/
|
129
128
|
private getVideoCodec;
|
130
129
|
}
|
131
|
-
/**
|
132
|
-
* Slice the NALUs present in the supplied buffer, assuming it is already byte-aligned
|
133
|
-
* code adapted from https://github.com/medooze/h264-frame-parser/blob/main/lib/NalUnits.ts to return indices only
|
134
|
-
*/
|
135
|
-
export declare function findNALUIndices(stream: Uint8Array): number[];
|
136
|
-
export declare function parseNALUType(startByte: number): NALUType;
|
137
|
-
export declare enum NALUType {
|
138
|
-
/** Coded slice of a non-IDR picture */
|
139
|
-
SLICE_NON_IDR = 1,
|
140
|
-
/** Coded slice data partition A */
|
141
|
-
SLICE_PARTITION_A = 2,
|
142
|
-
/** Coded slice data partition B */
|
143
|
-
SLICE_PARTITION_B = 3,
|
144
|
-
/** Coded slice data partition C */
|
145
|
-
SLICE_PARTITION_C = 4,
|
146
|
-
/** Coded slice of an IDR picture */
|
147
|
-
SLICE_IDR = 5,
|
148
|
-
/** Supplemental enhancement information */
|
149
|
-
SEI = 6,
|
150
|
-
/** Sequence parameter set */
|
151
|
-
SPS = 7,
|
152
|
-
/** Picture parameter set */
|
153
|
-
PPS = 8,
|
154
|
-
/** Access unit delimiter */
|
155
|
-
AUD = 9,
|
156
|
-
/** End of sequence */
|
157
|
-
END_SEQ = 10,
|
158
|
-
/** End of stream */
|
159
|
-
END_STREAM = 11,
|
160
|
-
/** Filler data */
|
161
|
-
FILLER_DATA = 12,
|
162
|
-
/** Sequence parameter set extension */
|
163
|
-
SPS_EXT = 13,
|
164
|
-
/** Prefix NAL unit */
|
165
|
-
PREFIX_NALU = 14,
|
166
|
-
/** Subset sequence parameter set */
|
167
|
-
SUBSET_SPS = 15,
|
168
|
-
/** Depth parameter set */
|
169
|
-
DPS = 16,
|
170
|
-
/** Coded slice of an auxiliary coded picture without partitioning */
|
171
|
-
SLICE_AUX = 19,
|
172
|
-
/** Coded slice extension */
|
173
|
-
SLICE_EXT = 20,
|
174
|
-
/** Coded slice extension for a depth view component or a 3D-AVC texture view component */
|
175
|
-
SLICE_LAYER_EXT = 21
|
176
|
-
}
|
177
130
|
/**
|
178
131
|
* we use a magic frame trailer to detect whether a frame is injected
|
179
132
|
* by the livekit server and thus to be treated as unencrypted
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FrameCryptor.d.ts","sourceRoot":"","sources":["../../../../src/e2ee/worker/FrameCryptor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,iBAAiB,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAE,KAAK,gBAAgB,EAAgB,MAAM,WAAW,CAAC;AAChE,OAAO,KAAK,EAAwB,kBAAkB,EAAyB,MAAM,UAAU,CAAC;AAEhG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;
|
1
|
+
{"version":3,"file":"FrameCryptor.d.ts","sourceRoot":"","sources":["../../../../src/e2ee/worker/FrameCryptor.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
/**
|
2
|
+
* NALU (Network Abstraction Layer Unit) utilities for H.264 and H.265 video processing
|
3
|
+
* Contains functions for parsing and working with NALUs in video frames
|
4
|
+
*/
|
5
|
+
/**
|
6
|
+
* Detected codec type from NALU analysis
|
7
|
+
*/
|
8
|
+
export type DetectedCodec = 'h264' | 'h265' | 'unknown';
|
9
|
+
/**
|
10
|
+
* Result of NALU processing for frame encryption
|
11
|
+
*/
|
12
|
+
export interface NALUProcessingResult {
|
13
|
+
/** Number of unencrypted bytes at the start of the frame */
|
14
|
+
unencryptedBytes: number;
|
15
|
+
/** Detected codec type */
|
16
|
+
detectedCodec: DetectedCodec;
|
17
|
+
/** Whether this frame requires NALU processing */
|
18
|
+
requiresNALUProcessing: boolean;
|
19
|
+
}
|
20
|
+
/**
|
21
|
+
* Process NALU data for frame encryption, detecting codec and finding unencrypted bytes
|
22
|
+
* @param data Frame data
|
23
|
+
* @param knownCodec Known codec from other sources (optional)
|
24
|
+
* @returns NALU processing result
|
25
|
+
*/
|
26
|
+
export declare function processNALUsForEncryption(data: Uint8Array, knownCodec?: 'h264' | 'h265'): NALUProcessingResult;
|
27
|
+
//# sourceMappingURL=naluUtils.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"naluUtils.d.ts","sourceRoot":"","sources":["../../../../src/e2ee/worker/naluUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgLH;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,4DAA4D;IAC5D,gBAAgB,EAAE,MAAM,CAAC;IACzB,0BAA0B;IAC1B,aAAa,EAAE,aAAa,CAAC;IAC7B,kDAAkD;IAClD,sBAAsB,EAAE,OAAO,CAAC;CACjC;AA8GD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,UAAU,EAChB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAC3B,oBAAoB,CActB"}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import type { VideoCodec } from '../..';
|
2
|
+
export declare const VP8KeyFrame8x8: Uint8Array<ArrayBuffer>;
|
3
|
+
export declare const H264KeyFrame2x2SPS: Uint8Array<ArrayBuffer>;
|
4
|
+
export declare const H264KeyFrame2x2PPS: Uint8Array<ArrayBuffer>;
|
5
|
+
export declare const H264KeyFrame2x2IDR: Uint8Array<ArrayBuffer>;
|
6
|
+
export declare const H264KeyFrame2x2: Uint8Array<ArrayBuffer>[];
|
7
|
+
export declare const OpusSilenceFrame: Uint8Array<ArrayBuffer>;
|
8
|
+
/**
|
9
|
+
* Pre-computed SHA-256 hashes for secure comparison operations
|
10
|
+
*/
|
11
|
+
export declare const CryptoHashes: {
|
12
|
+
readonly VP8KeyFrame8x8: "ef0161653d8b2b23aad46624b420af1d03ce48950e9fc85718028f91b50f9219";
|
13
|
+
readonly H264KeyFrame2x2SPS: "f0a0e09647d891d6d50aa898bce7108090375d0d55e50a2bb21147afee558e44";
|
14
|
+
readonly H264KeyFrame2x2PPS: "61d9665eed71b6d424ae9539330a3bdd5cb386d4d781c808219a6e36750493a7";
|
15
|
+
readonly H264KeyFrame2x2IDR: "faffc26b68a2fc09096fa20f3351e706398b6f838a7500c8063472c2e476e90d";
|
16
|
+
readonly OpusSilenceFrame: "aad8d31fc56b2802ca500e58c2fb9d0b29ad71bb7cb52cd6530251eade188988";
|
17
|
+
};
|
18
|
+
/**
|
19
|
+
* Check if a byte array matches any of the known SIF payload frame types using secure crypto hashes
|
20
|
+
*/
|
21
|
+
export declare function identifySifPayload(data: Uint8Array | ArrayBuffer): Promise<VideoCodec | 'opus' | null>;
|
22
|
+
//# sourceMappingURL=sifPayload.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sifPayload.d.ts","sourceRoot":"","sources":["../../../../src/e2ee/worker/sifPayload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAIxC,eAAO,MAAM,cAAc,yBAGzB,CAAC;AAEH,eAAO,MAAM,kBAAkB,yBAG7B,CAAC;AAEH,eAAO,MAAM,kBAAkB,yBAAuD,CAAC;AAEvF,eAAO,MAAM,kBAAkB,yBAE7B,CAAC;AAEH,eAAO,MAAM,eAAe,2BAA+D,CAAC;AAE5F,eAAO,MAAM,gBAAgB,yBAM3B,CAAC;AAaH;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;CAMf,CAAC;AAEX;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,UAAU,GAAG,WAAW,GAC7B,OAAO,CAAC,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC,CAiBrC"}
|
package/dist/src/index.d.ts
CHANGED
@@ -39,8 +39,8 @@ export { facingModeFromDeviceLabel, facingModeFromLocalTrack } from './room/trac
|
|
39
39
|
export * from './room/track/options';
|
40
40
|
export * from './room/track/processor/types';
|
41
41
|
export * from './room/track/types';
|
42
|
-
export type * from './room/StreamReader';
|
43
|
-
export type * from './room/StreamWriter';
|
42
|
+
export type * from './room/data-stream/incoming/StreamReader';
|
43
|
+
export type * from './room/data-stream/outgoing/StreamWriter';
|
44
44
|
export type { DataPublishOptions, SimulationScenario, TranscriptionSegment, ChatMessage, SendTextOptions, } from './room/types';
|
45
45
|
export * from './version';
|
46
46
|
export {
|
package/dist/src/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC1F,OAAO,sBAAsB,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,IAAI,EAAE,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,UAAU,MAAM,0BAA0B,CAAC;AACvD,OAAO,gBAAgB,MAAM,qCAAqC,CAAC;AACnE,OAAO,WAAW,EAAE,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjG,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAChG,OAAO,iBAAiB,MAAM,sCAAsC,CAAC;AACrE,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AACtB,OAAO,cAAc,MAAM,eAAe,CAAC;AAC3C,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;AACvE,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,sBAAsB,MAAM,qCAAqC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,sBAAsB,EACtB,gBAAgB,EAChB,WAAW,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAErF,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,QAAQ,CAAC;AACvB,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAC9F,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,mBAAmB,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/room/Room.d.ts
CHANGED
@@ -3,7 +3,7 @@ import type TypedEmitter from 'typed-emitter';
|
|
3
3
|
import 'webrtc-adapter';
|
4
4
|
import type { InternalRoomOptions, RoomConnectOptions, RoomOptions } from '../options';
|
5
5
|
import RTCEngine from './RTCEngine';
|
6
|
-
import { type ByteStreamHandler, type TextStreamHandler } from './StreamReader';
|
6
|
+
import { type ByteStreamHandler, type TextStreamHandler } from './data-stream/incoming/StreamReader';
|
7
7
|
import LocalParticipant from './participant/LocalParticipant';
|
8
8
|
import type Participant from './participant/Participant';
|
9
9
|
import { type ConnectionQuality } from './participant/Participant';
|
@@ -74,10 +74,8 @@ declare class Room extends Room_base {
|
|
74
74
|
* map to store first point in time when a particular transcription segment was received
|
75
75
|
*/
|
76
76
|
private transcriptionReceivedTimes;
|
77
|
-
private
|
78
|
-
private
|
79
|
-
private byteStreamHandlers;
|
80
|
-
private textStreamHandlers;
|
77
|
+
private incomingDataStreamManager;
|
78
|
+
private outgoingDataStreamManager;
|
81
79
|
private rpcHandlers;
|
82
80
|
/**
|
83
81
|
* Creates a new Room, the primary construct for a LiveKit session.
|
@@ -121,7 +119,6 @@ declare class Room extends Room_base {
|
|
121
119
|
* @param method - The name of the RPC method to unregister
|
122
120
|
*/
|
123
121
|
unregisterRpcMethod(method: string): void;
|
124
|
-
private handleIncomingRpcRequest;
|
125
122
|
/**
|
126
123
|
* @experimental
|
127
124
|
*/
|
@@ -226,15 +223,14 @@ declare class Room extends Room_base {
|
|
226
223
|
private handleSubscriptionPermissionUpdate;
|
227
224
|
private handleSubscriptionError;
|
228
225
|
private handleDataPacket;
|
229
|
-
private handleStreamHeader;
|
230
|
-
private handleStreamChunk;
|
231
|
-
private handleStreamTrailer;
|
232
226
|
private handleUserPacket;
|
233
227
|
private handleSipDtmf;
|
234
|
-
bufferedSegments: Map<string, TranscriptionSegmentModel>;
|
235
228
|
private handleTranscription;
|
236
229
|
private handleChatMessage;
|
237
230
|
private handleMetrics;
|
231
|
+
private handleDataStream;
|
232
|
+
private handleIncomingRpcRequest;
|
233
|
+
bufferedSegments: Map<string, TranscriptionSegmentModel>;
|
238
234
|
private handleAudioPlaybackStarted;
|
239
235
|
private handleAudioPlaybackFailed;
|
240
236
|
private handleVideoPlaybackStarted;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Room.d.ts","sourceRoot":"","sources":["../../../src/room/Room.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,eAAe,
|
1
|
+
{"version":3,"file":"Room.d.ts","sourceRoot":"","sources":["../../../src/room/Room.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,eAAe,EACf,gBAAgB,EAIhB,YAAY,EAGZ,qBAAqB,EAErB,UAAU,EAEV,OAAO,EAGP,iBAAiB,EAOjB,oBAAoB,IAAI,yBAAyB,EAGlD,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAC9C,OAAO,gBAAgB,CAAC;AAIxB,OAAO,KAAK,EAEV,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,SAAS,MAAM,aAAa,CAAC;AAGpC,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,qCAAqC,CAAC;AAW7C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,KAAK,WAAW,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,KAAK,iBAAiB,EAAmB,MAAM,2BAA2B,CAAC;AACpF,OAAO,iBAAiB,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAA+B,KAAK,iBAAiB,EAAc,MAAM,OAAO,CAAC;AAIxF,OAAO,qBAAqB,MAAM,+BAA+B,CAAC;AAElE,OAAO,KAAK,WAAW,MAAM,qBAAqB,CAAC;AACnD,OAAO,sBAAsB,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAIjE,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,SAAS,CAAC;AAwBjB,oBAAY,eAAe;IACzB,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,kBAAkB,uBAAuB;CAC1C;yBAYmC,UAAU,YAAY,CAAC,kBAAkB,CAAC;AAR9E;;;;;;;GAOG;AACH,cAAM,IAAK,SAAQ,SAA4D;IAC7E,KAAK,EAAE,eAAe,CAAgC;IAEtD;;OAEG;IACH,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAEnD;;;OAGG;IACH,cAAc,EAAE,WAAW,EAAE,CAAM;IAEnC,gBAAgB;IAChB,MAAM,EAAG,SAAS,CAAC;IAEnB,8BAA8B;IAC9B,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC,sBAAsB;IACtB,OAAO,EAAE,mBAAmB,CAAC;IAE7B,qEAAqE;IACrE,aAAa,EAAE,OAAO,CAAS;IAE/B,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAEjC,OAAO,CAAC,QAAQ,CAAC,CAAY;IAE7B,OAAO,CAAC,aAAa,CAAsB;IAE3C,8BAA8B;IAC9B,OAAO,CAAC,WAAW,CAAC,CAA6B;IAEjD,OAAO,CAAC,YAAY,CAAQ;IAE5B,OAAO,CAAC,YAAY,CAAC,CAAe;IAEpC,gEAAgE;IAChE,OAAO,CAAC,eAAe,CAAC,CAAkB;IAE1C,yDAAyD;IACzD,OAAO,CAAC,aAAa,CAAC,CAAe;IAErC,OAAO,CAAC,cAAc,CAAQ;IAE9B,OAAO,CAAC,WAAW,CAA8B;IAEjD,OAAO,CAAC,2BAA2B,CAAC,CAAiC;IAErE,OAAO,CAAC,iBAAiB,CAAC,CAAoB;IAE9C,OAAO,CAAC,SAAS,CAAC,CAAS;IAE3B,OAAO,CAAC,sBAAsB,CAAkB;IAEhD,OAAO,CAAC,GAAG,CAAO;IAElB,OAAO,CAAC,cAAc,CAAkB;IAExC,OAAO,CAAC,UAAU,CAAkB;IAEpC;;OAEG;IACH,OAAO,CAAC,0BAA0B,CAAsB;IAExD,OAAO,CAAC,yBAAyB,CAA4B;IAE7D,OAAO,CAAC,yBAAyB,CAA4B;IAE7D,OAAO,CAAC,WAAW,CAAwE;IAE3F;;;OAGG;gBACS,OAAO,CAAC,EAAE,WAAW;IA8EjC,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB;IAIpE,2BAA2B,CAAC,KAAK,EAAE,MAAM;IAIzC,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB;IAIpE,2BAA2B,CAAC,KAAK,EAAE,MAAM;IAIzC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC,MAAM,CAAC;IASvF;;;;OAIG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM;IAIlC;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,OAAO;IAWrC,OAAO,CAAC,SAAS;IAuBjB,OAAO,KAAK,UAAU,GAOrB;IAED;;QAEI;IACJ,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAsB/B,iDAAiD;IACjD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,oBAAoB;IACpB,IAAI,QAAQ,IAAI,MAAM,GAAG,SAAS,CAEjC;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,OAAO,CAAC,iBAAiB;IA6GzB;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CACpB,IAAI,CAAC,EAAE,eAAe,EACtB,kBAAkB,GAAE,OAAc,GACjC,OAAO,CAAC,eAAe,EAAE,CAAC;IAI7B,MAAM,CAAC,eAAe,qCAEqB,IAAI,EAE1C;IAEL;;;;;;;;OAQG;IACG,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAwBnD,OAAO,GAAU,KAAK,MAAM,EAAE,OAAO,MAAM,EAAE,OAAO,kBAAkB,KAAG,OAAO,CAAC,IAAI,CAAC,CAiIpF;IAEF,OAAO,CAAC,aAAa,CAkDnB;IAEF,OAAO,CAAC,iBAAiB,CAwBvB;IAEF,OAAO,CAAC,iBAAiB,CAiGvB;IAEF;;OAEG;IACH,UAAU,GAAU,oBAAiB,mBAsCnC;IAEF;;;;OAIG;IACH,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAOnE,OAAO,CAAC,sBAAsB;IAI9B;;OAEG;IACG,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,GAAG,CAAC,EAAE,GAAG;IAwH9D,OAAO,CAAC,WAAW,CAGjB;IAEF;;;;;;OAMG;IACH,UAAU,sBAqER;IAEF,UAAU,sBAyBR;IAEF;;OAEG;IACH,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED;;OAEG;IACH,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS;IAI1D;;;;;;;;;OASG;IACG,kBAAkB,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,OAAc;IAkFvF,OAAO,CAAC,2BAA2B;IAmBnC,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,YAAY;IAqFpB,OAAO,CAAC,gBAAgB,CAatB;IAEF,OAAO,CAAC,qBAAqB,CAiC3B;IAEF,OAAO,CAAC,gBAAgB;IAuExB,OAAO,CAAC,wBAAwB,CAwB9B;IAEF,OAAO,CAAC,6BAA6B;IAkBrC,OAAO,CAAC,0BAA0B,CAgChC;IAGF,OAAO,CAAC,qBAAqB,CA8B3B;IAEF,OAAO,CAAC,uBAAuB,CAsB7B;IAEF,OAAO,CAAC,kCAAkC,CAWxC;IAEF,OAAO,CAAC,uBAAuB,CAa7B;IAEF,OAAO,CAAC,gBAAgB,CA8BtB;IAEF,OAAO,CAAC,gBAAgB,CAStB;IAEF,OAAO,CAAC,aAAa,CAKnB;IAEF,OAAO,CAAC,mBAAmB,CAgBzB;IAEF,OAAO,CAAC,iBAAiB,CAMvB;IAEF,OAAO,CAAC,aAAa,CAEnB;IAEF,OAAO,CAAC,gBAAgB,CAEtB;YAEY,wBAAwB;IA8DtC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAa;IAErE,OAAO,CAAC,0BAA0B,CAMhC;IAEF,OAAO,CAAC,yBAAyB,CAO/B;IAEF,OAAO,CAAC,0BAA0B,CAKhC;IAEF,OAAO,CAAC,yBAAyB,CAK/B;IAEF;;OAEG;YACW,oBAAoB;IAiElC,OAAO,CAAC,kBAAkB,CAMxB;IAEF,OAAO,CAAC,gBAAgB,CAStB;IAEF,OAAO,CAAC,6BAA6B,CAWnC;YAEY,mBAAmB;IAmCjC,OAAO,CAAC,iBAAiB;IAgCzB,OAAO,CAAC,sBAAsB;IA6G9B,OAAO,CAAC,aAAa;IASrB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,yBAAyB;IAOjC,OAAO,CAAC,2BAA2B;IAoCnC,OAAO,CAAC,wBAAwB;IAMhC,OAAO,CAAC,yBAAyB;IAUjC,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,iCAAiC,CAEvC;IAEF,OAAO,CAAC,6BAA6B,CAEnC;IAEF,OAAO,CAAC,wBAAwB,CAE9B;IAEF,OAAO,CAAC,iBAAiB,CAEvB;IAEF,OAAO,CAAC,mBAAmB,CAEzB;IAEF,OAAO,CAAC,sBAAsB,CAE5B;IAEF,OAAO,CAAC,qBAAqB,CAuB3B;IAEF,OAAO,CAAC,uBAAuB,CAI7B;IAEF,OAAO,CAAC,qBAAqB,CAe3B;IAEF,OAAO,CAAC,+BAA+B,CAErC;IAEF,OAAO,CAAC,mBAAmB,CAEzB;IAEF,OAAO,CAAC,oCAAoC,CAE1C;IAEF,OAAO,CAAC,sBAAsB,CAE5B;IAEF;;;;OAIG;IACG,oBAAoB,CAAC,OAAO,EAAE,iBAAiB;IA+IrD,IAAI,CAAC,CAAC,SAAS,MAAM,kBAAkB,EACrC,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,GACzC,OAAO;CASX;AAiBD,eAAe,IAAI,CAAC;AAEpB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAClD,sBAAsB,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IACzD,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,oBAAoB,EAAE,CAAC,WAAW,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC/D,uBAAuB,EAAE,CAAC,WAAW,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAClE,cAAc,EAAE,CAAC,WAAW,EAAE,sBAAsB,EAAE,WAAW,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9F,eAAe,EAAE,CACf,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,sBAAsB,EACnC,WAAW,EAAE,iBAAiB,KAC3B,IAAI,CAAC;IACV,uBAAuB,EAAE,CACvB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,iBAAiB,EAC9B,MAAM,CAAC,EAAE,iBAAiB,KACvB,IAAI,CAAC;IACV,gBAAgB,EAAE,CAAC,WAAW,EAAE,sBAAsB,EAAE,WAAW,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAChG,iBAAiB,EAAE,CACjB,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,sBAAsB,EACnC,WAAW,EAAE,iBAAiB,KAC3B,IAAI,CAAC;IACV,UAAU,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9E,YAAY,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IAChF,mBAAmB,EAAE,CAAC,WAAW,EAAE,qBAAqB,EAAE,WAAW,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjG,qBAAqB,EAAE,CACrB,WAAW,EAAE,qBAAqB,EAClC,WAAW,EAAE,gBAAgB,KAC1B,IAAI,CAAC;IACV,yBAAyB,EAAE,CAAC,WAAW,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACxE,0BAA0B,EAAE,CAC1B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,WAAW,EAAE,iBAAiB,GAAG,gBAAgB,KAC9C,IAAI,CAAC;IACV,sBAAsB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,GAAG,gBAAgB,KAAK,IAAI,CAAC;IAClG,6BAA6B,EAAE,CAC7B,eAAe,EAAE,qBAAqB,GAAG,SAAS,EAClD,WAAW,EAAE,iBAAiB,GAAG,gBAAgB,KAC9C,IAAI,CAAC;IACV,4BAA4B,EAAE,CAC5B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACzC,WAAW,EAAE,iBAAiB,GAAG,gBAAgB,KAC9C,IAAI,CAAC;IACV,qBAAqB,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC9D,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,YAAY,EAAE,CACZ,OAAO,EAAE,UAAU,EACnB,WAAW,CAAC,EAAE,iBAAiB,EAC/B,IAAI,CAAC,EAAE,eAAe,EACtB,KAAK,CAAC,EAAE,MAAM,KACX,IAAI,CAAC;IACV,eAAe,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC1E,qBAAqB,EAAE,CACrB,aAAa,EAAE,oBAAoB,EAAE,EACrC,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,gBAAgB,KAC3B,IAAI,CAAC;IACV,wBAAwB,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IACzF,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IAClE,uBAAuB,EAAE,CACvB,WAAW,EAAE,sBAAsB,EACnC,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,WAAW,EAAE,iBAAiB,KAC3B,IAAI,CAAC;IACV,kCAAkC,EAAE,CAClC,WAAW,EAAE,sBAAsB,EACnC,MAAM,EAAE,gBAAgB,CAAC,gBAAgB,EACzC,WAAW,EAAE,iBAAiB,KAC3B,IAAI,CAAC;IACV,8BAA8B,EAAE,CAC9B,WAAW,EAAE,sBAAsB,EACnC,MAAM,EAAE,gBAAgB,CAAC,kBAAkB,EAC3C,WAAW,EAAE,iBAAiB,KAC3B,IAAI,CAAC;IACV,oBAAoB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,oBAAoB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,sBAAsB,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACrD,kCAAkC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5F,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACxC,qBAAqB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IACvE,mBAAmB,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvE,WAAW,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,KAAK,IAAI,CAAC;IAChG,oBAAoB,EAAE,CAAC,WAAW,EAAE,qBAAqB,EAAE,WAAW,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAClG,eAAe,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5E,iBAAiB,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;CACvD,CAAC"}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { type DataPacket } from '@livekit/protocol';
|
2
|
+
import { type ByteStreamHandler, type TextStreamHandler } from './StreamReader';
|
3
|
+
export default class IncomingDataStreamManager {
|
4
|
+
private log;
|
5
|
+
private byteStreamControllers;
|
6
|
+
private textStreamControllers;
|
7
|
+
private byteStreamHandlers;
|
8
|
+
private textStreamHandlers;
|
9
|
+
registerTextStreamHandler(topic: string, callback: TextStreamHandler): void;
|
10
|
+
unregisterTextStreamHandler(topic: string): void;
|
11
|
+
registerByteStreamHandler(topic: string, callback: ByteStreamHandler): void;
|
12
|
+
unregisterByteStreamHandler(topic: string): void;
|
13
|
+
clearHandlersAndControllers(): void;
|
14
|
+
validateParticipantHasNoActiveDataStreams(participantIdentity: string): void;
|
15
|
+
handleDataStreamPacket(packet: DataPacket): Promise<void>;
|
16
|
+
private handleStreamHeader;
|
17
|
+
private handleStreamChunk;
|
18
|
+
private handleStreamTrailer;
|
19
|
+
}
|
20
|
+
//# sourceMappingURL=IncomingDataStreamManager.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"IncomingDataStreamManager.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-stream/incoming/IncomingDataStreamManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EAIhB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,iBAAiB,EAEvB,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAC,OAAO,OAAO,yBAAyB;IAC5C,OAAO,CAAC,GAAG,CAAO;IAElB,OAAO,CAAC,qBAAqB,CAAyD;IAEtF,OAAO,CAAC,qBAAqB,CAAyD;IAEtF,OAAO,CAAC,kBAAkB,CAAwC;IAElE,OAAO,CAAC,kBAAkB,CAAwC;IAElE,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB;IAUpE,2BAA2B,CAAC,KAAK,EAAE,MAAM;IAIzC,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB;IAUpE,2BAA2B,CAAC,KAAK,EAAE,MAAM;IAIzC,2BAA2B;IAO3B,yCAAyC,CAAC,mBAAmB,EAAE,MAAM;IA4B/D,sBAAsB,CAAC,MAAM,EAAE,UAAU;YAajC,kBAAkB;IA2GhC,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,mBAAmB;CAoB5B"}
|
@@ -1,56 +1,82 @@
|
|
1
|
-
import type { DataStream_Chunk } from '@livekit/protocol';
|
2
|
-
import type { BaseStreamInfo, ByteStreamInfo, TextStreamInfo } from '
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
protected
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
*
|
36
|
-
*/
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
1
|
+
import type { DataStream_Chunk } from '@livekit/protocol';
|
2
|
+
import type { BaseStreamInfo, ByteStreamInfo, TextStreamInfo } from '../../types';
|
3
|
+
import { Future } from '../../utils';
|
4
|
+
export type BaseStreamReaderReadAllOpts = {
|
5
|
+
/** An AbortSignal can be used to terminate reads early. */
|
6
|
+
signal?: AbortSignal;
|
7
|
+
};
|
8
|
+
declare abstract class BaseStreamReader<T extends BaseStreamInfo> {
|
9
|
+
protected reader: ReadableStream<DataStream_Chunk>;
|
10
|
+
protected totalByteSize?: number;
|
11
|
+
protected _info: T;
|
12
|
+
protected bytesReceived: number;
|
13
|
+
protected outOfBandFailureRejectingFuture?: Future<never>;
|
14
|
+
get info(): T;
|
15
|
+
/** @internal */
|
16
|
+
protected validateBytesReceived(doneReceiving?: boolean): void;
|
17
|
+
constructor(info: T, stream: ReadableStream<DataStream_Chunk>, totalByteSize?: number, outOfBandFailureRejectingFuture?: Future<never>);
|
18
|
+
protected abstract handleChunkReceived(chunk: DataStream_Chunk): void;
|
19
|
+
onProgress?: (progress: number | undefined) => void;
|
20
|
+
abstract readAll(opts?: BaseStreamReaderReadAllOpts): Promise<string | Array<Uint8Array>>;
|
21
|
+
}
|
22
|
+
export declare class ByteStreamReader extends BaseStreamReader<ByteStreamInfo> {
|
23
|
+
protected handleChunkReceived(chunk: DataStream_Chunk): void;
|
24
|
+
onProgress?: (progress: number | undefined) => void;
|
25
|
+
signal?: AbortSignal;
|
26
|
+
[Symbol.asyncIterator](): {
|
27
|
+
next: () => Promise<IteratorResult<Uint8Array>>;
|
28
|
+
return(): Promise<IteratorResult<Uint8Array>>;
|
29
|
+
};
|
30
|
+
/**
|
31
|
+
* Injects an AbortSignal, which if aborted, will terminate the currently active
|
32
|
+
* stream iteration operation.
|
33
|
+
*
|
34
|
+
* Note that when using AbortSignal.timeout(...), the timeout applies across
|
35
|
+
* the whole iteration operation, not just one individual chunk read.
|
36
|
+
*/
|
37
|
+
withAbortSignal(signal: AbortSignal): this;
|
38
|
+
readAll(opts?: BaseStreamReaderReadAllOpts): Promise<Array<Uint8Array>>;
|
39
|
+
}
|
40
|
+
/**
|
41
|
+
* A class to read chunks from a ReadableStream and provide them in a structured format.
|
42
|
+
*/
|
43
|
+
export declare class TextStreamReader extends BaseStreamReader<TextStreamInfo> {
|
44
|
+
private receivedChunks;
|
45
|
+
signal?: AbortSignal;
|
46
|
+
/**
|
47
|
+
* A TextStreamReader instance can be used as an AsyncIterator that returns the entire string
|
48
|
+
* that has been received up to the current point in time.
|
49
|
+
*/
|
50
|
+
constructor(info: TextStreamInfo, stream: ReadableStream<DataStream_Chunk>, totalChunkCount?: number, outOfBandFailureRejectingFuture?: Future<never>);
|
51
|
+
protected handleChunkReceived(chunk: DataStream_Chunk): void;
|
52
|
+
/**
|
53
|
+
* @param progress - progress of the stream between 0 and 1. Undefined for streams of unknown size
|
54
|
+
*/
|
55
|
+
onProgress?: (progress: number | undefined) => void;
|
56
|
+
/**
|
57
|
+
* Async iterator implementation to allow usage of `for await...of` syntax.
|
58
|
+
* Yields structured chunks from the stream.
|
59
|
+
*
|
60
|
+
*/
|
61
|
+
[Symbol.asyncIterator](): {
|
62
|
+
next: () => Promise<IteratorResult<string>>;
|
63
|
+
return(): Promise<IteratorResult<string>>;
|
64
|
+
};
|
65
|
+
/**
|
66
|
+
* Injects an AbortSignal, which if aborted, will terminate the currently active
|
67
|
+
* stream iteration operation.
|
68
|
+
*
|
69
|
+
* Note that when using AbortSignal.timeout(...), the timeout applies across
|
70
|
+
* the whole iteration operation, not just one individual chunk read.
|
71
|
+
*/
|
72
|
+
withAbortSignal(signal: AbortSignal): this;
|
73
|
+
readAll(opts?: BaseStreamReaderReadAllOpts): Promise<string>;
|
74
|
+
}
|
75
|
+
export type ByteStreamHandler = (reader: ByteStreamReader, participantInfo: {
|
76
|
+
identity: string;
|
77
|
+
}) => void;
|
78
|
+
export type TextStreamHandler = (reader: TextStreamReader, participantInfo: {
|
79
|
+
identity: string;
|
80
|
+
}) => void;
|
81
|
+
export {};
|
82
|
+
//# sourceMappingURL=StreamReader.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"StreamReader.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-stream/incoming/StreamReader.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { type StructuredLogger } from '../../../logger';
|
2
|
+
import type RTCEngine from '../../RTCEngine';
|
3
|
+
import type { SendFileOptions, SendTextOptions, StreamBytesOptions, StreamTextOptions, TextStreamInfo } from '../../types';
|
4
|
+
import { ByteStreamWriter, TextStreamWriter } from './StreamWriter';
|
5
|
+
/**
|
6
|
+
* Manages sending custom user data via data channels.
|
7
|
+
* @internal
|
8
|
+
*/
|
9
|
+
export default class OutgoingDataStreamManager {
|
10
|
+
protected engine: RTCEngine;
|
11
|
+
protected log: StructuredLogger;
|
12
|
+
constructor(engine: RTCEngine, log: StructuredLogger);
|
13
|
+
setupEngine(engine: RTCEngine): void;
|
14
|
+
/** {@inheritDoc LocalParticipant.sendText} */
|
15
|
+
sendText(text: string, options?: SendTextOptions): Promise<TextStreamInfo>;
|
16
|
+
/**
|
17
|
+
* @internal
|
18
|
+
* @experimental CAUTION, might get removed in a minor release
|
19
|
+
*/
|
20
|
+
streamText(options?: StreamTextOptions): Promise<TextStreamWriter>;
|
21
|
+
sendFile(file: File, options?: SendFileOptions): Promise<{
|
22
|
+
id: string;
|
23
|
+
}>;
|
24
|
+
private _sendFile;
|
25
|
+
streamBytes(options?: StreamBytesOptions): Promise<ByteStreamWriter>;
|
26
|
+
}
|
27
|
+
//# sourceMappingURL=OutgoingDataStreamManager.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"OutgoingDataStreamManager.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-stream/outgoing/OutgoingDataStreamManager.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EAEV,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIpE;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,yBAAyB;IAC5C,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC;IAE5B,SAAS,CAAC,GAAG,EAAE,gBAAgB,CAAC;gBAEpB,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB;IAKpD,WAAW,CAAC,MAAM,EAAE,SAAS;IAI7B,8CAA8C;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IA8ChF;;;OAGG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkGlE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;YAMhE,SAAS;IAqBjB,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB;CA8F/C"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { BaseStreamInfo, ByteStreamInfo, TextStreamInfo } from '
|
1
|
+
import type { BaseStreamInfo, ByteStreamInfo, TextStreamInfo } from '../../types';
|
2
2
|
declare class BaseStreamWriter<T, InfoType extends BaseStreamInfo> {
|
3
3
|
protected writableStream: WritableStream<T>;
|
4
4
|
protected defaultWriter: WritableStreamDefaultWriter<T>;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"StreamWriter.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-stream/outgoing/StreamWriter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElF,cAAM,gBAAgB,CAAC,CAAC,EAAE,QAAQ,SAAS,cAAc;IACvD,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAE5C,SAAS,CAAC,aAAa,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC;IAExD,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAE/B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAEZ,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,IAAI;IAOnF,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxB,KAAK;CAKZ;AAED,qBAAa,gBAAiB,SAAQ,gBAAgB,CAAC,MAAM,EAAE,cAAc,CAAC;CAAG;AAEjF,qBAAa,gBAAiB,SAAQ,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC;CAAG"}
|
@@ -46,6 +46,19 @@ export declare class SignalRequestError extends LivekitError {
|
|
46
46
|
reasonName: string;
|
47
47
|
constructor(message: string, reason: RequestErrorReason);
|
48
48
|
}
|
49
|
+
export declare enum DataStreamErrorReason {
|
50
|
+
AlreadyOpened = 0,
|
51
|
+
AbnormalEnd = 1,
|
52
|
+
DecodeFailed = 2,
|
53
|
+
LengthExceeded = 3,
|
54
|
+
Incomplete = 4,
|
55
|
+
HandlerAlreadyRegistered = 7
|
56
|
+
}
|
57
|
+
export declare class DataStreamError extends LivekitError {
|
58
|
+
reason: DataStreamErrorReason;
|
59
|
+
reasonName: string;
|
60
|
+
constructor(message: string, reason: DataStreamErrorReason);
|
61
|
+
}
|
49
62
|
export declare enum MediaDeviceFailure {
|
50
63
|
PermissionDenied = "PermissionDenied",
|
51
64
|
NotFound = "NotFound",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/room/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,qBAAa,YAAa,SAAQ,KAAK;IACrC,IAAI,EAAE,MAAM,CAAC;gBAED,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAK3C;AAED,oBAAY,qBAAqB;IAC/B,UAAU,IAAA;IACV,iBAAiB,IAAA;IACjB,aAAa,IAAA;IACb,SAAS,IAAA;IACT,YAAY,IAAA;IACZ,OAAO,IAAA;CACR;AAED,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;IAErC,MAAM,EAAE,qBAAqB,CAAC;IAE9B,UAAU,EAAE,MAAM,CAAC;gBAGjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,qBAAqB,EAC7B,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,GAAG,gBAAgB;CASvC;AAED,qBAAa,sBAAuB,SAAQ,YAAY;gBAC1C,OAAO,CAAC,EAAE,MAAM;CAI7B;AAED,qBAAa,iBAAkB,SAAQ,YAAY;gBACrC,OAAO,CAAC,EAAE,MAAM;CAI7B;AAED,qBAAa,iBAAkB,SAAQ,YAAY;gBACrC,OAAO,CAAC,EAAE,MAAM;CAI7B;AAED,qBAAa,yBAA0B,SAAQ,YAAY;gBAC7C,OAAO,CAAC,EAAE,MAAM;CAI7B;AAED,qBAAa,gBAAiB,SAAQ,YAAY;gBACpC,OAAO,CAAC,EAAE,MAAM;CAI7B;AAED,qBAAa,gBAAiB,SAAQ,YAAY;gBACpC,OAAO,CAAC,EAAE,MAAM;CAI7B;AAED,qBAAa,iBAAkB,SAAQ,YAAY;IACjD,MAAM,EAAE,MAAM,CAAC;gBAEH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAK5C;AAED,MAAM,MAAM,kBAAkB,GAC1B,OAAO,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,EAAE,CAAC,GAC1D,cAAc,CAAC;AAEnB,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,MAAM,EAAE,kBAAkB,CAAC;IAE3B,UAAU,EAAE,MAAM,CAAC;gBAEP,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB;CAKxD;AAED,oBAAY,kBAAkB;IAE5B,gBAAgB,qBAAqB;IAErC,QAAQ,aAAa;IAErB,WAAW,gBAAgB;IAC3B,KAAK,UAAU;CAChB;AAED,yBAAiB,kBAAkB,CAAC;IAClC,SAAgB,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,kBAAkB,GAAG,SAAS,CAarE;CACF"}
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/room/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,qBAAa,YAAa,SAAQ,KAAK;IACrC,IAAI,EAAE,MAAM,CAAC;gBAED,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAK3C;AAED,oBAAY,qBAAqB;IAC/B,UAAU,IAAA;IACV,iBAAiB,IAAA;IACjB,aAAa,IAAA;IACb,SAAS,IAAA;IACT,YAAY,IAAA;IACZ,OAAO,IAAA;CACR;AAED,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;IAErC,MAAM,EAAE,qBAAqB,CAAC;IAE9B,UAAU,EAAE,MAAM,CAAC;gBAGjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,qBAAqB,EAC7B,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,GAAG,gBAAgB;CASvC;AAED,qBAAa,sBAAuB,SAAQ,YAAY;gBAC1C,OAAO,CAAC,EAAE,MAAM;CAI7B;AAED,qBAAa,iBAAkB,SAAQ,YAAY;gBACrC,OAAO,CAAC,EAAE,MAAM;CAI7B;AAED,qBAAa,iBAAkB,SAAQ,YAAY;gBACrC,OAAO,CAAC,EAAE,MAAM;CAI7B;AAED,qBAAa,yBAA0B,SAAQ,YAAY;gBAC7C,OAAO,CAAC,EAAE,MAAM;CAI7B;AAED,qBAAa,gBAAiB,SAAQ,YAAY;gBACpC,OAAO,CAAC,EAAE,MAAM;CAI7B;AAED,qBAAa,gBAAiB,SAAQ,YAAY;gBACpC,OAAO,CAAC,EAAE,MAAM;CAI7B;AAED,qBAAa,iBAAkB,SAAQ,YAAY;IACjD,MAAM,EAAE,MAAM,CAAC;gBAEH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAK5C;AAED,MAAM,MAAM,kBAAkB,GAC1B,OAAO,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,EAAE,CAAC,GAC1D,cAAc,CAAC;AAEnB,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,MAAM,EAAE,kBAAkB,CAAC;IAE3B,UAAU,EAAE,MAAM,CAAC;gBAEP,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB;CAKxD;AAGD,oBAAY,qBAAqB;IAE/B,aAAa,IAAI;IAGjB,WAAW,IAAI;IAGf,YAAY,IAAI;IAGhB,cAAc,IAAI;IAGlB,UAAU,IAAI;IAGd,wBAAwB,IAAI;CAC7B;AAED,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,MAAM,EAAE,qBAAqB,CAAC;IAE9B,UAAU,EAAE,MAAM,CAAC;gBAEP,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB;CAM3D;AAED,oBAAY,kBAAkB;IAE5B,gBAAgB,qBAAqB;IAErC,QAAQ,aAAa;IAErB,WAAW,gBAAgB;IAC3B,KAAK,UAAU;CAChB;AAED,yBAAiB,kBAAkB,CAAC;IAClC,SAAgB,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,kBAAkB,GAAG,SAAS,CAarE;CACF"}
|
@@ -1,13 +1,14 @@
|
|
1
1
|
import { Codec, ParticipantInfo, ParticipantPermission } from '@livekit/protocol';
|
2
2
|
import type { InternalRoomOptions } from '../../options';
|
3
3
|
import type RTCEngine from '../RTCEngine';
|
4
|
-
import
|
4
|
+
import type OutgoingDataStreamManager from '../data-stream/outgoing/OutgoingDataStreamManager';
|
5
|
+
import type { TextStreamWriter } from '../data-stream/outgoing/StreamWriter';
|
5
6
|
import { type PerformRpcParams, type RpcInvocationData } from '../rpc';
|
6
7
|
import LocalTrack from '../track/LocalTrack';
|
7
8
|
import LocalTrackPublication from '../track/LocalTrackPublication';
|
8
9
|
import { Track } from '../track/Track';
|
9
10
|
import type { AudioCaptureOptions, BackupVideoCodec, CreateLocalTracksOptions, ScreenShareCaptureOptions, TrackPublishOptions, VideoCaptureOptions } from '../track/options';
|
10
|
-
import { type ChatMessage, type DataPublishOptions, type SendTextOptions, type StreamTextOptions, type TextStreamInfo } from '../types';
|
11
|
+
import { type ChatMessage, type DataPublishOptions, type SendFileOptions, type SendTextOptions, type StreamBytesOptions, type StreamTextOptions, type TextStreamInfo } from '../types';
|
11
12
|
import Participant from './Participant';
|
12
13
|
import type { ParticipantTrackPermission } from './ParticipantTrackPermission';
|
13
14
|
import type RemoteParticipant from './RemoteParticipant';
|
@@ -34,12 +35,13 @@ export default class LocalParticipant extends Participant {
|
|
34
35
|
private activeAgentFuture?;
|
35
36
|
private firstActiveAgent?;
|
36
37
|
private rpcHandlers;
|
38
|
+
private roomOutgoingDataStreamManager;
|
37
39
|
private pendingSignalRequests;
|
38
40
|
private enabledPublishVideoCodecs;
|
39
41
|
private pendingAcks;
|
40
42
|
private pendingResponses;
|
41
43
|
/** @internal */
|
42
|
-
constructor(sid: string, identity: string, engine: RTCEngine, options: InternalRoomOptions, roomRpcHandlers: Map<string, (data: RpcInvocationData) => Promise<string
|
44
|
+
constructor(sid: string, identity: string, engine: RTCEngine, options: InternalRoomOptions, roomRpcHandlers: Map<string, (data: RpcInvocationData) => Promise<string>>, roomOutgoingDataStreamManager: OutgoingDataStreamManager);
|
43
45
|
get lastCameraError(): Error | undefined;
|
44
46
|
get lastMicrophoneError(): Error | undefined;
|
45
47
|
get isE2EEEnabled(): boolean;
|
@@ -156,7 +158,9 @@ export default class LocalParticipant extends Participant {
|
|
156
158
|
* @param digit DTMF digit
|
157
159
|
*/
|
158
160
|
publishDtmf(code: number, digit: string): Promise<void>;
|
161
|
+
/** @deprecated Consider migrating to {@link sendText} */
|
159
162
|
sendChatMessage(text: string, options?: SendTextOptions): Promise<ChatMessage>;
|
163
|
+
/** @deprecated Consider migrating to {@link sendText} */
|
160
164
|
editChatMessage(editText: string, originalMessage: ChatMessage): Promise<{
|
161
165
|
readonly message: string;
|
162
166
|
readonly editTimestamp: number;
|
@@ -164,30 +168,39 @@ export default class LocalParticipant extends Participant {
|
|
164
168
|
readonly timestamp: number;
|
165
169
|
readonly attachedFiles?: Array<File>;
|
166
170
|
}>;
|
171
|
+
/**
|
172
|
+
* Sends the given string to participants in the room via the data channel.
|
173
|
+
* For longer messages, consider using {@link streamText} instead.
|
174
|
+
*
|
175
|
+
* @param text The text payload
|
176
|
+
* @param options.topic Topic identifier used to route the stream to appropriate handlers.
|
177
|
+
*/
|
167
178
|
sendText(text: string, options?: SendTextOptions): Promise<TextStreamInfo>;
|
168
179
|
/**
|
180
|
+
* Creates a new TextStreamWriter which can be used to stream text incrementally
|
181
|
+
* to participants in the room via the data channel.
|
182
|
+
*
|
183
|
+
* @param options.topic Topic identifier used to route the stream to appropriate handlers.
|
184
|
+
*
|
169
185
|
* @internal
|
170
186
|
* @experimental CAUTION, might get removed in a minor release
|
171
187
|
*/
|
172
188
|
streamText(options?: StreamTextOptions): Promise<TextStreamWriter>;
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
189
|
+
/** Send a File to all participants in the room via the data channel.
|
190
|
+
* @param file The File object payload
|
191
|
+
* @param options.topic Topic identifier used to route the stream to appropriate handlers.
|
192
|
+
* @param options.onProgress A callback function used to monitor the upload progress percentage.
|
193
|
+
*/
|
194
|
+
sendFile(file: File, options?: SendFileOptions): Promise<{
|
179
195
|
id: string;
|
180
196
|
}>;
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
mimeType?: string;
|
189
|
-
totalSize?: number;
|
190
|
-
}): Promise<ByteStreamWriter>;
|
197
|
+
/**
|
198
|
+
* Stream bytes incrementally to participants in the room via the data channel.
|
199
|
+
* For sending files, consider using {@link sendFile} instead.
|
200
|
+
*
|
201
|
+
* @param options.topic Topic identifier used to route the stream to appropriate handlers.
|
202
|
+
*/
|
203
|
+
streamBytes(options?: StreamBytesOptions): Promise<import("../data-stream/outgoing/StreamWriter").ByteStreamWriter>;
|
191
204
|
/**
|
192
205
|
* Initiate an RPC call to a remote participant
|
193
206
|
* @param params - Parameters for initiating the RPC call, see {@link PerformRpcParams}
|