livekit-client 2.21.0 → 2.22.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.
- package/README.md +10 -10
- 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 +189 -2
- package/dist/livekit-client.e2ee.worker.mjs.map +1 -1
- package/dist/livekit-client.esm.mjs +2243 -270
- package/dist/livekit-client.esm.mjs.map +1 -1
- package/dist/livekit-client.fm.worker.js +1 -1
- package/dist/livekit-client.fm.worker.js.map +1 -1
- package/dist/livekit-client.fm.worker.mjs +189 -2
- package/dist/livekit-client.fm.worker.mjs.map +1 -1
- package/dist/livekit-client.umd.js +1 -1
- package/dist/livekit-client.umd.js.map +1 -1
- package/dist/src/api/SignalClient.d.ts +25 -1
- package/dist/src/api/SignalClient.d.ts.map +1 -1
- package/dist/src/api/SignalClientStateMachine.d.ts +85 -0
- package/dist/src/api/SignalClientStateMachine.d.ts.map +1 -0
- package/dist/src/api/WebSocketStream.d.ts.map +1 -1
- package/dist/src/api/utils.d.ts.map +1 -1
- package/dist/src/index.d.ts +3 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/logger.d.ts +2 -1
- package/dist/src/logger.d.ts.map +1 -1
- package/dist/src/options.d.ts +22 -0
- package/dist/src/options.d.ts.map +1 -1
- package/dist/src/room/PCTransport.d.ts +51 -3
- package/dist/src/room/PCTransport.d.ts.map +1 -1
- package/dist/src/room/RTCEngine.d.ts +27 -3
- package/dist/src/room/RTCEngine.d.ts.map +1 -1
- package/dist/src/room/Room.d.ts +10 -1
- package/dist/src/room/Room.d.ts.map +1 -1
- package/dist/src/room/errors.d.ts.map +1 -1
- package/dist/src/room/events.d.ts +1 -1
- package/dist/src/room/participant/LocalParticipant.d.ts +1 -1
- package/dist/src/room/statsSummary.d.ts +13 -0
- package/dist/src/room/statsSummary.d.ts.map +1 -0
- package/dist/src/room/token-source/TokenSource.d.ts +19 -10
- package/dist/src/room/token-source/TokenSource.d.ts.map +1 -1
- package/dist/src/room/token-source/utils.d.ts.map +1 -1
- package/dist/src/room/track/LocalAudioTrack.d.ts.map +1 -1
- package/dist/src/room/track/LocalVideoTrack.d.ts +12 -1
- package/dist/src/room/track/LocalVideoTrack.d.ts.map +1 -1
- package/dist/src/room/track/RemoteTrack.d.ts +3 -0
- package/dist/src/room/track/RemoteTrack.d.ts.map +1 -1
- package/dist/src/room/track/Track.d.ts +10 -0
- package/dist/src/room/track/Track.d.ts.map +1 -1
- package/dist/src/room/utils.d.ts +15 -0
- package/dist/src/room/utils.d.ts.map +1 -1
- package/dist/src/test/promiseState.d.ts +12 -0
- package/dist/src/test/promiseState.d.ts.map +1 -0
- package/dist/src/test/signalToken.d.ts.map +1 -1
- package/dist/src/utils/AsyncQueue.d.ts +3 -3
- package/dist/src/utils/AsyncQueue.d.ts.map +1 -1
- package/dist/src/utils/machineInspector.d.ts +54 -0
- package/dist/src/utils/machineInspector.d.ts.map +1 -0
- package/dist/ts4.2/api/SignalClient.d.ts +25 -1
- package/dist/ts4.2/api/SignalClientStateMachine.d.ts +85 -0
- package/dist/ts4.2/index.d.ts +3 -2
- package/dist/ts4.2/logger.d.ts +2 -1
- package/dist/ts4.2/options.d.ts +22 -0
- package/dist/ts4.2/room/PCTransport.d.ts +51 -3
- package/dist/ts4.2/room/RTCEngine.d.ts +27 -3
- package/dist/ts4.2/room/Room.d.ts +10 -1
- package/dist/ts4.2/room/events.d.ts +1 -1
- package/dist/ts4.2/room/participant/LocalParticipant.d.ts +1 -1
- package/dist/ts4.2/room/statsSummary.d.ts +13 -0
- package/dist/ts4.2/room/token-source/TokenSource.d.ts +17 -8
- package/dist/ts4.2/room/track/LocalVideoTrack.d.ts +12 -1
- package/dist/ts4.2/room/track/RemoteTrack.d.ts +3 -0
- package/dist/ts4.2/room/track/Track.d.ts +10 -0
- package/dist/ts4.2/room/utils.d.ts +15 -0
- package/dist/ts4.2/test/promiseState.d.ts +12 -0
- package/dist/ts4.2/utils/AsyncQueue.d.ts +3 -3
- package/dist/ts4.2/utils/machineInspector.d.ts +54 -0
- package/package.json +19 -12
- package/src/api/SignalClient.e2e.test.ts +16 -9
- package/src/api/SignalClient.test.ts +320 -8
- package/src/api/SignalClient.ts +260 -82
- package/src/api/SignalClientStateMachine.test.ts +472 -0
- package/src/api/SignalClientStateMachine.ts +180 -0
- package/src/api/WebSocketStream.ts +19 -3
- package/src/api/utils.test.ts +20 -1
- package/src/api/utils.ts +5 -0
- package/src/e2ee/utils.ts +1 -1
- package/src/index.ts +5 -0
- package/src/logger.ts +1 -0
- package/src/options.ts +24 -0
- package/src/room/PCTransport.test.ts +243 -1
- package/src/room/PCTransport.ts +183 -81
- package/src/room/RTCEngine.test.ts +339 -2
- package/src/room/RTCEngine.ts +168 -18
- package/src/room/Room.test.ts +134 -3
- package/src/room/Room.ts +122 -22
- package/src/room/data-stream/incoming/IncomingDataStreamManager.ts +1 -1
- package/src/room/data-stream/incoming/StreamReader.ts +1 -1
- package/src/room/errors.ts +1 -2
- package/src/room/events.ts +1 -1
- package/src/room/statsSummary.ts +187 -0
- package/src/room/token-source/TokenSource.ts +25 -12
- package/src/room/token-source/test-tokens.ts +20 -0
- package/src/room/token-source/utils.test.ts +27 -0
- package/src/room/token-source/utils.ts +12 -5
- package/src/room/track/LocalAudioTrack.ts +9 -3
- package/src/room/track/LocalVideoTrack.test.ts +105 -2
- package/src/room/track/LocalVideoTrack.ts +36 -10
- package/src/room/track/RemoteTrack.test.ts +144 -0
- package/src/room/track/RemoteTrack.ts +39 -12
- package/src/room/track/Track.ts +29 -1
- package/src/room/utils.test.ts +94 -2
- package/src/room/utils.ts +53 -1
- package/src/test/promiseState.ts +23 -0
- package/src/test/signalServerSetup.ts +2 -1
- package/src/test/signalToken.ts +17 -13
- package/src/type-polyfills/header-extensions.d.ts +13 -0
- package/src/utils/AsyncQueue.ts +3 -3
- package/src/utils/machineInspector.ts +90 -0
|
@@ -70,7 +70,7 @@ export declare enum RoomEvent {
|
|
|
70
70
|
* When a [[RemoteParticipant]] leaves *after* the local
|
|
71
71
|
* participant has joined.
|
|
72
72
|
*
|
|
73
|
-
* args: ([[RemoteParticipant]])
|
|
73
|
+
* args: ([[RemoteParticipant]], [[DisconnectReason]] | undefined)
|
|
74
74
|
*/
|
|
75
75
|
ParticipantDisconnected = "participantDisconnected",
|
|
76
76
|
/**
|
|
@@ -221,7 +221,7 @@ export default class LocalParticipant extends Participant {
|
|
|
221
221
|
*
|
|
222
222
|
* @param options.topic Topic identifier used to route the stream to appropriate handlers.
|
|
223
223
|
*/
|
|
224
|
-
streamBytes(options?: StreamBytesOptions): Promise<import("
|
|
224
|
+
streamBytes(options?: StreamBytesOptions): Promise<import("../..").ByteStreamWriter>;
|
|
225
225
|
/**
|
|
226
226
|
* Initiate an RPC call to a remote participant
|
|
227
227
|
* @param params - Parameters for initiating the RPC call, see {@link PerformRpcParams}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** one summarised stats entry; keys without a value are dropped */
|
|
2
|
+
type Summary = Record<string, unknown>;
|
|
3
|
+
/**
|
|
4
|
+
* Picks the interesting fields out of a `getStats()` report and groups them by
|
|
5
|
+
* RTP stream, so a stats dump can be read without unfolding the raw report.
|
|
6
|
+
*/
|
|
7
|
+
export declare function summarizeStatsReport(report: RTCStatsReport): {
|
|
8
|
+
connection: Summary | undefined;
|
|
9
|
+
outbound: Summary[] | undefined;
|
|
10
|
+
inbound: Summary[] | undefined;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=statsSummary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statsSummary.d.ts","sourceRoot":"","sources":["../../../src/room/statsSummary.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA6CvC;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc;;;;EAwI1D"}
|
|
@@ -33,11 +33,16 @@ declare class TokenSourceEndpoint extends TokenSourceCached {
|
|
|
33
33
|
private createRequestFromOptions;
|
|
34
34
|
protected update(options: TokenSourceFetchOptions): Promise<TokenSourceResponse>;
|
|
35
35
|
}
|
|
36
|
-
export type
|
|
36
|
+
export type DevelopmentTokenServerOptions = {
|
|
37
37
|
baseUrl?: string;
|
|
38
38
|
};
|
|
39
|
-
declare class
|
|
40
|
-
constructor(
|
|
39
|
+
declare class TokenSourceDevelopmentTokenServer extends TokenSourceEndpoint {
|
|
40
|
+
constructor(tokenServerId: string, options: DevelopmentTokenServerOptions);
|
|
41
|
+
}
|
|
42
|
+
/** @deprecated use {@link DevelopmentTokenServerOptions} instead */
|
|
43
|
+
export type SandboxTokenServerOptions = DevelopmentTokenServerOptions;
|
|
44
|
+
/** @deprecated Use {@link TokenSourceDevelopmentTokenServer} instead */
|
|
45
|
+
declare class TokenSourceSandboxTokenServer extends TokenSourceDevelopmentTokenServer {
|
|
41
46
|
}
|
|
42
47
|
export {
|
|
43
48
|
/** The return type of {@link TokenSource.literal} */
|
|
@@ -45,9 +50,9 @@ type TokenSourceLiteral,
|
|
|
45
50
|
/** The return type of {@link TokenSource.custom} */
|
|
46
51
|
type TokenSourceCustom,
|
|
47
52
|
/** The return type of {@link TokenSource.endpoint} */
|
|
48
|
-
type TokenSourceEndpoint,
|
|
49
|
-
/** The return type of {@link TokenSource.
|
|
50
|
-
type
|
|
53
|
+
type TokenSourceEndpoint, type TokenSourceSandboxTokenServer,
|
|
54
|
+
/** The return type of {@link TokenSource.developmentTokenServer} */
|
|
55
|
+
type TokenSourceDevelopmentTokenServer, decodeTokenPayload, areTokenSourceFetchOptionsEqual, };
|
|
51
56
|
export declare const TokenSource: {
|
|
52
57
|
/** TokenSource.literal contains a single, literal set of {@link TokenSourceResponseObject}
|
|
53
58
|
* credentials, either provided directly or returned from a provided function. */
|
|
@@ -62,18 +67,22 @@ export declare const TokenSource: {
|
|
|
62
67
|
/**
|
|
63
68
|
* TokenSource.endpoint creates a token source that fetches credentials from a given URL using
|
|
64
69
|
* the standard endpoint format:
|
|
65
|
-
* @see https://
|
|
70
|
+
* @see https://docs.livekit.io/frontends/build/authentication/endpoint/
|
|
66
71
|
*/
|
|
67
72
|
endpoint(url: string, options?: EndpointOptions): TokenSourceEndpoint;
|
|
68
73
|
/**
|
|
69
|
-
*
|
|
74
|
+
* @deprecated Use {@link TokenSource.developmentTokenServer} instead
|
|
75
|
+
*/
|
|
76
|
+
sandboxTokenServer(sandboxId: string, options?: SandboxTokenServerOptions): TokenSourceSandboxTokenServer;
|
|
77
|
+
/**
|
|
78
|
+
* TokenSource.developmentTokenServer queries a development token server for credentials,
|
|
70
79
|
* which supports quick prototyping / getting started types of use cases.
|
|
71
80
|
*
|
|
72
81
|
* This token provider is INSECURE and should NOT be used in production.
|
|
73
82
|
*
|
|
74
83
|
* For more info:
|
|
75
|
-
* @see https://
|
|
84
|
+
* @see https://docs.livekit.io/frontends/build/authentication/sandbox-token-server/
|
|
76
85
|
*/
|
|
77
|
-
|
|
86
|
+
developmentTokenServer(tokenServerId: string, options?: DevelopmentTokenServerOptions): TokenSourceDevelopmentTokenServer;
|
|
78
87
|
};
|
|
79
88
|
//# sourceMappingURL=TokenSource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenSource.d.ts","sourceRoot":"","sources":["../../../../src/room/token-source/TokenSource.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,uBAAuB,EACvB,KAAK,uBAAuB,EAC5B,gBAAgB,EAChB,KAAK,yBAAyB,EAC/B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,+BAA+B,EAAE,kBAAkB,EAAwB,MAAM,SAAS,CAAC;AAEpG;mGACmG;AACnG,uBAAe,iBAAkB,SAAQ,uBAAuB;IAC9D,OAAO,CAAC,kBAAkB,CAAwC;IAElE,OAAO,CAAC,cAAc,CAAoC;IAE1D,OAAO,CAAC,UAAU,CAAe;IAEjC,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,gCAAgC;IAaxC,2BAA2B;IAOrB,KAAK,CACT,OAAO,EAAE,uBAAuB,EAChC,KAAK,CAAC,EAAE,OAAO,GACd,OAAO,CAAC,yBAAyB,CAAC;IAmBrC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAC1F;AAED,KAAK,WAAW,GACZ,yBAAyB,GACzB,CAAC,MAAM,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC;AAC3E,cAAM,kBAAmB,SAAQ,gBAAgB;IAC/C,OAAO,CAAC,WAAW,CAAc;gBAErB,WAAW,EAAE,WAAW;IAK9B,KAAK,IAAI,OAAO,CAAC,yBAAyB,CAAC;CAOlD;AAED,KAAK,QAAQ,GAAG,CACd,OAAO,EAAE,uBAAuB,KAC7B,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACpE,cAAM,iBAAkB,SAAQ,iBAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAW;gBAEf,QAAQ,EAAE,QAAQ;cAKd,MAAM,CAAC,OAAO,EAAE,uBAAuB;CAgBxD;AAED,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAExD,cAAM,mBAAoB,SAAQ,iBAAiB;IACjD,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,eAAe,CAAkB;gBAE7B,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB;IAMtD,OAAO,CAAC,wBAAwB;cAoDhB,MAAM,CAAC,OAAO,EAAE,uBAAuB;CA4BxD;AAED,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"TokenSource.d.ts","sourceRoot":"","sources":["../../../../src/room/token-source/TokenSource.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,uBAAuB,EACvB,KAAK,uBAAuB,EAC5B,gBAAgB,EAChB,KAAK,yBAAyB,EAC/B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,+BAA+B,EAAE,kBAAkB,EAAwB,MAAM,SAAS,CAAC;AAEpG;mGACmG;AACnG,uBAAe,iBAAkB,SAAQ,uBAAuB;IAC9D,OAAO,CAAC,kBAAkB,CAAwC;IAElE,OAAO,CAAC,cAAc,CAAoC;IAE1D,OAAO,CAAC,UAAU,CAAe;IAEjC,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,gCAAgC;IAaxC,2BAA2B;IAOrB,KAAK,CACT,OAAO,EAAE,uBAAuB,EAChC,KAAK,CAAC,EAAE,OAAO,GACd,OAAO,CAAC,yBAAyB,CAAC;IAmBrC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAC1F;AAED,KAAK,WAAW,GACZ,yBAAyB,GACzB,CAAC,MAAM,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC;AAC3E,cAAM,kBAAmB,SAAQ,gBAAgB;IAC/C,OAAO,CAAC,WAAW,CAAc;gBAErB,WAAW,EAAE,WAAW;IAK9B,KAAK,IAAI,OAAO,CAAC,yBAAyB,CAAC;CAOlD;AAED,KAAK,QAAQ,GAAG,CACd,OAAO,EAAE,uBAAuB,KAC7B,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACpE,cAAM,iBAAkB,SAAQ,iBAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAW;gBAEf,QAAQ,EAAE,QAAQ;cAKd,MAAM,CAAC,OAAO,EAAE,uBAAuB;CAgBxD;AAED,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAExD,cAAM,mBAAoB,SAAQ,iBAAiB;IACjD,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,eAAe,CAAkB;gBAE7B,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB;IAMtD,OAAO,CAAC,wBAAwB;cAoDhB,MAAM,CAAC,OAAO,EAAE,uBAAuB;CA4BxD;AAED,MAAM,MAAM,6BAA6B,GAAG;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AACF,cAAM,iCAAkC,SAAQ,mBAAmB;gBACrD,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,6BAA6B;CAU1E;AAED,oEAAoE;AACpE,MAAM,MAAM,yBAAyB,GAAG,6BAA6B,CAAC;AAEtE,wEAAwE;AACxE,cAAM,6BAA8B,SAAQ,iCAAiC;CAAG;AAEhF,OAAO;AACL,qDAAqD;AACrD,KAAK,kBAAkB;AACvB,oDAAoD;AACpD,KAAK,iBAAiB;AACtB,sDAAsD;AACtD,KAAK,mBAAmB,EACxB,KAAK,6BAA6B;AAClC,oEAAoE;AACpE,KAAK,iCAAiC,EACtC,kBAAkB,EAClB,+BAA+B,GAChC,CAAC;AAEF,eAAO,MAAM,WAAW;IACtB;qFACiF;yBAC5D,WAAW;IAIhC;;;;;OAKG;qBACc,QAAQ;IAIzB;;;;OAIG;kBACW,MAAM,YAAW,eAAe;IAI9C;;OAEG;kCAC2B,MAAM,YAAW,yBAAyB;IAIxE;;;;;;;;OAQG;0CACmC,MAAM,YAAW,6BAA6B;CAGrF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/room/token-source/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAEhF,OAAO,KAAK,EAA2B,YAAY,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAK9F,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/room/token-source/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAEhF,OAAO,KAAK,EAA2B,YAAY,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAK9F,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,WAsBjE;AAED,iHAAiH;AACjH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,gBAe/C;AAED,qFAAqF;AACrF,wBAAgB,+BAA+B,CAC7C,CAAC,EAAE,uBAAuB,EAC1B,CAAC,EAAE,uBAAuB,WA4B3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalAudioTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/LocalAudioTrack.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAG/E,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IACvE,gBAAgB;IAChB,UAAU,EAAE,OAAO,CAAS;IAE5B,OAAO,CAAC,SAAS,CAAC,CAAmB;IAErC,OAAO,CAAC,yBAAyB,CAAS;IAE1C,SAAS,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,qBAAqB,CAAC,GAAG,SAAS,CAAC;IAE1F;;OAEG;IACH,IAAI,yBAAyB,YAE5B;IAED;;;;;OAKG;gBAED,UAAU,EAAE,gBAAgB,EAC5B,WAAW,CAAC,EAAE,qBAAqB,EACnC,iBAAiB,UAAO,EACxB,YAAY,CAAC,EAAE,YAAY,EAC3B,aAAa,CAAC,EAAE,aAAa;IAOzB,IAAI,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC;IAqB5B,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC;IA0B9B,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB;IAW1C,gBAAgB,CACpB,WAAW,EAAE,IAAI,CACf,mBAAmB,EACnB,iBAAiB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,gBAAgB,CAC/E,GACA,OAAO,CAAC,IAAI,CAAC;cAWA,OAAO,CACrB,WAAW,CAAC,EAAE,qBAAqB,EACnC,UAAU,CAAC,EAAE,OAAO,GACnB,OAAO,CAAC,OAAO,IAAI,CAAC;IAOvB,YAAY;IAYZ,SAAS,CAAC,aAAa,sBAmBrB;IAEF,OAAO,CAAC,4BAA4B,CASlC;IAEF,OAAO,CAAC,6BAA6B,CASnC;IAEI,YAAY,CAAC,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,qBAAqB,CAAC;IAwCrF;;;OAGG;IACH,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,SAAS;IAIhD,cAAc,IAAI,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"LocalAudioTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/LocalAudioTrack.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAG/E,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IACvE,gBAAgB;IAChB,UAAU,EAAE,OAAO,CAAS;IAE5B,OAAO,CAAC,SAAS,CAAC,CAAmB;IAErC,OAAO,CAAC,yBAAyB,CAAS;IAE1C,SAAS,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,qBAAqB,CAAC,GAAG,SAAS,CAAC;IAE1F;;OAEG;IACH,IAAI,yBAAyB,YAE5B;IAED;;;;;OAKG;gBAED,UAAU,EAAE,gBAAgB,EAC5B,WAAW,CAAC,EAAE,qBAAqB,EACnC,iBAAiB,UAAO,EACxB,YAAY,CAAC,EAAE,YAAY,EAC3B,aAAa,CAAC,EAAE,aAAa;IAOzB,IAAI,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC;IAqB5B,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC;IA0B9B,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB;IAW1C,gBAAgB,CACpB,WAAW,EAAE,IAAI,CACf,mBAAmB,EACnB,iBAAiB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,gBAAgB,CAC/E,GACA,OAAO,CAAC,IAAI,CAAC;cAWA,OAAO,CACrB,WAAW,CAAC,EAAE,qBAAqB,EACnC,UAAU,CAAC,EAAE,OAAO,GACnB,OAAO,CAAC,OAAO,IAAI,CAAC;IAOvB,YAAY;IAYZ,SAAS,CAAC,aAAa,sBAmBrB;IAEF,OAAO,CAAC,4BAA4B,CASlC;IAEF,OAAO,CAAC,6BAA6B,CASnC;IAEI,YAAY,CAAC,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,qBAAqB,CAAC;IAwCrF;;;OAGG;IACH,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,SAAS;IAIhD,cAAc,IAAI,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IA+BvD,eAAe;CAUtB"}
|
|
@@ -56,8 +56,19 @@ export default class LocalVideoTrack extends LocalTrack<Track.Kind.Video> {
|
|
|
56
56
|
private applyEncodingsToSender;
|
|
57
57
|
setProcessor(processor: TrackProcessor<Track.Kind.Video>, showProcessedStreamLocally?: boolean): Promise<void>;
|
|
58
58
|
setDegradationPreference(preference: RTCDegradationPreference): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Degradation preference is a property of the sender, not of the track, so every sender
|
|
61
|
+
* publishing this track needs it applied separately. A backup codec publishes over its
|
|
62
|
+
* own sender, which would otherwise let the browser resolve a preference implicitly and
|
|
63
|
+
* diverge from the primary encoder.
|
|
64
|
+
*
|
|
65
|
+
* Callers apply this sequentially rather than concurrently: `setParameters` is only valid
|
|
66
|
+
* against the parameters most recently returned by `getParameters`, which is why this file
|
|
67
|
+
* serializes other sender parameter updates through `senderLock`.
|
|
68
|
+
*/
|
|
69
|
+
private applyDegradationPreference;
|
|
59
70
|
addSimulcastTrack(codec: VideoCodec, encodings?: RTCRtpEncodingParameters[]): SimulcastTrackInfo | undefined;
|
|
60
|
-
setSimulcastTrackSender(codec: VideoCodec, sender: RTCRtpSender): void
|
|
71
|
+
setSimulcastTrackSender(codec: VideoCodec, sender: RTCRtpSender): Promise<void>;
|
|
61
72
|
/**
|
|
62
73
|
* @internal
|
|
63
74
|
* Sets codecs that should be publishing, returns new codecs that have not yet
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalVideoTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/LocalVideoTrack.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,eAAe,EACf,iBAAiB,EACjB,UAAU,EACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAQ3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,qBAAa,kBAAkB;IAC7B,KAAK,EAAE,UAAU,CAAC;IAElB,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB,SAAS,CAAC,EAAE,wBAAwB,EAAE,CAAC;gBAE3B,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB;CAIlE;AAID,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IAEvE,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,OAAO,CAAC,SAAS,CAAC,CAAgC;IAElD,OAAO,CAAC,SAAS,CAAC,CAA6B;IAG/C,eAAe,EAAE,GAAG,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAA6C;IAEjG,OAAO,CAAC,gBAAgB,CAAC,CAAoB;IAM7C,OAAO,CAAC,UAAU,CAAQ;IAE1B,OAAO,CAAC,qBAAqB,CAAwC;IAErE,OAAO,CAAC,gBAAgB,CAAkB;IAE1C,OAAO,CAAC,sBAAsB,CAAkB;IAGhD,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAGrC,qBAAqB,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;IAEzC,IAAI,MAAM,IAAI,YAAY,GAAG,SAAS,CAErC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,EAK1C;IAED;;;;;OAKG;gBAED,UAAU,EAAE,gBAAgB,EAC5B,WAAW,CAAC,EAAE,qBAAqB,EACnC,iBAAiB,UAAO,EACxB,aAAa,CAAC,EAAE,aAAa;IAM/B,IAAI,WAAW,IAAI,OAAO,CAKzB;IAGD,YAAY,CAAC,YAAY,EAAE,YAAY;IAoBvC,IAAI;IAQE,aAAa;IAOb,cAAc;IAOd,IAAI,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC;IAoB5B,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC;IAmBpC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO;IAOhC,cAAc,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAgDnD,oBAAoB,CAAC,UAAU,EAAE,YAAY;IAcvC,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB;cA4BvB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9D;;;;;OAKG;YACW,sBAAsB;YA2DtB,sBAAsB;IAqC9B,YAAY,CAChB,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAC3C,0BAA0B,UAAO;IAW7B,wBAAwB,CAAC,UAAU,EAAE,wBAAwB;
|
|
1
|
+
{"version":3,"file":"LocalVideoTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/LocalVideoTrack.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,10 @@ export default abstract class RemoteTrack<TrackKind extends Track.Kind = Track.K
|
|
|
29
29
|
*/
|
|
30
30
|
getPlayoutDelay(): number;
|
|
31
31
|
startMonitor(): void;
|
|
32
|
+
stopMonitor(): void;
|
|
32
33
|
protected abstract monitorReceiver(): void;
|
|
34
|
+
private timeSyncLoop;
|
|
35
|
+
private onTimeSyncListenerAdded;
|
|
33
36
|
registerTimeSyncUpdate(): void;
|
|
34
37
|
}
|
|
35
38
|
//# sourceMappingURL=RemoteTrack.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/RemoteTrack.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RemoteTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/RemoteTrack.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,WAAW,CACvC,SAAS,SAAS,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CACzC,SAAQ,KAAK,CAAC,SAAS,CAAC;IACxB,gBAAgB;IAChB,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAC;gBAGnC,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,cAAc,EACxB,aAAa,CAAC,EAAE,aAAa;IAQ/B,IAAI,OAAO,YAEV;IAED,gBAAgB;IAChB,QAAQ,CAAC,KAAK,EAAE,OAAO;IAQvB,gBAAgB;IAChB,cAAc,CAAC,MAAM,EAAE,WAAW;IAiBlC,KAAK;IAML,IAAI;IAMJ;;;;;OAKG;IACG,iBAAiB,IAAI,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAQ9D;;;;OAIG;IACH,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAY7C;;OAEG;IACH,eAAe,IAAI,MAAM;IAczB,YAAY;IAUZ,WAAW;IAKX,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,IAAI;IAE1C,OAAO,CAAC,YAAY,CAelB;IAEF,OAAO,CAAC,uBAAuB,CAM7B;IAEF,sBAAsB;CASvB"}
|
|
@@ -42,6 +42,7 @@ export declare abstract class Track<TrackKind extends Track.Kind = Track.Kind> e
|
|
|
42
42
|
protected timeSyncHandle: number | undefined;
|
|
43
43
|
protected _currentBitrate: number;
|
|
44
44
|
protected monitorInterval?: ReturnType<typeof setInterval>;
|
|
45
|
+
private finalStatsLogged;
|
|
45
46
|
protected log: StructuredLogger;
|
|
46
47
|
protected constructor(mediaTrack: MediaStreamTrack, kind: TrackKind, loggerOptions?: LoggerOptions);
|
|
47
48
|
protected get logContext(): {
|
|
@@ -78,7 +79,16 @@ export declare abstract class Track<TrackKind extends Track.Kind = Track.Kind> e
|
|
|
78
79
|
protected enable(): void;
|
|
79
80
|
protected disable(): void;
|
|
80
81
|
abstract startMonitor(signalClient?: SignalClient): void;
|
|
82
|
+
/**
|
|
83
|
+
* Raw stats of the sender or receiver this track is attached to.
|
|
84
|
+
*/
|
|
85
|
+
abstract getRTCStatsReport(): Promise<RTCStatsReport | undefined>;
|
|
81
86
|
stopMonitor(): void;
|
|
87
|
+
/**
|
|
88
|
+
* Dumps the raw stats of the track as it ends, once: a track that stops
|
|
89
|
+
* between two of the room's stats dumps is gone by the time the next one runs.
|
|
90
|
+
*/
|
|
91
|
+
private logFinalStats;
|
|
82
92
|
/** @internal */
|
|
83
93
|
updateLoggerOptions(loggerOptions: LoggerOptions): void;
|
|
84
94
|
private recycleElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Track.d.ts","sourceRoot":"","sources":["../../../../src/room/track/Track.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAEjB,WAAW,IAAI,gBAAgB,EAC/B,WAAW,EACX,SAAS,EACV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,iBAAiB,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAY,EAAe,KAAK,gBAAgB,EAAa,MAAM,cAAc,CAAC;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"Track.d.ts","sourceRoot":"","sources":["../../../../src/room/track/Track.ts"],"names":[],"mappings":"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"}
|
package/dist/src/room/utils.d.ts
CHANGED
|
@@ -32,6 +32,20 @@ export declare function supportsAV1(): boolean;
|
|
|
32
32
|
export declare function supportsVP9(): boolean;
|
|
33
33
|
export declare function supportsH265(): boolean;
|
|
34
34
|
export declare function isSVCCodec(codec?: string): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Opts `transceiver` into negotiating the AV1 dependency descriptor, reporting whether it will be.
|
|
37
|
+
*
|
|
38
|
+
* Chrome only offers the extension on transceivers that can send, so one we create to receive on
|
|
39
|
+
* never negotiates it — and Chrome 152 stopped decoding AV1 that arrives without it: frames get
|
|
40
|
+
* assembled, none ever decode, and the receiver asks for a keyframe forever. Asking through the
|
|
41
|
+
* transceiver rather than munging the extension into the SDP leaves the browser owning the
|
|
42
|
+
* extension id, which is what keeps that id consistent across the bundle and across
|
|
43
|
+
* renegotiations.
|
|
44
|
+
*
|
|
45
|
+
* A no-op where the browser offers no such control, or does not know the extension at all.
|
|
46
|
+
* @internal
|
|
47
|
+
*/
|
|
48
|
+
export declare function negotiateDependencyDescriptor(transceiver: RTCRtpTransceiver): boolean;
|
|
35
49
|
export declare function supportsSetSinkId(elm?: HTMLMediaElement): boolean;
|
|
36
50
|
/**
|
|
37
51
|
* Checks whether or not setting an audio output via {@link Room#setActiveDevice}
|
|
@@ -162,4 +176,5 @@ export declare function decodeBase64(base64: string): Uint8Array;
|
|
|
162
176
|
export declare function extractMaxAgeFromRequestHeaders(headers: Headers): number | undefined;
|
|
163
177
|
export declare function isCompressionStreamSupported(): boolean;
|
|
164
178
|
export declare function isPublisherOfferWithJoinSupported(): boolean;
|
|
179
|
+
export declare function extractTrackSid(mediaTrack: MediaStreamTrack, stream: MediaStream): Track.SID | undefined;
|
|
165
180
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/room/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,IAAI,gBAAgB,EAC/B,UAAU,EACV,qBAAqB,EAErB,gBAAgB,EAChB,aAAa,IAAI,kBAAkB,EACpC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,YAAY,MAAM,uBAAuB,CAAC;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,UAAU,CAAC;AACvE,OAAO,KAAK,gBAAgB,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,WAAW,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,iBAAiB,MAAM,iCAAiC,CAAC;AAErE,OAAO,KAAK,eAAe,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,qBAAqB,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,eAAe,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,gBAAgB,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,WAAW,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,sBAAsB,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,gBAAgB,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAA4B,MAAM,iBAAiB,CAAC;AAE7F,OAAO,KAAK,EAAE,WAAW,EAA0B,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAGzF,eAAO,MAAM,cAAc,4FACgE,CAAC;AAE5F,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAMvD;AAED,wBAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAEjE;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,YAElC;AAED,gBAAgB;AAChB,wBAAgB,gBAAgB,YAE/B;AAED,wBAAgB,sBAAsB,YAErC;AAED,wBAAgB,gBAAgB,YAE/B;AAED,wBAAgB,WAAW,IAAI,OAAO,CAoBrC;AAED,wBAAgB,WAAW,IAAI,OAAO,CAmCrC;AAED,wBAAgB,YAAY,IAAI,OAAO,CAgBtC;AAED,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAQjE;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,OAAO,CAGtD;AAED,wBAAgB,kBAAkB,YAKjC;AAED,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,wBAAgB,eAAe,IAAI,OAAO,CAGzC;AAED,wBAAgB,mCAAmC,IAAI,OAAO,CAU7D;AAED,wBAAgB,QAAQ,IAAI,OAAO,CAElC;AAED,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AAED,wBAAgB,eAAe,IAAI,OAAO,CAMzC;AAED,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAWhE;AAED,wBAAgB,QAAQ,IAAI,OAAO,CAQlC;AAED,wBAAgB,wBAAwB,wBAqBvC;AAED,wBAAgB,KAAK,IAAI,OAAO,CAE/B;AAED,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AAED,wBAAgB,OAAO,CAAC,SAAS,EAAE,GAAG,WAIrC;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAKnE;AAaD,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAWrD;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAa5C;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAiB9D;AAeD,eAAO,MAAM,iBAAiB,sBAG7B,CAAC;AAGF,eAAO,MAAM,uBAAuB,4BAQnC,CAAC;AAEF,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,YAAY,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACnD,uBAAuB,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;CACrE;AAED,wBAAgB,aAAa,CAAC,YAAY,CAAC,EAAE,qBAAqB,EAAE,GAAG,UAAU,CAahF;AAID,wBAAgB,wBAAwB,qBAKvC;AAED,wBAAgB,2BAA2B,CACzC,KAAK,GAAE,MAAW,EAClB,MAAM,GAAE,MAAW,EACnB,OAAO,GAAE,OAAe,EACxB,YAAY,GAAE,OAAe,oBAwB9B;AAID,wBAAgB,wBAAwB,qBAkBvC;AAED,wBAAgB,yBAAyB,qBAkBxC;AAED;;;GAGG;AACH,qBAAa,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,KAAK;IACpC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE/B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IAE3B,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IAExB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,OAAO,CAAC,WAAW,CAAkB;gBAGnC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,KAAK,IAAI,EACxE,SAAS,CAAC,EAAE,MAAM,IAAI;CAczB;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,GAAG,gBAAgB,EACzC,OAAO,CAAC,EAAE,oBAAoB;;;;EAgD/B;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,IAAI,UAAU,CAEzE;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,IAAI,UAAU,CAEzE;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,kBAAkB,GAAG,MAAM,CAAC;AACzE,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,cAAc,GAAG,MAAM,CAAC;AAwBrE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKlD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK7C;AAED,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,kBAAkB,EACjC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACzC,oBAAoB,EAAE,CAoBxB;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,GAAG,WAAW,CAQrE;AAED,wBAAgB,sCAAsC,CAAC,CAAC,EAAE,eAAe,oBAaxE;AAED,6DAA6D;AAC7D,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,EACzD,KAAK,EAAE,CAAC,GACP,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,CAEvC;AAED,6DAA6D;AAC7D,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,EACzD,KAAK,EAAE,CAAC,GACP,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,CAEvC;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,gBAAgB,GAAG,SAAS,GAAG,KAAK,IAAI,UAAU,CAE7F;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,KAAK,GAAG,SAAS,GACvB,KAAK,IAAI,eAAe,GAAG,gBAAgB,CAE7C;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,KAAK,GAAG,SAAS,GACvB,KAAK,IAAI,eAAe,GAAG,gBAAgB,CAE7C;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,GAAG,gBAAgB,GAAG,SAAS,GAC1C,KAAK,IAAI,eAAe,CAE1B;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,GAAG,gBAAgB,GAAG,SAAS,GAC1C,KAAK,IAAI,eAAe,CAE1B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,IAAI,WAAW,CAE5E;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,gBAAgB,GAAG,SAAS,GAAG,GAAG,IAAI,sBAAsB,CAE5F;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,gBAAgB,GAAG,SAAS,GAAG,GAAG,IAAI,qBAAqB,CAE1F;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,IAAI,gBAAgB,CAEtF;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,IAAI,gBAAgB,CAExE;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,IAAI,iBAAiB,CAE1E;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAuBrE;AAED,iGAAiG;AACjG,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAOjG;AAED;;;;;GAKG;AACH,wBAAuB,iBAAiB,CACtC,MAAM,EAAE,cAAc,CAAC,mBAAmB,CAAC,EAC3C,SAAS,EAAE,MAAM,GAChB,cAAc,CAAC,mBAAmB,CAAC,CA2BrC;AAED,sGAAsG;AACtG,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAMtD;AAED,4FAA4F;AAC5F,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAOvD;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CASpF;AAED,wBAAgB,4BAA4B,YAE3C;AAED,wBAAgB,iCAAiC,YAGhD"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/room/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test helper: resolves `true` if `promise` is still pending after `ms`
|
|
3
|
+
* (default: one macrotask), `false` if it has already settled — regardless of
|
|
4
|
+
* whether it resolved or rejected.
|
|
5
|
+
*
|
|
6
|
+
* Use to assert that something has *not* happened yet (e.g. an onClose callback
|
|
7
|
+
* that must stay silent), optionally within a timeout window. Preferable to
|
|
8
|
+
* `Promise.race([p, Promise.resolve(sentinel)])` when the "not yet" needs to
|
|
9
|
+
* hold for a duration rather than just the current microtask.
|
|
10
|
+
*/
|
|
11
|
+
export declare function isPending(promise: Promise<unknown>, ms?: number): Promise<boolean>;
|
|
12
|
+
//# sourceMappingURL=promiseState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promiseState.d.ts","sourceRoot":"","sources":["../../../src/test/promiseState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAYnF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signalToken.d.ts","sourceRoot":"","sources":["../../../src/test/signalToken.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IAC3B,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2FAA2F;IAC3F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,WAAW,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"signalToken.d.ts","sourceRoot":"","sources":["../../../src/test/signalToken.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IAC3B,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2FAA2F;IAC3F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,WAAW,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgC1E;AAED,gFAAgF;AAChF,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAE1D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncQueue.d.ts","sourceRoot":"","sources":["../../../src/utils/AsyncQueue.ts"],"names":[],"mappings":"AAEA,KAAK,SAAS,CAAC,CAAC,IAAI,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;AAEzC,aAAK,eAAe;IAClB,
|
|
1
|
+
{"version":3,"file":"AsyncQueue.d.ts","sourceRoot":"","sources":["../../../src/utils/AsyncQueue.ts"],"names":[],"mappings":"AAEA,KAAK,SAAS,CAAC,CAAC,IAAI,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;AAEzC,aAAK,eAAe;IAClB,OAAO,IAAA;IACP,OAAO,IAAA;IACP,SAAS,IAAA;CACV;AAED,KAAK,aAAa,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,qBAAa,UAAU;IACrB,OAAO,CAAC,YAAY,CAA6B;IAEjD,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,aAAa,CAAS;;IAQxB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAmBzB,KAAK;IAIX,QAAQ;CAGT"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Opt-in registry that lets a development tool observe the state machines driving the connection
|
|
3
|
+
* layer.
|
|
4
|
+
*
|
|
5
|
+
* The machines are private to the objects that own them and, more importantly, do not outlive them:
|
|
6
|
+
* a full reconnect replaces the whole engine along with its `SignalClient`, so anything watching a
|
|
7
|
+
* single machine reference goes blind exactly when the interesting part starts. Machines therefore
|
|
8
|
+
* announce themselves here as they are constructed, and a subscriber sees the whole succession.
|
|
9
|
+
*
|
|
10
|
+
* Nothing is recorded until {@link enableMachineInspector} is called, which no shipping code does —
|
|
11
|
+
* with the registry off, announcing is a comparison and a return.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* The slice of machina's `Fsm` surface an inspector needs. Structural rather than machina's own
|
|
15
|
+
* type so that any machine satisfies it regardless of its state and input unions.
|
|
16
|
+
*/
|
|
17
|
+
export interface InspectableMachine {
|
|
18
|
+
readonly id: string;
|
|
19
|
+
readonly initialState: string;
|
|
20
|
+
readonly states: Record<string, Record<string, unknown>>;
|
|
21
|
+
readonly context?: unknown;
|
|
22
|
+
currentState(): string;
|
|
23
|
+
canHandle(input: string): boolean;
|
|
24
|
+
on(eventName: string, callback: (data: any) => void): {
|
|
25
|
+
off(): void;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export interface MachineAnnouncement {
|
|
29
|
+
/** What the machine drives, e.g. `signal`. Not unique: each new `SignalClient` announces one. */
|
|
30
|
+
label: string;
|
|
31
|
+
/** How many machines have been announced before this one, so successive instances are tellable apart. */
|
|
32
|
+
seq: number;
|
|
33
|
+
/**
|
|
34
|
+
* When the machine was constructed. Carried on the announcement because subscribers receive the
|
|
35
|
+
* recorded ones on subscribe, and stamping those at replay time would date them all to whenever
|
|
36
|
+
* the tool happened to open.
|
|
37
|
+
*/
|
|
38
|
+
at: number;
|
|
39
|
+
machine: InspectableMachine;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Starts recording machine announcements. Call before the machines of interest are constructed —
|
|
43
|
+
* for the signal machine that means before the `Room` is created.
|
|
44
|
+
*/
|
|
45
|
+
export declare function enableMachineInspector(): void;
|
|
46
|
+
export declare function isMachineInspectorEnabled(): boolean;
|
|
47
|
+
/** Announces a machine to whatever is watching. A no-op unless the inspector was enabled. */
|
|
48
|
+
export declare function announceMachine(label: string, machine: InspectableMachine): void;
|
|
49
|
+
/**
|
|
50
|
+
* Subscribes to machine announcements, replaying the ones already recorded so that a panel opened
|
|
51
|
+
* after connecting still sees the machine currently in charge. Returns an unsubscribe function.
|
|
52
|
+
*/
|
|
53
|
+
export declare function onMachineAnnounced(callback: (announcement: MachineAnnouncement) => void): () => void;
|
|
54
|
+
//# sourceMappingURL=machineInspector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"machineInspector.d.ts","sourceRoot":"","sources":["../../../src/utils/machineInspector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,IAAI,MAAM,CAAC;IACvB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG;QAAE,GAAG,IAAI,IAAI,CAAA;KAAE,CAAC;CACvE;AAED,MAAM,WAAW,mBAAmB;IAClC,iGAAiG;IACjG,KAAK,EAAE,MAAM,CAAC;IACd,yGAAyG;IACzG,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,kBAAkB,CAAC;CAC7B;AASD;;;GAGG;AACH,wBAAgB,sBAAsB,SAErC;AAED,wBAAgB,yBAAyB,YAExC;AAED,6FAA6F;AAC7F,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,QAczE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,mBAAmB,KAAK,IAAI,cAQvF"}
|
|
@@ -70,6 +70,20 @@ export declare class SignalClient {
|
|
|
70
70
|
ws?: WebSocketStream;
|
|
71
71
|
get currentState(): SignalConnectionState;
|
|
72
72
|
get isDisconnected(): boolean;
|
|
73
|
+
/** Runtime lifecycle state, finer grained than the public {@link currentState} projection. */
|
|
74
|
+
private get lifecycleState();
|
|
75
|
+
/** Id of the current connection attempt and of the transport it owns. */
|
|
76
|
+
private get attemptId();
|
|
77
|
+
/**
|
|
78
|
+
* Applies a lifecycle input and reports whether it moved the machine
|
|
79
|
+
*/
|
|
80
|
+
private sendLifecycleInput;
|
|
81
|
+
/**
|
|
82
|
+
* Waits out a close that is already in flight. Establishing a session while one is tearing down
|
|
83
|
+
* would race it for the transport — the teardown can close the socket the new attempt just
|
|
84
|
+
* opened.
|
|
85
|
+
*/
|
|
86
|
+
private settleInFlightClose;
|
|
73
87
|
private get isEstablishingConnection();
|
|
74
88
|
private getNextRequestId;
|
|
75
89
|
private options?;
|
|
@@ -78,7 +92,7 @@ export declare class SignalClient {
|
|
|
78
92
|
private pingIntervalDuration;
|
|
79
93
|
private pingInterval;
|
|
80
94
|
private closingLock;
|
|
81
|
-
private
|
|
95
|
+
private machine;
|
|
82
96
|
private connectionLock;
|
|
83
97
|
private log;
|
|
84
98
|
private loggerContextCb?;
|
|
@@ -94,6 +108,12 @@ export declare class SignalClient {
|
|
|
94
108
|
/** @internal */
|
|
95
109
|
resetCallbacks: () => void;
|
|
96
110
|
close(updateState?: boolean, reason?: string): Promise<void>;
|
|
111
|
+
/**
|
|
112
|
+
* Releases the transport and everything tied to it, without touching the lifecycle state. Used
|
|
113
|
+
* both by {@link close} and by paths that replace the transport under a live lifecycle (a new
|
|
114
|
+
* attempt, or an unexpected close that leaves the client in `offline`).
|
|
115
|
+
*/
|
|
116
|
+
private teardownTransport;
|
|
97
117
|
sendOffer(offer: RTCSessionDescriptionInit, offerId: number): void;
|
|
98
118
|
sendAnswer(answer: RTCSessionDescriptionInit, offerId: number): Promise<void>;
|
|
99
119
|
sendIceCandidate(candidate: RTCIceCandidateInit, target: SignalTarget): Promise<void>;
|
|
@@ -118,6 +138,10 @@ export declare class SignalClient {
|
|
|
118
138
|
private sendRequest;
|
|
119
139
|
private handleSignalResponse;
|
|
120
140
|
setReconnected(): void;
|
|
141
|
+
/**
|
|
142
|
+
* Handles a transport we lost without asking to. The client goes to `offline` rather than
|
|
143
|
+
* `closed`: whether this session gets resumed, restarted or given up on is the engine's call.
|
|
144
|
+
*/
|
|
121
145
|
private handleOnClose;
|
|
122
146
|
private handleWSError;
|
|
123
147
|
/**
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime lifecycle states of the signal connection.
|
|
3
|
+
*
|
|
4
|
+
* `offline` is the resting state after the transport was lost without an explicit close: no
|
|
5
|
+
* attempt is in flight, but a resume is still legal. It is what makes retrying a failed resume
|
|
6
|
+
* expressible — `closed` is only reached by an explicit close or by a terminal attempt failure.
|
|
7
|
+
*/
|
|
8
|
+
export type SignalLifecycleState = 'new' | 'connecting' | 'connected' | 'offline' | 'reconnecting' | 'disconnecting' | 'closed';
|
|
9
|
+
export interface SignalMachineContext {
|
|
10
|
+
/** Monotonic id of the current (re)connection attempt and of the transport it owns */
|
|
11
|
+
attemptId: number;
|
|
12
|
+
/** Error or reason that ended the last attempt, kept for diagnostics. */
|
|
13
|
+
lastError?: unknown;
|
|
14
|
+
/** Reason passed to the last close request. */
|
|
15
|
+
closeReason?: string;
|
|
16
|
+
}
|
|
17
|
+
export type SignalMachineInput =
|
|
18
|
+
/**
|
|
19
|
+
* Start an initial session, or restart from scratch (full reconnect).
|
|
20
|
+
*
|
|
21
|
+
* Establishing is legal exactly where no transport and no attempt are in play: `new`, `offline`
|
|
22
|
+
* and `closed`. `closed` is included because it means "no transport", not "session over" — a
|
|
23
|
+
* deliberate close and an unexpected loss leave the session equally resumable, and the engine
|
|
24
|
+
* recovers from both. Establishing over a live session, or over an attempt already in flight, is
|
|
25
|
+
* a caller error; `disconnecting` is waited out rather than refused.
|
|
26
|
+
*/
|
|
27
|
+
{
|
|
28
|
+
type: 'connect';
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Resume the existing session: legal wherever establishing is, minus `new` (nothing to resume
|
|
32
|
+
* yet), plus `connected` — the peer connection can be severed while signalling stays up.
|
|
33
|
+
*/
|
|
34
|
+
| {
|
|
35
|
+
type: 'reconnect';
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* An attempt established its transport. Carries the attempt it belongs to: an attempt that a
|
|
39
|
+
* newer one has already superseded must not declare the session live.
|
|
40
|
+
*/
|
|
41
|
+
| {
|
|
42
|
+
type: 'connectComplete';
|
|
43
|
+
attemptId: number;
|
|
44
|
+
} | {
|
|
45
|
+
type: 'connectFailed';
|
|
46
|
+
error?: unknown;
|
|
47
|
+
} | {
|
|
48
|
+
type: 'reconnectComplete';
|
|
49
|
+
attemptId: number;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* A resume attempt ended. `recoverable` distinguishes "another resume may follow" (→ `offline`)
|
|
53
|
+
* from a terminal outcome such as a server leave or an expired token (→ `closed`).
|
|
54
|
+
*/
|
|
55
|
+
| {
|
|
56
|
+
type: 'reconnectFailed';
|
|
57
|
+
error?: unknown;
|
|
58
|
+
recoverable: boolean;
|
|
59
|
+
}
|
|
60
|
+
/** The transport identified by `attemptId` was lost (unexpected ws close, ping timeout). */
|
|
61
|
+
| {
|
|
62
|
+
type: 'transportFailed';
|
|
63
|
+
attemptId: number;
|
|
64
|
+
reason: string;
|
|
65
|
+
} | {
|
|
66
|
+
type: 'close';
|
|
67
|
+
reason: string;
|
|
68
|
+
} | {
|
|
69
|
+
type: 'closeComplete';
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* Lifecycle model of the signal connection.
|
|
73
|
+
*
|
|
74
|
+
* The machine deliberately does not own connection attempts: `SignalClient` performs the
|
|
75
|
+
* asynchronous work and reports the outcome. It also does not decide *whether* to reconnect —
|
|
76
|
+
* that policy (backoff, resume vs. full reconnect, region failover, giving up) belongs to
|
|
77
|
+
* `RTCEngine`, so transport loss lands in `offline` rather than starting a reconnect on its own.
|
|
78
|
+
*
|
|
79
|
+
* Each client gets its own instance: the context is mutable and per-connection.
|
|
80
|
+
*/
|
|
81
|
+
export declare function createSignalMachine(initialState?: SignalLifecycleState): import("machina").Fsm<SignalMachineContext, "new" | "connecting" | "connected" | "offline" | "reconnecting" | "disconnecting" | "closed", "connect" | "reconnect" | "connectComplete" | "connectFailed" | "reconnectComplete" | "reconnectFailed" | "transportFailed" | "close" | "closeComplete", never>;
|
|
82
|
+
export type SignalMachine = ReturnType<typeof createSignalMachine>;
|
|
83
|
+
/** All lifecycle states, derived from the machine itself so the two cannot drift. */
|
|
84
|
+
export declare const signalLifecycleStates: Array<SignalLifecycleState>;
|
|
85
|
+
//# sourceMappingURL=SignalClientStateMachine.d.ts.map
|
package/dist/ts4.2/index.d.ts
CHANGED
|
@@ -29,7 +29,7 @@ import type { PublicationEventCallbacks } from './room/track/TrackPublication';
|
|
|
29
29
|
import { TrackPublication } from './room/track/TrackPublication';
|
|
30
30
|
import type { LiveKitReactNativeInfo, TextStreamInfo } from './room/types';
|
|
31
31
|
import type { AudioAnalyserOptions } from './room/utils';
|
|
32
|
-
import { compareVersions, createAudioAnalyser, getEmptyAudioStreamTrack, getEmptyVideoStreamTrack, isAudioCodec, isAudioTrack, isBrowserSupported, isLocalParticipant, isLocalTrack, isRemoteParticipant, isRemoteTrack, isVideoCodec, isVideoTrack, supportsAV1, supportsAdaptiveStream, supportsAudioOutputSelection, supportsDynacast, supportsVP9 } from './room/utils';
|
|
32
|
+
import { compareVersions, createAudioAnalyser, getEmptyAudioStreamTrack, getEmptyVideoStreamTrack, isAudioCodec, isAudioTrack, isBrowserSupported, isLocalParticipant, isLocalTrack, isRemoteParticipant, isRemoteTrack, isSVCCodec, isVideoCodec, isVideoTrack, supportsAV1, supportsAdaptiveStream, supportsAudioOutputSelection, supportsDynacast, supportsH265, supportsVP9 } from './room/utils';
|
|
33
33
|
import { getBrowser } from './utils/browserParser';
|
|
34
34
|
export type { RpcInvocationData, PerformRpcParams } from './room/rpc';
|
|
35
35
|
export { RpcError } from './room/rpc';
|
|
@@ -63,8 +63,9 @@ export type { DataPublishOptions, SimulationScenario, TranscriptionSegment, Chat
|
|
|
63
63
|
export * from './version';
|
|
64
64
|
export {
|
|
65
65
|
/** @internal */
|
|
66
|
-
attributes, ConnectionQuality, ConnectionState, CriticalTimers, DataPacket_Kind, Encryption_Type, DefaultReconnectPolicy, DisconnectReason, LocalAudioTrack, LocalParticipant, LocalTrack, LocalTrackPublication, LocalVideoTrack, LogLevel, LoggerNames, Participant, RemoteAudioTrack, RemoteParticipant, ParticipantKind, RemoteTrack, RemoteTrackPublication, RemoteVideoTrack, Room, SubscriptionError, TrackPublication, TrackType, compareVersions, createAudioAnalyser, getBrowser, getEmptyAudioStreamTrack, getEmptyVideoStreamTrack, getLogger, isBrowserSupported, setLogExtension, setLogLevel, supportsAV1, supportsAdaptiveStream, supportsAudioOutputSelection, supportsDynacast, supportsVP9, Mutex, isAudioCodec, isAudioTrack, isLocalTrack, isRemoteTrack, isVideoCodec, isVideoTrack, isLocalParticipant, isRemoteParticipant, LocalDataTrack, RemoteDataTrack, };
|
|
66
|
+
attributes, ConnectionQuality, ConnectionState, CriticalTimers, DataPacket_Kind, Encryption_Type, DefaultReconnectPolicy, DisconnectReason, LocalAudioTrack, LocalParticipant, LocalTrack, LocalTrackPublication, LocalVideoTrack, LogLevel, LoggerNames, Participant, RemoteAudioTrack, RemoteParticipant, ParticipantKind, RemoteTrack, RemoteTrackPublication, RemoteVideoTrack, Room, SubscriptionError, TrackPublication, TrackType, compareVersions, createAudioAnalyser, getBrowser, getEmptyAudioStreamTrack, getEmptyVideoStreamTrack, getLogger, isBrowserSupported, setLogExtension, setLogLevel, supportsAV1, supportsAdaptiveStream, supportsAudioOutputSelection, supportsDynacast, supportsH265, supportsVP9, Mutex, isAudioCodec, isAudioTrack, isLocalTrack, isRemoteTrack, isSVCCodec, isVideoCodec, isVideoTrack, isLocalParticipant, isRemoteParticipant, LocalDataTrack, RemoteDataTrack, };
|
|
67
67
|
export type { AudioAnalyserOptions, ElementInfo, LiveKitReactNativeInfo, TextStreamInfo, ParticipantTrackPermission, AudioReceiverStats, AudioSenderStats, VideoReceiverStats, VideoSenderStats, ReconnectContext, ReconnectPolicy, RoomEventCallbacks, ParticipantEventCallbacks, PublicationEventCallbacks, DataTrackSubscribeOptions, RemoteDataTrackPipelineOptions, };
|
|
68
|
+
export type { DataTrackFrame } from './room/data-track/frame';
|
|
68
69
|
export type { DataTrackPacketHeader } from './room/data-track/packet';
|
|
69
70
|
export { DataTrackPacket } from './room/data-track/packet';
|
|
70
71
|
export type { DataTrackExtensions, DataTrackUserTimestampExtension, DataTrackE2eeExtension } from './room/data-track/packet/extensions';
|
package/dist/ts4.2/logger.d.ts
CHANGED
|
@@ -21,7 +21,8 @@ export declare enum LoggerNames {
|
|
|
21
21
|
E2EE = "lk-e2ee",
|
|
22
22
|
DataTracks = "livekit-data-tracks",
|
|
23
23
|
Region = "livekit-region",
|
|
24
|
-
ICE = "livekit-ice"
|
|
24
|
+
ICE = "livekit-ice",
|
|
25
|
+
Stats = "livekit-stats"
|
|
25
26
|
}
|
|
26
27
|
type LogLevelString = keyof typeof LogLevel;
|
|
27
28
|
export type StructuredLogger = log.Logger & {
|
package/dist/ts4.2/options.d.ts
CHANGED
|
@@ -96,6 +96,28 @@ export interface InternalRoomOptions {
|
|
|
96
96
|
* @default true
|
|
97
97
|
*/
|
|
98
98
|
singlePeerConnection: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Options controlling data stream behavior for this room.
|
|
101
|
+
*/
|
|
102
|
+
dataStream?: RoomDataStreamOptions;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Options controlling data stream behavior for a room.
|
|
106
|
+
*/
|
|
107
|
+
export interface RoomDataStreamOptions {
|
|
108
|
+
/**
|
|
109
|
+
* Maximum size, in bytes, of the payload this client accepts from a single incoming data stream.
|
|
110
|
+
*
|
|
111
|
+
* A compressed stream can inflate to an arbitrarily large payload, so the decompressed output is
|
|
112
|
+
* bounded rather than trusting the size declared on the wire. An incoming stream that exceeds the
|
|
113
|
+
* cap fails with a `DataStreamErrorReason.PayloadTooLarge` error on the next read instead of
|
|
114
|
+
* buffering without bound.
|
|
115
|
+
*
|
|
116
|
+
* This is enforced on the receiving side only: raising it on a sender has no effect.
|
|
117
|
+
*
|
|
118
|
+
* @default 5_000_000_000 (5 GB)
|
|
119
|
+
*/
|
|
120
|
+
maxPayloadByteLength?: number;
|
|
99
121
|
}
|
|
100
122
|
/**
|
|
101
123
|
* Options for when creating a new room
|