livekit-client 1.1.4 → 1.1.7
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.esm.mjs +171 -91
- 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/api/SignalClient.d.ts +1 -1
- package/dist/src/api/SignalClient.d.ts.map +1 -1
- package/dist/src/room/Room.d.ts +2 -1
- package/dist/src/room/Room.d.ts.map +1 -1
- package/dist/src/room/participant/LocalParticipant.d.ts +3 -1
- package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
- package/dist/src/room/participant/RemoteParticipant.d.ts.map +1 -1
- package/dist/src/room/track/RemoteTrackPublication.d.ts +1 -0
- package/dist/src/room/track/RemoteTrackPublication.d.ts.map +1 -1
- package/dist/src/room/track/options.d.ts +1 -1
- package/dist/src/room/track/options.d.ts.map +1 -1
- package/dist/src/room/utils.d.ts +6 -0
- package/dist/src/room/utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/api/SignalClient.ts +1 -1
- package/src/room/Room.ts +81 -37
- package/src/room/participant/LocalParticipant.ts +29 -1
- package/src/room/participant/RemoteParticipant.ts +2 -0
- package/src/room/track/RemoteTrackPublication.ts +2 -0
- package/src/room/track/options.ts +1 -1
- package/src/room/utils.ts +15 -0
@@ -1,7 +1,7 @@
|
|
1
|
+
import 'webrtc-adapter';
|
1
2
|
import { ParticipantInfo, Room, SpeakerInfo, VideoLayer } from '../proto/livekit_models';
|
2
3
|
import { AddTrackRequest, ConnectionQualityUpdate, JoinResponse, LeaveRequest, SessionDescription, SignalRequest, SignalTarget, SimulateScenario, StreamStateUpdate, SubscribedQualityUpdate, SubscriptionPermissionUpdate, SyncState, TrackPermission, TrackPublishedResponse, TrackUnpublishedResponse, UpdateSubscription, UpdateTrackSettings } from '../proto/livekit_rtc';
|
3
4
|
import Queue from './RequestQueue';
|
4
|
-
import 'webrtc-adapter';
|
5
5
|
interface ConnectOpts {
|
6
6
|
autoSubscribe?: boolean;
|
7
7
|
/** internal */
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SignalClient.d.ts","sourceRoot":"","sources":["../../../src/api/SignalClient.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"SignalClient.d.ts","sourceRoot":"","sources":["../../../src/api/SignalClient.ts"],"names":[],"mappings":"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"}
|
package/dist/src/room/Room.d.ts
CHANGED
@@ -55,6 +55,7 @@ declare class Room extends Room_base {
|
|
55
55
|
private audioContext?;
|
56
56
|
/** used for aborting pending connections to a LiveKit server */
|
57
57
|
private abortController?;
|
58
|
+
private connectFuture?;
|
58
59
|
/**
|
59
60
|
* Creates a new Room, the primary construct for a LiveKit session.
|
60
61
|
* @param options
|
@@ -70,7 +71,7 @@ declare class Room extends Room_base {
|
|
70
71
|
* @returns a list of available local devices
|
71
72
|
*/
|
72
73
|
static getLocalDevices(kind?: MediaDeviceKind, requestPermissions?: boolean): Promise<MediaDeviceInfo[]>;
|
73
|
-
connect: (url: string, token: string, opts?: RoomConnectOptions | undefined) => Promise<
|
74
|
+
connect: (url: string, token: string, opts?: RoomConnectOptions | undefined) => Promise<void>;
|
74
75
|
/**
|
75
76
|
* disconnects the room, emits [[RoomEvent.Disconnected]]
|
76
77
|
*/
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Room.d.ts","sourceRoot":"","sources":["../../../src/room/Room.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAG9C,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EACL,eAAe,EAGf,qBAAqB,EAItB,MAAM,yBAAyB,CAAC;AAWjC,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,WAAW,EAAE,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,iBAAiB,MAAM,iCAAiC,CAAC;AAChE,OAAO,SAAmC,MAAM,aAAa,CAAC;AAG9D,OAAO,qBAAqB,MAAM,+BAA+B,CAAC;AAElE,OAAO,sBAAsB,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAA0B,WAAW,EAAE,MAAM,eAAe,CAAC;AAIpE,oBAAY,eAAe;IACzB,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,YAAY,iBAAiB;CAC9B;AAED,oEAAoE;AACpE,eAAO,MAAM,SAAS,wBAAkB,CAAC;mCAUK,aAAa,kBAAkB,CAAC;AAR9E;;;;;;;GAOG;AACH,cAAM,IAAK,SAAQ,SAA4D;IAC7E,KAAK,EAAE,eAAe,CAAgC;IAEtD,wCAAwC;IACxC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAE7C;;;OAGG;IACH,cAAc,EAAE,WAAW,EAAE,CAAM;IAEnC,gBAAgB;IAChB,MAAM,EAAG,SAAS,CAAC;IAGnB,qCAAqC;IACrC,GAAG,EAAE,MAAM,CAAM;IAEjB,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAM;IAElB,8BAA8B;IAC9B,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC,oBAAoB;IACpB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAa;IAEzC,sBAAsB;IACtB,OAAO,EAAE,WAAW,CAAC;IAErB,OAAO,CAAC,aAAa,CAAsB;IAE3C,8BAA8B;IAC9B,OAAO,CAAC,WAAW,CAAC,CAAqB;IAEzC,OAAO,CAAC,YAAY,CAAQ;IAE5B,OAAO,CAAC,YAAY,CAAC,CAAe;IAEpC,gEAAgE;IAChE,OAAO,CAAC,eAAe,CAAC,CAAkB;IAE1C;;;OAGG;gBACS,OAAO,CAAC,EAAE,WAAW;IAwBjC,OAAO,CAAC,YAAY;IAkDpB;;;;;;;OAOG;IACH,MAAM,CAAC,eAAe,CACpB,IAAI,CAAC,EAAE,eAAe,EACtB,kBAAkB,GAAE,OAAc,GACjC,OAAO,CAAC,eAAe,EAAE,CAAC;IAI7B,OAAO,QAAe,MAAM,SAAS,MAAM,
|
1
|
+
{"version":3,"file":"Room.d.ts","sourceRoot":"","sources":["../../../src/room/Room.ts"],"names":[],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { RoomOptions } from '../../options';
|
2
|
-
import { DataPacket_Kind, ParticipantPermission } from '../../proto/livekit_models';
|
2
|
+
import { DataPacket_Kind, ParticipantInfo, ParticipantPermission } from '../../proto/livekit_models';
|
3
3
|
import { DataChannelInfo, TrackPublishedResponse } from '../../proto/livekit_rtc';
|
4
4
|
import RTCEngine from '../RTCEngine';
|
5
5
|
import LocalTrack from '../track/LocalTrack';
|
@@ -114,6 +114,8 @@ export default class LocalParticipant extends Participant {
|
|
114
114
|
* participant/track. Any omitted participants will not receive any permissions.
|
115
115
|
*/
|
116
116
|
setTrackSubscriptionPermissions(allParticipantsAllowed: boolean, participantTrackPermissions?: ParticipantTrackPermission[]): void;
|
117
|
+
/** @internal */
|
118
|
+
updateInfo(info: ParticipantInfo): void;
|
117
119
|
private updateTrackSubscriptionPermissions;
|
118
120
|
/** @internal */
|
119
121
|
private onTrackUnmuted;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LocalParticipant.d.ts","sourceRoot":"","sources":["../../../../src/room/participant/LocalParticipant.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,
|
1
|
+
{"version":3,"file":"LocalParticipant.d.ts","sourceRoot":"","sources":["../../../../src/room/participant/LocalParticipant.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RemoteParticipant.d.ts","sourceRoot":"","sources":["../../../../src/room/participant/RemoteParticipant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAI7D,OAAO,sBAAsB,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAe,MAAM,gBAAgB,CAAC;AACrE,OAAO,WAAW,EAAE,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAEvE,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,WAAW;IACxD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAEjD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAEjD,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAE5C,YAAY,EAAE,YAAY,CAAC;IAE3B,OAAO,CAAC,MAAM,CAAC,CAAS;IAExB,gBAAgB;IAChB,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,eAAe,GAAG,iBAAiB;IAI9F,gBAAgB;gBACJ,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAQjE,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,sBAAsB;IAmBjE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAOlE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAOhE;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM;IAQxB;;OAEG;IACH,SAAS;IAQT,gBAAgB;IAChB,uBAAuB,CACrB,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,WAAW,EAAE,WAAW,EACxB,QAAQ,CAAC,EAAE,cAAc,EACzB,sBAAsB,CAAC,EAAE,sBAAsB,EAC/C,SAAS,CAAC,EAAE,MAAM;
|
1
|
+
{"version":3,"file":"RemoteParticipant.d.ts","sourceRoot":"","sources":["../../../../src/room/participant/RemoteParticipant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAI7D,OAAO,sBAAsB,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAe,MAAM,gBAAgB,CAAC;AACrE,OAAO,WAAW,EAAE,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAEvE,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,WAAW;IACxD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAEjD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAEjD,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAE5C,YAAY,EAAE,YAAY,CAAC;IAE3B,OAAO,CAAC,MAAM,CAAC,CAAS;IAExB,gBAAgB;IAChB,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,eAAe,GAAG,iBAAiB;IAI9F,gBAAgB;gBACJ,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAQjE,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,sBAAsB;IAmBjE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAOlE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAOhE;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM;IAQxB;;OAEG;IACH,SAAS;IAQT,gBAAgB;IAChB,uBAAuB,CACrB,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,WAAW,EAAE,WAAW,EACxB,QAAQ,CAAC,EAAE,cAAc,EACzB,sBAAsB,CAAC,EAAE,sBAAsB,EAC/C,SAAS,CAAC,EAAE,MAAM;IAyEpB,gBAAgB;IAChB,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,sBAAsB,GAAG,SAAS;IAIvE,gBAAgB;IAChB,UAAU,CAAC,IAAI,EAAE,eAAe;IA0ChC,gBAAgB;IAChB,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,OAAO;IAoCtD,gBAAgB;IAChB,IAAI,CAAC,CAAC,SAAS,MAAM,yBAAyB,EAC5C,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,GAChD,OAAO;CAIX"}
|
@@ -38,6 +38,7 @@ export default class RemoteTrackPublication extends TrackPublication {
|
|
38
38
|
setVideoQuality(quality: VideoQuality): void;
|
39
39
|
setVideoDimensions(dimensions: Track.Dimensions): void;
|
40
40
|
get videoQuality(): VideoQuality | undefined;
|
41
|
+
/** @internal */
|
41
42
|
setTrack(track?: Track): void;
|
42
43
|
/** @internal */
|
43
44
|
updateInfo(info: TrackInfo): void;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RemoteTrackPublication.d.ts","sourceRoot":"","sources":["../../../../src/room/track/RemoteTrackPublication.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAIrE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,gBAAgB;IAClE,KAAK,CAAC,EAAE,WAAW,CAAC;IAEpB,gBAAgB;IAChB,QAAQ,UAAQ;IAGhB,SAAS,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAE/B,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAS;IAEpC,SAAS,CAAC,mBAAmB,CAAC,EAAE,YAAY,CAAqB;IAEjE,SAAS,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;IAE7C;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,OAAO;IAkBjC,IAAI,kBAAkB,IAAI,gBAAgB,CAAC,kBAAkB,CAQ5D;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,OAAO,CAQ1B;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;;;OAKG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO;IAS3B;;;;;;OAMG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY;IAUrC,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU;IAkB/C,IAAI,YAAY,IAAI,YAAY,GAAG,SAAS,CAE3C;IAED,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK;IAgBtB,gBAAgB;IAChB,UAAU,CAAC,IAAI,EAAE,SAAS;IAM1B,OAAO,CAAC,wBAAwB;IAchC,SAAS,CAAC,WAAW,UAAW,WAAW,
|
1
|
+
{"version":3,"file":"RemoteTrackPublication.d.ts","sourceRoot":"","sources":["../../../../src/room/track/RemoteTrackPublication.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAIrE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,gBAAgB;IAClE,KAAK,CAAC,EAAE,WAAW,CAAC;IAEpB,gBAAgB;IAChB,QAAQ,UAAQ;IAGhB,SAAS,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAE/B,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAS;IAEpC,SAAS,CAAC,mBAAmB,CAAC,EAAE,YAAY,CAAqB;IAEjE,SAAS,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;IAE7C;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,OAAO;IAkBjC,IAAI,kBAAkB,IAAI,gBAAgB,CAAC,kBAAkB,CAQ5D;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,OAAO,CAQ1B;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;;;OAKG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO;IAS3B;;;;;;OAMG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY;IAUrC,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU;IAkB/C,IAAI,YAAY,IAAI,YAAY,GAAG,SAAS,CAE3C;IAED,gBAAgB;IAChB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK;IAgBtB,gBAAgB;IAChB,UAAU,CAAC,IAAI,EAAE,SAAS;IAM1B,OAAO,CAAC,wBAAwB;IAchC,SAAS,CAAC,WAAW,UAAW,WAAW,UAGzC;IAEF,SAAS,KAAK,gBAAgB,IAAI,OAAO,CAExC;IAED,SAAS,CAAC,sBAAsB,YAAa,OAAO,UAMlD;IAEF,SAAS,CAAC,2BAA2B,eAAgB,MAAM,UAAU,UAMnE;IAGF,eAAe;CAiBhB"}
|
@@ -96,7 +96,7 @@ export interface ScreenShareCaptureOptions {
|
|
96
96
|
* true to capture audio shared. browser support for audio capturing in
|
97
97
|
* screenshare is limited: https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getDisplayMedia#browser_compatibility
|
98
98
|
*/
|
99
|
-
audio?: boolean;
|
99
|
+
audio?: boolean | AudioCaptureOptions;
|
100
100
|
/** capture resolution, defaults to full HD */
|
101
101
|
resolution?: VideoResolution;
|
102
102
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../src/room/track/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B;;OAEG;IACH,mBAAmB,CAAC,EAAE,aAAa,CAAC;IAEpC;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAE1C;;;OAGG;IACH,0BAA0B,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAEhD;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;IAC/D;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAAC;IAEtC;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAAC;CACvC;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM,GAAG,OAAO,CAAC;IAEvD,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../src/room/track/options.ts"],"names":[],"mappings":"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"}
|
package/dist/src/room/utils.d.ts
CHANGED
@@ -14,4 +14,10 @@ export interface ObservableMediaElement extends HTMLMediaElement {
|
|
14
14
|
export declare function getClientInfo(): ClientInfo;
|
15
15
|
export declare function getEmptyVideoStreamTrack(): MediaStreamTrack;
|
16
16
|
export declare function getEmptyAudioStreamTrack(): MediaStreamTrack;
|
17
|
+
export declare class Future<T> {
|
18
|
+
promise: Promise<T>;
|
19
|
+
resolve: (arg: T) => void;
|
20
|
+
reject: (e: any) => void;
|
21
|
+
constructor();
|
22
|
+
}
|
17
23
|
//# sourceMappingURL=utils.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/room/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAkB,MAAM,yBAAyB,CAAC;AAKrE,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAMvD;AAED,wBAAsB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3D;AAED,wBAAgB,SAAS,IAAI,OAAO,CAGnC;AAED,wBAAgB,QAAQ,IAAI,OAAO,CAGlC;AAED,wBAAgB,QAAQ,IAAI,OAAO,CAGlC;AAED,wBAAgB,KAAK,IAAI,OAAO,CAE/B;AAeD,eAAO,MAAM,iBAAiB,sBAG7B,CAAC;AAGF,eAAO,MAAM,uBAAuB,4BAOnC,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,IAAI,UAAU,CAO1C;AAID,wBAAgB,wBAAwB,qBAgBvC;AAID,wBAAgB,wBAAwB,qBAevC"}
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/room/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAkB,MAAM,yBAAyB,CAAC;AAKrE,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAMvD;AAED,wBAAsB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3D;AAED,wBAAgB,SAAS,IAAI,OAAO,CAGnC;AAED,wBAAgB,QAAQ,IAAI,OAAO,CAGlC;AAED,wBAAgB,QAAQ,IAAI,OAAO,CAGlC;AAED,wBAAgB,KAAK,IAAI,OAAO,CAE/B;AAeD,eAAO,MAAM,iBAAiB,sBAG7B,CAAC;AAGF,eAAO,MAAM,uBAAuB,4BAOnC,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,IAAI,UAAU,CAO1C;AAID,wBAAgB,wBAAwB,qBAgBvC;AAID,wBAAgB,wBAAwB,qBAevC;AAED,qBAAa,MAAM,CAAC,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAEpB,OAAO,EAAG,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IAE3B,MAAM,EAAG,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;;CAQ3B"}
|
package/package.json
CHANGED
package/src/api/SignalClient.ts
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import 'webrtc-adapter';
|
1
2
|
import log from '../logger';
|
2
3
|
import {
|
3
4
|
ClientInfo,
|
@@ -29,7 +30,6 @@ import {
|
|
29
30
|
import { ConnectionError } from '../room/errors';
|
30
31
|
import { getClientInfo, sleep } from '../room/utils';
|
31
32
|
import Queue from './RequestQueue';
|
32
|
-
import 'webrtc-adapter';
|
33
33
|
|
34
34
|
// internal options
|
35
35
|
interface ConnectOpts {
|
package/src/room/Room.ts
CHANGED
@@ -35,7 +35,7 @@ import { Track } from './track/Track';
|
|
35
35
|
import { TrackPublication } from './track/TrackPublication';
|
36
36
|
import { AdaptiveStreamSettings, RemoteTrack } from './track/types';
|
37
37
|
import { getNewAudioContext } from './track/utils';
|
38
|
-
import { isWeb, unpackStreamId } from './utils';
|
38
|
+
import { Future, isWeb, unpackStreamId } from './utils';
|
39
39
|
|
40
40
|
export enum ConnectionState {
|
41
41
|
Disconnected = 'disconnected',
|
@@ -98,6 +98,8 @@ class Room extends (EventEmitter as new () => TypedEmitter<RoomEventCallbacks>)
|
|
98
98
|
/** used for aborting pending connections to a LiveKit server */
|
99
99
|
private abortController?: AbortController;
|
100
100
|
|
101
|
+
private connectFuture?: Future<void>;
|
102
|
+
|
101
103
|
/**
|
102
104
|
* Creates a new Room, the primary construct for a LiveKit session.
|
103
105
|
* @param options
|
@@ -191,13 +193,16 @@ class Room extends (EventEmitter as new () => TypedEmitter<RoomEventCallbacks>)
|
|
191
193
|
return DeviceManager.getInstance().getDevices(kind, requestPermissions);
|
192
194
|
}
|
193
195
|
|
194
|
-
connect = async (url: string, token: string, opts?: RoomConnectOptions) => {
|
195
|
-
|
196
|
-
|
196
|
+
connect = async (url: string, token: string, opts?: RoomConnectOptions): Promise<void> => {
|
197
|
+
if (this.state === ConnectionState.Connected) {
|
198
|
+
// when the state is reconnecting or connected, this function returns immediately
|
197
199
|
log.warn(`already connected to room ${this.name}`);
|
198
200
|
return;
|
199
201
|
}
|
200
202
|
|
203
|
+
if (this.connectFuture) {
|
204
|
+
return this.connectFuture.promise;
|
205
|
+
}
|
201
206
|
this.setAndEmitConnectionState(ConnectionState.Connecting);
|
202
207
|
|
203
208
|
if (!this.abortController || this.abortController.signal.aborted) {
|
@@ -292,42 +297,51 @@ class Room extends (EventEmitter as new () => TypedEmitter<RoomEventCallbacks>)
|
|
292
297
|
this.emit(RoomEvent.SignalConnected);
|
293
298
|
} catch (err) {
|
294
299
|
this.recreateEngine();
|
295
|
-
this.setAndEmitConnectionState(
|
300
|
+
this.setAndEmitConnectionState(
|
301
|
+
ConnectionState.Disconnected,
|
302
|
+
new ConnectionError('could not establish signal connection'),
|
303
|
+
);
|
296
304
|
throw err;
|
297
305
|
}
|
298
306
|
|
299
307
|
// don't return until ICE connected
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
308
|
+
const connectTimeout = setTimeout(() => {
|
309
|
+
// timeout
|
310
|
+
this.recreateEngine();
|
311
|
+
this.setAndEmitConnectionState(
|
312
|
+
ConnectionState.Disconnected,
|
313
|
+
new ConnectionError('could not connect PeerConnection after timeout'),
|
314
|
+
);
|
315
|
+
}, maxICEConnectTimeout);
|
316
|
+
const abortHandler = () => {
|
317
|
+
log.warn('closing engine');
|
318
|
+
clearTimeout(connectTimeout);
|
319
|
+
this.recreateEngine();
|
320
|
+
this.setAndEmitConnectionState(
|
321
|
+
ConnectionState.Disconnected,
|
322
|
+
new ConnectionError('room connection has been cancelled'),
|
323
|
+
);
|
324
|
+
};
|
325
|
+
if (this.abortController?.signal.aborted) {
|
326
|
+
abortHandler();
|
327
|
+
}
|
328
|
+
this.abortController?.signal.addEventListener('abort', abortHandler);
|
329
|
+
|
330
|
+
this.engine.once(EngineEvent.Connected, () => {
|
331
|
+
clearTimeout(connectTimeout);
|
332
|
+
this.abortController?.signal.removeEventListener('abort', abortHandler);
|
333
|
+
// also hook unload event
|
334
|
+
if (isWeb()) {
|
335
|
+
window.addEventListener('beforeunload', this.onBeforeUnload);
|
336
|
+
navigator.mediaDevices?.addEventListener('devicechange', this.handleDeviceChange);
|
316
337
|
}
|
317
|
-
this.
|
318
|
-
|
319
|
-
this.engine.once(EngineEvent.Connected, () => {
|
320
|
-
clearTimeout(connectTimeout);
|
321
|
-
this.abortController?.signal.removeEventListener('abort', abortHandler);
|
322
|
-
// also hook unload event
|
323
|
-
if (isWeb()) {
|
324
|
-
window.addEventListener('beforeunload', this.onBeforeUnload);
|
325
|
-
navigator.mediaDevices?.addEventListener('devicechange', this.handleDeviceChange);
|
326
|
-
}
|
327
|
-
this.setAndEmitConnectionState(ConnectionState.Connected);
|
328
|
-
resolve(this);
|
329
|
-
});
|
338
|
+
this.setAndEmitConnectionState(ConnectionState.Connected);
|
330
339
|
});
|
340
|
+
|
341
|
+
if (this.connectFuture) {
|
342
|
+
/** @ts-ignore */
|
343
|
+
return this.connectFuture.promise;
|
344
|
+
}
|
331
345
|
};
|
332
346
|
|
333
347
|
/**
|
@@ -376,6 +390,12 @@ class Room extends (EventEmitter as new () => TypedEmitter<RoomEventCallbacks>)
|
|
376
390
|
let postAction = () => {};
|
377
391
|
let req: SimulateScenario | undefined;
|
378
392
|
switch (scenario) {
|
393
|
+
case 'signal-reconnect':
|
394
|
+
this.engine.client.close();
|
395
|
+
if (this.engine.client.onClose) {
|
396
|
+
this.engine.client.onClose('simulate disconnect');
|
397
|
+
}
|
398
|
+
break;
|
379
399
|
case 'speaker':
|
380
400
|
req = SimulateScenario.fromPartial({
|
381
401
|
speakerUpdate: 3,
|
@@ -768,7 +788,7 @@ class Room extends (EventEmitter as new () => TypedEmitter<RoomEventCallbacks>)
|
|
768
788
|
pub.track.streamState = Track.streamStateFromProto(streamState.state);
|
769
789
|
participant.emit(ParticipantEvent.TrackStreamStateChanged, pub, pub.track.streamState);
|
770
790
|
this.emitWhenConnected(
|
771
|
-
|
791
|
+
RoomEvent.TrackStreamStateChanged,
|
772
792
|
pub,
|
773
793
|
pub.track.streamState,
|
774
794
|
participant,
|
@@ -793,7 +813,7 @@ class Room extends (EventEmitter as new () => TypedEmitter<RoomEventCallbacks>)
|
|
793
813
|
pub.subscriptionStatus,
|
794
814
|
);
|
795
815
|
this.emitWhenConnected(
|
796
|
-
|
816
|
+
RoomEvent.TrackSubscriptionPermissionChanged,
|
797
817
|
pub,
|
798
818
|
pub.subscriptionStatus,
|
799
819
|
participant,
|
@@ -996,11 +1016,35 @@ class Room extends (EventEmitter as new () => TypedEmitter<RoomEventCallbacks>)
|
|
996
1016
|
}
|
997
1017
|
}
|
998
1018
|
|
999
|
-
private setAndEmitConnectionState(state: ConnectionState): boolean {
|
1019
|
+
private setAndEmitConnectionState(state: ConnectionState, error?: Error): boolean {
|
1000
1020
|
if (state === this.state) {
|
1001
1021
|
// unchanged
|
1002
1022
|
return false;
|
1003
1023
|
}
|
1024
|
+
switch (state) {
|
1025
|
+
case ConnectionState.Connecting:
|
1026
|
+
case ConnectionState.Reconnecting:
|
1027
|
+
if (!this.connectFuture) {
|
1028
|
+
// reuse existing connect future if possible
|
1029
|
+
this.connectFuture = new Future<void>();
|
1030
|
+
}
|
1031
|
+
break;
|
1032
|
+
case ConnectionState.Connected:
|
1033
|
+
if (this.connectFuture) {
|
1034
|
+
this.connectFuture.resolve();
|
1035
|
+
this.connectFuture = undefined;
|
1036
|
+
}
|
1037
|
+
break;
|
1038
|
+
case ConnectionState.Disconnected:
|
1039
|
+
if (this.connectFuture) {
|
1040
|
+
error ??= new Error('disconnected from Room');
|
1041
|
+
this.connectFuture.reject(error);
|
1042
|
+
this.connectFuture = undefined;
|
1043
|
+
}
|
1044
|
+
break;
|
1045
|
+
default:
|
1046
|
+
// nothing
|
1047
|
+
}
|
1004
1048
|
this.state = state;
|
1005
1049
|
this.emit(RoomEvent.ConnectionStateChanged, this.state);
|
1006
1050
|
return true;
|
@@ -1,6 +1,11 @@
|
|
1
1
|
import log from '../../logger';
|
2
2
|
import { RoomOptions } from '../../options';
|
3
|
-
import {
|
3
|
+
import {
|
4
|
+
DataPacket,
|
5
|
+
DataPacket_Kind,
|
6
|
+
ParticipantInfo,
|
7
|
+
ParticipantPermission,
|
8
|
+
} from '../../proto/livekit_models';
|
4
9
|
import {
|
5
10
|
AddTrackRequest,
|
6
11
|
DataChannelInfo,
|
@@ -787,6 +792,29 @@ export default class LocalParticipant extends Participant {
|
|
787
792
|
}
|
788
793
|
}
|
789
794
|
|
795
|
+
/** @internal */
|
796
|
+
updateInfo(info: ParticipantInfo) {
|
797
|
+
super.updateInfo(info);
|
798
|
+
|
799
|
+
// reconcile track mute status.
|
800
|
+
// if server's track mute status doesn't match actual, we'll have to update
|
801
|
+
// the server's copy
|
802
|
+
info.tracks.forEach((ti) => {
|
803
|
+
const pub = this.tracks.get(ti.sid);
|
804
|
+
|
805
|
+
if (pub) {
|
806
|
+
const mutedOnServer = pub.isMuted || (pub.track?.isUpstreamPaused ?? false);
|
807
|
+
if (mutedOnServer !== ti.muted) {
|
808
|
+
log.debug('updating server mute state after reconcile', {
|
809
|
+
sid: ti.sid,
|
810
|
+
muted: mutedOnServer,
|
811
|
+
});
|
812
|
+
this.engine.client.sendMuteTrack(ti.sid, mutedOnServer);
|
813
|
+
}
|
814
|
+
}
|
815
|
+
});
|
816
|
+
}
|
817
|
+
|
790
818
|
private updateTrackSubscriptionPermissions = () => {
|
791
819
|
log.debug('updating track subscription permissions', {
|
792
820
|
allParticipantsAllowed: this.allParticipantsAllowedToSubscribe,
|
@@ -156,6 +156,8 @@ export default class RemoteParticipant extends Participant {
|
|
156
156
|
track.start();
|
157
157
|
|
158
158
|
publication.setTrack(track);
|
159
|
+
// subscription means participant has permissions to subscribe
|
160
|
+
publication._allowed = true;
|
159
161
|
// set participant volume on new microphone tracks
|
160
162
|
if (
|
161
163
|
this.volume !== undefined &&
|
@@ -125,6 +125,7 @@ export default class RemoteTrackPublication extends TrackPublication {
|
|
125
125
|
return this.currentVideoQuality;
|
126
126
|
}
|
127
127
|
|
128
|
+
/** @internal */
|
128
129
|
setTrack(track?: Track) {
|
129
130
|
if (this.track) {
|
130
131
|
// unregister listener
|
@@ -164,6 +165,7 @@ export default class RemoteTrackPublication extends TrackPublication {
|
|
164
165
|
|
165
166
|
protected handleEnded = (track: RemoteTrack) => {
|
166
167
|
this.emit(TrackEvent.Ended, track);
|
168
|
+
this.setTrack(undefined);
|
167
169
|
};
|
168
170
|
|
169
171
|
protected get isAdaptiveStream(): boolean {
|
@@ -114,7 +114,7 @@ export interface ScreenShareCaptureOptions {
|
|
114
114
|
* true to capture audio shared. browser support for audio capturing in
|
115
115
|
* screenshare is limited: https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getDisplayMedia#browser_compatibility
|
116
116
|
*/
|
117
|
-
audio?: boolean;
|
117
|
+
audio?: boolean | AudioCaptureOptions;
|
118
118
|
|
119
119
|
/** capture resolution, defaults to full HD */
|
120
120
|
resolution?: VideoResolution;
|
package/src/room/utils.ts
CHANGED
@@ -114,3 +114,18 @@ export function getEmptyAudioStreamTrack() {
|
|
114
114
|
}
|
115
115
|
return emptyAudioStreamTrack;
|
116
116
|
}
|
117
|
+
|
118
|
+
export class Future<T> {
|
119
|
+
promise: Promise<T>;
|
120
|
+
|
121
|
+
resolve!: (arg: T) => void;
|
122
|
+
|
123
|
+
reject!: (e: any) => void;
|
124
|
+
|
125
|
+
constructor() {
|
126
|
+
this.promise = new Promise<T>((resolve, reject) => {
|
127
|
+
this.resolve = resolve;
|
128
|
+
this.reject = reject;
|
129
|
+
});
|
130
|
+
}
|
131
|
+
}
|