livekit-client 2.0.0 → 2.0.2
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 +8 -0
- 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 +4 -4
- package/dist/livekit-client.e2ee.worker.mjs.map +1 -1
- package/dist/livekit-client.esm.mjs +122 -39
- 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/proto/livekit_models_pb.d.ts +9 -1
- package/dist/src/proto/livekit_models_pb.d.ts.map +1 -1
- package/dist/src/proto/livekit_rtc_pb.d.ts +38 -0
- package/dist/src/proto/livekit_rtc_pb.d.ts.map +1 -1
- package/dist/src/room/PCTransport.d.ts +1 -2
- package/dist/src/room/PCTransport.d.ts.map +1 -1
- package/dist/src/room/PCTransportManager.d.ts.map +1 -1
- package/dist/src/room/RTCEngine.d.ts.map +1 -1
- package/dist/src/room/Room.d.ts.map +1 -1
- package/dist/src/room/events.d.ts +8 -1
- package/dist/src/room/events.d.ts.map +1 -1
- package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
- package/dist/src/room/track/LocalAudioTrack.d.ts +8 -7
- package/dist/src/room/track/LocalAudioTrack.d.ts.map +1 -1
- package/dist/src/room/track/LocalTrack.d.ts +10 -9
- package/dist/src/room/track/LocalTrack.d.ts.map +1 -1
- package/dist/src/room/track/LocalTrackPublication.d.ts +2 -2
- package/dist/src/room/track/LocalVideoTrack.d.ts +3 -3
- package/dist/src/room/track/LocalVideoTrack.d.ts.map +1 -1
- package/dist/src/room/track/RemoteAudioTrack.d.ts +2 -1
- package/dist/src/room/track/RemoteAudioTrack.d.ts.map +1 -1
- package/dist/src/room/track/RemoteTrack.d.ts +2 -2
- package/dist/src/room/track/RemoteTrack.d.ts.map +1 -1
- package/dist/src/room/track/RemoteVideoTrack.d.ts +2 -1
- package/dist/src/room/track/RemoteVideoTrack.d.ts.map +1 -1
- package/dist/src/room/track/Track.d.ts +3 -3
- package/dist/src/room/track/Track.d.ts.map +1 -1
- package/dist/src/room/track/processor/types.d.ts +4 -0
- package/dist/src/room/track/processor/types.d.ts.map +1 -1
- package/dist/ts4.2/src/proto/livekit_models_pb.d.ts +9 -1
- package/dist/ts4.2/src/proto/livekit_rtc_pb.d.ts +38 -0
- package/dist/ts4.2/src/room/PCTransport.d.ts +1 -2
- package/dist/ts4.2/src/room/events.d.ts +8 -1
- package/dist/ts4.2/src/room/track/LocalAudioTrack.d.ts +8 -7
- package/dist/ts4.2/src/room/track/LocalTrack.d.ts +10 -9
- package/dist/ts4.2/src/room/track/LocalTrackPublication.d.ts +2 -2
- package/dist/ts4.2/src/room/track/LocalVideoTrack.d.ts +3 -3
- package/dist/ts4.2/src/room/track/RemoteAudioTrack.d.ts +2 -1
- package/dist/ts4.2/src/room/track/RemoteTrack.d.ts +2 -2
- package/dist/ts4.2/src/room/track/RemoteVideoTrack.d.ts +2 -1
- package/dist/ts4.2/src/room/track/Track.d.ts +3 -3
- package/dist/ts4.2/src/room/track/processor/types.d.ts +4 -0
- package/package.json +2 -2
- package/src/api/SignalClient.ts +1 -1
- package/src/e2ee/worker/e2ee.worker.ts +8 -4
- package/src/proto/livekit_models_pb.ts +12 -0
- package/src/proto/livekit_rtc_pb.ts +53 -0
- package/src/room/PCTransport.ts +3 -13
- package/src/room/PCTransportManager.ts +1 -2
- package/src/room/RTCEngine.ts +5 -0
- package/src/room/Room.ts +3 -0
- package/src/room/events.ts +8 -1
- package/src/room/participant/LocalParticipant.ts +0 -1
- package/src/room/track/LocalAudioTrack.ts +8 -11
- package/src/room/track/LocalTrack.ts +36 -23
- package/src/room/track/LocalVideoTrack.ts +3 -3
- package/src/room/track/RemoteAudioTrack.ts +1 -1
- package/src/room/track/RemoteTrack.ts +4 -2
- package/src/room/track/RemoteVideoTrack.ts +1 -1
- package/src/room/track/Track.ts +5 -3
- package/src/room/track/processor/types.ts +4 -0
@@ -3,7 +3,7 @@ import { Mutex } from '../utils';
|
|
3
3
|
import { Track } from './Track';
|
4
4
|
import type { VideoCodec } from './options';
|
5
5
|
import type { TrackProcessor } from './processor/types';
|
6
|
-
export default abstract class LocalTrack extends Track {
|
6
|
+
export default abstract class LocalTrack<TrackKind extends Track.Kind = Track.Kind> extends Track<TrackKind> {
|
7
7
|
/** @internal */
|
8
8
|
sender?: RTCRtpSender;
|
9
9
|
/** @internal */
|
@@ -15,8 +15,9 @@ export default abstract class LocalTrack extends Track {
|
|
15
15
|
protected muteLock: Mutex;
|
16
16
|
protected pauseUpstreamLock: Mutex;
|
17
17
|
protected processorElement?: HTMLMediaElement;
|
18
|
-
protected processor?: TrackProcessor<
|
18
|
+
protected processor?: TrackProcessor<TrackKind, any>;
|
19
19
|
protected processorLock: Mutex;
|
20
|
+
protected audioContext?: AudioContext;
|
20
21
|
/**
|
21
22
|
*
|
22
23
|
* @param mediaTrack
|
@@ -24,7 +25,7 @@ export default abstract class LocalTrack extends Track {
|
|
24
25
|
* @param constraints MediaTrackConstraints that are being used when restarting or reacquiring tracks
|
25
26
|
* @param userProvidedTrack Signals to the SDK whether or not the mediaTrack should be managed (i.e. released and reacquired) internally by the SDK
|
26
27
|
*/
|
27
|
-
protected constructor(mediaTrack: MediaStreamTrack, kind:
|
28
|
+
protected constructor(mediaTrack: MediaStreamTrack, kind: TrackKind, constraints?: MediaTrackConstraints, userProvidedTrack?: boolean, loggerOptions?: LoggerOptions);
|
28
29
|
get id(): string;
|
29
30
|
get dimensions(): Track.Dimensions | undefined;
|
30
31
|
private _isUpstreamPaused;
|
@@ -37,10 +38,10 @@ export default abstract class LocalTrack extends Track {
|
|
37
38
|
* @returns DeviceID of the device that is currently being used for this track
|
38
39
|
*/
|
39
40
|
getDeviceId(): Promise<string | undefined>;
|
40
|
-
mute(): Promise<
|
41
|
-
unmute(): Promise<
|
42
|
-
replaceTrack(track: MediaStreamTrack, userProvidedTrack?: boolean): Promise<
|
43
|
-
protected restart(constraints?: MediaTrackConstraints): Promise<
|
41
|
+
mute(): Promise<this>;
|
42
|
+
unmute(): Promise<this>;
|
43
|
+
replaceTrack(track: MediaStreamTrack, userProvidedTrack?: boolean): Promise<this>;
|
44
|
+
protected restart(constraints?: MediaTrackConstraints): Promise<this>;
|
44
45
|
protected setTrackMuted(muted: boolean): void;
|
45
46
|
protected get needsReAcquisition(): boolean;
|
46
47
|
protected handleAppVisibilityChanged(): Promise<void>;
|
@@ -74,8 +75,8 @@ export default abstract class LocalTrack extends Track {
|
|
74
75
|
* @param showProcessedStreamLocally
|
75
76
|
* @returns
|
76
77
|
*/
|
77
|
-
setProcessor(processor: TrackProcessor<
|
78
|
-
getProcessor(): TrackProcessor<
|
78
|
+
setProcessor(processor: TrackProcessor<TrackKind>, showProcessedStreamLocally?: boolean): Promise<void>;
|
79
|
+
getProcessor(): TrackProcessor<TrackKind, any> | undefined;
|
79
80
|
/**
|
80
81
|
* Stops the track processor
|
81
82
|
* See https://github.com/livekit/track-processors-js for example usage
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LocalTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/LocalTrack.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAoC,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,KAAK,EAAgC,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,
|
1
|
+
{"version":3,"file":"LocalTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/LocalTrack.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAoC,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,KAAK,EAAgC,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,UAAU,CACtC,SAAS,SAAS,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CACzC,SAAQ,KAAK,CAAC,SAAS,CAAC;IACxB,gBAAgB;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB,gBAAgB;IAChB,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB,IAAI,WAAW,0BAEd;IAED,SAAS,CAAC,YAAY,EAAE,qBAAqB,CAAC;IAE9C,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC;IAElC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC;IAElC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC;IAE1B,SAAS,CAAC,iBAAiB,EAAE,KAAK,CAAC;IAEnC,SAAS,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAE9C,SAAS,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAErD,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC;IAE/B,SAAS,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IAEtC;;;;;;OAMG;IACH,SAAS,aACP,UAAU,EAAE,gBAAgB,EAC5B,IAAI,EAAE,SAAS,EACf,WAAW,CAAC,EAAE,qBAAqB,EACnC,iBAAiB,UAAQ,EACzB,aAAa,CAAC,EAAE,aAAa;IAiB/B,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,UAAU,IAAI,KAAK,CAAC,UAAU,GAAG,SAAS,CAa7C;IAED,OAAO,CAAC,iBAAiB,CAAkB;IAE3C,IAAI,gBAAgB,YAEnB;IAED,IAAI,cAAc,YAEjB;IAED,IAAI,gBAAgB,qBAEnB;YAEa,mBAAmB;IAuE3B,iBAAiB,CAAC,OAAO,SAA2B,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;IAsBtF;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAW1C,IAAI;IAKJ,MAAM;IAKN,YAAY,CAAC,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,UAAO;cAiBpD,OAAO,CAAC,WAAW,CAAC,EAAE,qBAAqB;IAyC3D,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO;IAYtC,SAAS,KAAK,kBAAkB,IAAI,OAAO,CAO1C;cAEe,0BAA0B;IAY1C,OAAO,CAAC,oBAAoB,CAGxB;IAEJ,OAAO,CAAC,yBAAyB,CAExB;IAET,OAAO,CAAC,sBAAsB,CAG5B;IAEF,OAAO,CAAC,WAAW,CAOjB;IAEF,IAAI;IAUJ;;;;;QAKI;IACE,aAAa;IAwBb,cAAc;IAoBpB;;;;;OAKG;IACG,iBAAiB,IAAI,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAQ9D;;;;;;;;;OASG;IACG,YAAY,CAAC,SAAS,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,0BAA0B,UAAO;IA6C1F,YAAY;IAIZ;;;;;;OAMG;IACG,aAAa;IAanB,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,IAAI;CACzC"}
|
@@ -18,11 +18,11 @@ export default class LocalTrackPublication extends TrackPublication {
|
|
18
18
|
/**
|
19
19
|
* Mute the track associated with this publication
|
20
20
|
*/
|
21
|
-
mute(): Promise<LocalTrack | undefined>;
|
21
|
+
mute(): Promise<LocalTrack<Track.Kind> | undefined>;
|
22
22
|
/**
|
23
23
|
* Unmute track associated with this publication
|
24
24
|
*/
|
25
|
-
unmute(): Promise<LocalTrack | undefined>;
|
25
|
+
unmute(): Promise<LocalTrack<Track.Kind> | undefined>;
|
26
26
|
/**
|
27
27
|
* Pauses the media stream track associated with this publication from being sent to the server
|
28
28
|
* and signals "muted" event to other participants
|
@@ -14,7 +14,7 @@ export declare class SimulcastTrackInfo {
|
|
14
14
|
encodings?: RTCRtpEncodingParameters[];
|
15
15
|
constructor(codec: VideoCodec, mediaStreamTrack: MediaStreamTrack);
|
16
16
|
}
|
17
|
-
export default class LocalVideoTrack extends LocalTrack {
|
17
|
+
export default class LocalVideoTrack extends LocalTrack<Track.Kind.Video> {
|
18
18
|
signalClient?: SignalClient;
|
19
19
|
private prevStats?;
|
20
20
|
private encodings?;
|
@@ -33,8 +33,8 @@ export default class LocalVideoTrack extends LocalTrack {
|
|
33
33
|
stop(): void;
|
34
34
|
pauseUpstream(): Promise<void>;
|
35
35
|
resumeUpstream(): Promise<void>;
|
36
|
-
mute(): Promise<
|
37
|
-
unmute(): Promise<
|
36
|
+
mute(): Promise<typeof this>;
|
37
|
+
unmute(): Promise<typeof this>;
|
38
38
|
protected setTrackMuted(muted: boolean): void;
|
39
39
|
getSenderStats(): Promise<VideoSenderStats[]>;
|
40
40
|
setPublishingQuality(maxQuality: VideoQuality): void;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LocalVideoTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/LocalVideoTrack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAqC,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEhF,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,UAAU,EAAE,MAAM,WAAW,CAAC;AACjE,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;
|
1
|
+
{"version":3,"file":"LocalVideoTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/LocalVideoTrack.ts"],"names":[],"mappings":"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"}
|
@@ -1,8 +1,9 @@
|
|
1
1
|
import type { AudioReceiverStats } from '../stats';
|
2
2
|
import type { LoggerOptions } from '../types';
|
3
3
|
import RemoteTrack from './RemoteTrack';
|
4
|
+
import { Track } from './Track';
|
4
5
|
import type { AudioOutputOptions } from './options';
|
5
|
-
export default class RemoteAudioTrack extends RemoteTrack {
|
6
|
+
export default class RemoteAudioTrack extends RemoteTrack<Track.Kind.Audio> {
|
6
7
|
private prevStats?;
|
7
8
|
private elementVolume;
|
8
9
|
private audioContext?;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RemoteAudioTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/RemoteAudioTrack.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,WAAW,MAAM,eAAe,CAAC;
|
1
|
+
{"version":3,"file":"RemoteAudioTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/RemoteAudioTrack.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IACzE,OAAO,CAAC,SAAS,CAAC,CAAqB;IAEvC,OAAO,CAAC,aAAa,CAAqB;IAE1C,OAAO,CAAC,YAAY,CAAC,CAAe;IAEpC,OAAO,CAAC,QAAQ,CAAC,CAAW;IAE5B,OAAO,CAAC,UAAU,CAAC,CAA6B;IAEhD,OAAO,CAAC,mBAAmB,CAAc;IAEzC,OAAO,CAAC,MAAM,CAAC,CAAS;gBAGtB,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,cAAc,EACzB,YAAY,CAAC,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,kBAAkB,EAChC,aAAa,CAAC,EAAE,aAAa;IAU/B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM;IAexB;;OAEG;IACH,SAAS,IAAI,MAAM;IAiBnB;;;OAGG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM;IAahC,MAAM,IAAI,gBAAgB;IAC1B,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB;IA4BnD;;OAEG;IACH,MAAM,IAAI,gBAAgB,EAAE;IAE5B;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB;IAqBnD;;;OAGG;IACH,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,SAAS;IAStD;;;;OAIG;IACH,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE;IAOrC,OAAO,CAAC,eAAe;IAmCvB,OAAO,CAAC,kBAAkB;IAO1B,SAAS,CAAC,eAAe,sBAYvB;cAEc,gBAAgB,IAAI,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;CAyB5E"}
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import type { LoggerOptions } from '../types';
|
2
2
|
import { Track } from './Track';
|
3
|
-
export default abstract class RemoteTrack extends Track {
|
3
|
+
export default abstract class RemoteTrack<TrackKind extends Track.Kind = Track.Kind> extends Track<TrackKind> {
|
4
4
|
/** @internal */
|
5
5
|
receiver?: RTCRtpReceiver;
|
6
|
-
constructor(mediaTrack: MediaStreamTrack, sid: string, kind:
|
6
|
+
constructor(mediaTrack: MediaStreamTrack, sid: string, kind: TrackKind, receiver?: RTCRtpReceiver, loggerOptions?: LoggerOptions);
|
7
7
|
/** @internal */
|
8
8
|
setMuted(muted: boolean): void;
|
9
9
|
/** @internal */
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RemoteTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/RemoteTrack.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,
|
1
|
+
{"version":3,"file":"RemoteTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/RemoteTrack.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,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,CAAC,EAAE,cAAc,CAAC;gBAGxB,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,SAAS,EACf,QAAQ,CAAC,EAAE,cAAc,EACzB,aAAa,CAAC,EAAE,aAAa;IAQ/B,gBAAgB;IAChB,QAAQ,CAAC,KAAK,EAAE,OAAO;IAQvB,gBAAgB;IAChB,cAAc,CAAC,MAAM,EAAE,WAAW;IAclC,KAAK;IAML,IAAI;IAMJ;;;;;OAKG;IACG,iBAAiB,IAAI,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAS9D,YAAY;IAMZ,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,IAAI;CAC3C"}
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import type { LoggerOptions } from '../types';
|
2
2
|
import RemoteTrack from './RemoteTrack';
|
3
|
+
import { Track } from './Track';
|
3
4
|
import type { AdaptiveStreamSettings } from './types';
|
4
|
-
export default class RemoteVideoTrack extends RemoteTrack {
|
5
|
+
export default class RemoteVideoTrack extends RemoteTrack<Track.Kind.Video> {
|
5
6
|
private prevStats?;
|
6
7
|
private elementInfos;
|
7
8
|
private adaptiveStreamSettings?;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RemoteVideoTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/RemoteVideoTrack.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,OAAO,WAAW,MAAM,eAAe,CAAC;
|
1
|
+
{"version":3,"file":"RemoteVideoTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/RemoteVideoTrack.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,KAAK,EAAgC,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAItD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IACzE,OAAO,CAAC,SAAS,CAAC,CAAqB;IAEvC,OAAO,CAAC,YAAY,CAAqB;IAEzC,OAAO,CAAC,sBAAsB,CAAC,CAAyB;IAExD,OAAO,CAAC,WAAW,CAAC,CAAU;IAE9B,OAAO,CAAC,cAAc,CAAC,CAAmB;gBAGxC,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,cAAc,EACzB,sBAAsB,CAAC,EAAE,sBAAsB,EAC/C,aAAa,CAAC,EAAE,aAAa;IAM/B,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED;;OAEG;IACH,IAAI,gBAAgB,qBAEnB;IAED,gBAAgB;IAChB,QAAQ,CAAC,KAAK,EAAE,OAAO;IAavB,MAAM,IAAI,gBAAgB;IAC1B,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB;IAoBnD;;;;OAIG;IACH,kBAAkB,CAAC,WAAW,EAAE,WAAW;IAuB3C;;;;OAIG;IACH,wBAAwB,CAAC,WAAW,EAAE,WAAW;IAcjD,MAAM,IAAI,gBAAgB,EAAE;IAC5B,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB;IAgBnD,gBAAgB;IAChB,wBAAwB,IAAI,MAAM,GAAG,SAAS;IAI9C,SAAS,CAAC,eAAe,sBAYvB;YAEY,gBAAgB;IAuC9B,OAAO,CAAC,oBAAoB;cAOZ,0BAA0B;IAM1C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAEnB;IAEnB,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,eAAe;CAiBxB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,IAAI,MAAM,CAAC;IAChB,MAAM,IAAI,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;IACrC,OAAO,IAAI,IAAI,CAAC;IAChB,aAAa,IAAI,IAAI,CAAC;CACvB"}
|
@@ -10,8 +10,8 @@ export declare enum VideoQuality {
|
|
10
10
|
HIGH = 2
|
11
11
|
}
|
12
12
|
declare const Track_base: new () => TypedEventEmitter<TrackEventCallbacks>;
|
13
|
-
export declare abstract class Track extends Track_base {
|
14
|
-
kind:
|
13
|
+
export declare abstract class Track<TrackKind extends Track.Kind = Track.Kind> extends Track_base {
|
14
|
+
readonly kind: TrackKind;
|
15
15
|
attachedElements: HTMLMediaElement[];
|
16
16
|
isMuted: boolean;
|
17
17
|
source: Track.Source;
|
@@ -36,7 +36,7 @@ export declare abstract class Track extends Track_base {
|
|
36
36
|
protected _currentBitrate: number;
|
37
37
|
protected monitorInterval?: ReturnType<typeof setInterval>;
|
38
38
|
protected log: StructuredLogger;
|
39
|
-
protected constructor(mediaTrack: MediaStreamTrack, kind:
|
39
|
+
protected constructor(mediaTrack: MediaStreamTrack, kind: TrackKind, loggerOptions?: LoggerOptions);
|
40
40
|
protected get logContext(): {
|
41
41
|
[x: string]: unknown;
|
42
42
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Track.d.ts","sourceRoot":"","sources":["../../../../src/room/track/Track.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,iBAAiB,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAY,EAAe,gBAAgB,EAAa,MAAM,cAAc,CAAC;AAC7E,OAAO,EAEL,WAAW,EACX,SAAS,EACV,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAU9C,oBAAY,YAAY;IACtB,GAAG,IAAmB;IACtB,MAAM,IAAsB;IAC5B,IAAI,IAAoB;CACzB;
|
1
|
+
{"version":3,"file":"Track.d.ts","sourceRoot":"","sources":["../../../../src/room/track/Track.ts"],"names":[],"mappings":"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"}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import type Room from '../../Room';
|
1
2
|
import type { Track } from '../Track';
|
2
3
|
/**
|
3
4
|
* @experimental
|
@@ -6,6 +7,7 @@ export type ProcessorOptions<T extends Track.Kind> = {
|
|
6
7
|
kind: T;
|
7
8
|
track: MediaStreamTrack;
|
8
9
|
element?: HTMLMediaElement;
|
10
|
+
audioContext?: AudioContext;
|
9
11
|
};
|
10
12
|
/**
|
11
13
|
* @experimental
|
@@ -27,5 +29,7 @@ export interface TrackProcessor<T extends Track.Kind, U extends ProcessorOptions
|
|
27
29
|
restart: (opts: U) => Promise<void>;
|
28
30
|
destroy: () => Promise<void>;
|
29
31
|
processedTrack?: MediaStreamTrack;
|
32
|
+
onPublish?: (room: Room) => Promise<void>;
|
33
|
+
onUnpublish?: () => Promise<void>;
|
30
34
|
}
|
31
35
|
//# sourceMappingURL=types.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/room/track/processor/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,IAAI;IACnD,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,CAAC,EAAE,gBAAgB,CAAC;
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/room/track/processor/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,IAAI;IACnD,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IAC/E,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;CAAG;AAEpF;;GAEG;AACH,MAAM,WAAW,cAAc,CAC7B,CAAC,SAAS,KAAK,CAAC,IAAI,EACpB,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAEnD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC"}
|
@@ -191,7 +191,15 @@ export declare enum DisconnectReason {
|
|
191
191
|
/**
|
192
192
|
* @generated from enum value: JOIN_FAILURE = 7;
|
193
193
|
*/
|
194
|
-
JOIN_FAILURE = 7
|
194
|
+
JOIN_FAILURE = 7,
|
195
|
+
/**
|
196
|
+
* @generated from enum value: MIGRATION = 8;
|
197
|
+
*/
|
198
|
+
MIGRATION = 8,
|
199
|
+
/**
|
200
|
+
* @generated from enum value: SIGNAL_CLOSE = 9;
|
201
|
+
*/
|
202
|
+
SIGNAL_CLOSE = 9
|
195
203
|
}
|
196
204
|
/**
|
197
205
|
* @generated from enum livekit.ReconnectReason
|
@@ -778,6 +778,7 @@ export declare class LeaveRequest extends Message<LeaveRequest> {
|
|
778
778
|
/**
|
779
779
|
* sent when server initiates the disconnect due to server-restart
|
780
780
|
* indicates clients should attempt full-reconnect sequence
|
781
|
+
* NOTE: `can_reconnect` obsoleted by `action` starting in protocol version 13
|
781
782
|
*
|
782
783
|
* @generated from field: bool can_reconnect = 1;
|
783
784
|
*/
|
@@ -786,6 +787,14 @@ export declare class LeaveRequest extends Message<LeaveRequest> {
|
|
786
787
|
* @generated from field: livekit.DisconnectReason reason = 2;
|
787
788
|
*/
|
788
789
|
reason: DisconnectReason;
|
790
|
+
/**
|
791
|
+
* @generated from field: livekit.LeaveRequest.Action action = 3;
|
792
|
+
*/
|
793
|
+
action: LeaveRequest_Action;
|
794
|
+
/**
|
795
|
+
* @generated from field: livekit.RegionSettings regions = 4;
|
796
|
+
*/
|
797
|
+
regions?: RegionSettings;
|
789
798
|
constructor(data?: PartialMessage<LeaveRequest>);
|
790
799
|
static readonly runtime: typeof proto3;
|
791
800
|
static readonly typeName = "livekit.LeaveRequest";
|
@@ -795,6 +804,31 @@ export declare class LeaveRequest extends Message<LeaveRequest> {
|
|
795
804
|
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): LeaveRequest;
|
796
805
|
static equals(a: LeaveRequest | PlainMessage<LeaveRequest> | undefined, b: LeaveRequest | PlainMessage<LeaveRequest> | undefined): boolean;
|
797
806
|
}
|
807
|
+
/**
|
808
|
+
* indicates action clients should take on receiving this message
|
809
|
+
*
|
810
|
+
* @generated from enum livekit.LeaveRequest.Action
|
811
|
+
*/
|
812
|
+
export declare enum LeaveRequest_Action {
|
813
|
+
/**
|
814
|
+
* should disconnect
|
815
|
+
*
|
816
|
+
* @generated from enum value: DISCONNECT = 0;
|
817
|
+
*/
|
818
|
+
DISCONNECT = 0,
|
819
|
+
/**
|
820
|
+
* should attempt a resume with `reconnect=1` in join URL
|
821
|
+
*
|
822
|
+
* @generated from enum value: RESUME = 1;
|
823
|
+
*/
|
824
|
+
RESUME = 1,
|
825
|
+
/**
|
826
|
+
* should attempt a reconnect, i. e. no `reconnect=1`
|
827
|
+
*
|
828
|
+
* @generated from enum value: RECONNECT = 2;
|
829
|
+
*/
|
830
|
+
RECONNECT = 2
|
831
|
+
}
|
798
832
|
/**
|
799
833
|
* message to indicate published video track dimensions are changing
|
800
834
|
*
|
@@ -1154,6 +1188,10 @@ export declare class SyncState extends Message<SyncState> {
|
|
1154
1188
|
* @generated from field: livekit.SessionDescription offer = 5;
|
1155
1189
|
*/
|
1156
1190
|
offer?: SessionDescription;
|
1191
|
+
/**
|
1192
|
+
* @generated from field: repeated string track_sids_disabled = 6;
|
1193
|
+
*/
|
1194
|
+
trackSidsDisabled: string[];
|
1157
1195
|
constructor(data?: PartialMessage<SyncState>);
|
1158
1196
|
static readonly runtime: typeof proto3;
|
1159
1197
|
static readonly typeName = "livekit.SyncState";
|
@@ -18,7 +18,6 @@ export default class PCTransport extends EventEmitter {
|
|
18
18
|
private _pc;
|
19
19
|
private get pc();
|
20
20
|
private config?;
|
21
|
-
private mediaConstraints;
|
22
21
|
private log;
|
23
22
|
private loggerOptions;
|
24
23
|
pendingCandidates: RTCIceCandidateInit[];
|
@@ -35,7 +34,7 @@ export default class PCTransport extends EventEmitter {
|
|
35
34
|
onSignalingStatechange?: (state: RTCSignalingState) => void;
|
36
35
|
onDataChannel?: (ev: RTCDataChannelEvent) => void;
|
37
36
|
onTrack?: (ev: RTCTrackEvent) => void;
|
38
|
-
constructor(config?: RTCConfiguration,
|
37
|
+
constructor(config?: RTCConfiguration, loggerOptions?: LoggerOptions);
|
39
38
|
private createPC;
|
40
39
|
private get logContext();
|
41
40
|
get isICEConnected(): boolean;
|
@@ -23,7 +23,14 @@ export declare enum RoomEvent {
|
|
23
23
|
Reconnected = "reconnected",
|
24
24
|
/**
|
25
25
|
* When disconnected from room. This fires when room.disconnect() is called or
|
26
|
-
* when an unrecoverable connection issue had occured
|
26
|
+
* when an unrecoverable connection issue had occured.
|
27
|
+
*
|
28
|
+
* DisconnectReason can be used to determine why the participant was disconnected. Notable reasons are
|
29
|
+
* - DUPLICATE_IDENTITY: another client with the same identity has joined the room
|
30
|
+
* - PARTICIPANT_REMOVED: participant was removed by RemoveParticipant API
|
31
|
+
* - ROOM_DELETED: the room has ended via DeleteRoom API
|
32
|
+
*
|
33
|
+
* args: ([[DisconnectReason]])
|
27
34
|
*/
|
28
35
|
Disconnected = "disconnected",
|
29
36
|
/**
|
@@ -1,13 +1,14 @@
|
|
1
1
|
import type { AudioSenderStats } from '../stats';
|
2
2
|
import type { LoggerOptions } from '../types';
|
3
3
|
import LocalTrack from './LocalTrack';
|
4
|
+
import { Track } from './Track';
|
4
5
|
import type { AudioCaptureOptions } from './options';
|
5
|
-
import type { TrackProcessor } from './processor/types';
|
6
|
-
export default class LocalAudioTrack extends LocalTrack {
|
6
|
+
import type { AudioProcessorOptions, TrackProcessor } from './processor/types';
|
7
|
+
export default class LocalAudioTrack extends LocalTrack<Track.Kind.Audio> {
|
7
8
|
/** @internal */
|
8
9
|
stopOnMute: boolean;
|
9
|
-
private audioContext?;
|
10
10
|
private prevStats?;
|
11
|
+
protected processor?: TrackProcessor<Track.Kind.Audio, AudioProcessorOptions> | undefined;
|
11
12
|
/**
|
12
13
|
*
|
13
14
|
* @param mediaTrack
|
@@ -16,13 +17,13 @@ export default class LocalAudioTrack extends LocalTrack {
|
|
16
17
|
*/
|
17
18
|
constructor(mediaTrack: MediaStreamTrack, constraints?: MediaTrackConstraints, userProvidedTrack?: boolean, audioContext?: AudioContext, loggerOptions?: LoggerOptions);
|
18
19
|
setDeviceId(deviceId: ConstrainDOMString): Promise<boolean>;
|
19
|
-
mute(): Promise<
|
20
|
-
unmute(): Promise<
|
20
|
+
mute(): Promise<typeof this>;
|
21
|
+
unmute(): Promise<typeof this>;
|
21
22
|
restartTrack(options?: AudioCaptureOptions): Promise<void>;
|
22
|
-
protected restart(constraints?: MediaTrackConstraints): Promise<
|
23
|
+
protected restart(constraints?: MediaTrackConstraints): Promise<typeof this>;
|
23
24
|
startMonitor(): void;
|
24
25
|
protected monitorSender: () => Promise<void>;
|
25
|
-
setProcessor(processor: TrackProcessor<
|
26
|
+
setProcessor(processor: TrackProcessor<Track.Kind.Audio, AudioProcessorOptions>): Promise<void>;
|
26
27
|
/**
|
27
28
|
* @internal
|
28
29
|
* @experimental
|
@@ -3,7 +3,7 @@ import { Mutex } from '../utils';
|
|
3
3
|
import { Track } from './Track';
|
4
4
|
import type { VideoCodec } from './options';
|
5
5
|
import type { TrackProcessor } from './processor/types';
|
6
|
-
export default abstract class LocalTrack extends Track {
|
6
|
+
export default abstract class LocalTrack<TrackKind extends Track.Kind = Track.Kind> extends Track<TrackKind> {
|
7
7
|
/** @internal */
|
8
8
|
sender?: RTCRtpSender;
|
9
9
|
/** @internal */
|
@@ -15,8 +15,9 @@ export default abstract class LocalTrack extends Track {
|
|
15
15
|
protected muteLock: Mutex;
|
16
16
|
protected pauseUpstreamLock: Mutex;
|
17
17
|
protected processorElement?: HTMLMediaElement;
|
18
|
-
protected processor?: TrackProcessor<
|
18
|
+
protected processor?: TrackProcessor<TrackKind, any>;
|
19
19
|
protected processorLock: Mutex;
|
20
|
+
protected audioContext?: AudioContext;
|
20
21
|
/**
|
21
22
|
*
|
22
23
|
* @param mediaTrack
|
@@ -24,7 +25,7 @@ export default abstract class LocalTrack extends Track {
|
|
24
25
|
* @param constraints MediaTrackConstraints that are being used when restarting or reacquiring tracks
|
25
26
|
* @param userProvidedTrack Signals to the SDK whether or not the mediaTrack should be managed (i.e. released and reacquired) internally by the SDK
|
26
27
|
*/
|
27
|
-
protected constructor(mediaTrack: MediaStreamTrack, kind:
|
28
|
+
protected constructor(mediaTrack: MediaStreamTrack, kind: TrackKind, constraints?: MediaTrackConstraints, userProvidedTrack?: boolean, loggerOptions?: LoggerOptions);
|
28
29
|
get id(): string;
|
29
30
|
get dimensions(): Track.Dimensions | undefined;
|
30
31
|
private _isUpstreamPaused;
|
@@ -37,10 +38,10 @@ export default abstract class LocalTrack extends Track {
|
|
37
38
|
* @returns DeviceID of the device that is currently being used for this track
|
38
39
|
*/
|
39
40
|
getDeviceId(): Promise<string | undefined>;
|
40
|
-
mute(): Promise<
|
41
|
-
unmute(): Promise<
|
42
|
-
replaceTrack(track: MediaStreamTrack, userProvidedTrack?: boolean): Promise<
|
43
|
-
protected restart(constraints?: MediaTrackConstraints): Promise<
|
41
|
+
mute(): Promise<this>;
|
42
|
+
unmute(): Promise<this>;
|
43
|
+
replaceTrack(track: MediaStreamTrack, userProvidedTrack?: boolean): Promise<this>;
|
44
|
+
protected restart(constraints?: MediaTrackConstraints): Promise<this>;
|
44
45
|
protected setTrackMuted(muted: boolean): void;
|
45
46
|
protected get needsReAcquisition(): boolean;
|
46
47
|
protected handleAppVisibilityChanged(): Promise<void>;
|
@@ -74,8 +75,8 @@ export default abstract class LocalTrack extends Track {
|
|
74
75
|
* @param showProcessedStreamLocally
|
75
76
|
* @returns
|
76
77
|
*/
|
77
|
-
setProcessor(processor: TrackProcessor<
|
78
|
-
getProcessor(): TrackProcessor<
|
78
|
+
setProcessor(processor: TrackProcessor<TrackKind>, showProcessedStreamLocally?: boolean): Promise<void>;
|
79
|
+
getProcessor(): TrackProcessor<TrackKind, any> | undefined;
|
79
80
|
/**
|
80
81
|
* Stops the track processor
|
81
82
|
* See https://github.com/livekit/track-processors-js for example usage
|
@@ -18,11 +18,11 @@ export default class LocalTrackPublication extends TrackPublication {
|
|
18
18
|
/**
|
19
19
|
* Mute the track associated with this publication
|
20
20
|
*/
|
21
|
-
mute(): Promise<LocalTrack | undefined>;
|
21
|
+
mute(): Promise<LocalTrack<Track.Kind> | undefined>;
|
22
22
|
/**
|
23
23
|
* Unmute track associated with this publication
|
24
24
|
*/
|
25
|
-
unmute(): Promise<LocalTrack | undefined>;
|
25
|
+
unmute(): Promise<LocalTrack<Track.Kind> | undefined>;
|
26
26
|
/**
|
27
27
|
* Pauses the media stream track associated with this publication from being sent to the server
|
28
28
|
* and signals "muted" event to other participants
|
@@ -14,7 +14,7 @@ export declare class SimulcastTrackInfo {
|
|
14
14
|
encodings?: RTCRtpEncodingParameters[];
|
15
15
|
constructor(codec: VideoCodec, mediaStreamTrack: MediaStreamTrack);
|
16
16
|
}
|
17
|
-
export default class LocalVideoTrack extends LocalTrack {
|
17
|
+
export default class LocalVideoTrack extends LocalTrack<Track.Kind.Video> {
|
18
18
|
signalClient?: SignalClient;
|
19
19
|
private prevStats?;
|
20
20
|
private encodings?;
|
@@ -33,8 +33,8 @@ export default class LocalVideoTrack extends LocalTrack {
|
|
33
33
|
stop(): void;
|
34
34
|
pauseUpstream(): Promise<void>;
|
35
35
|
resumeUpstream(): Promise<void>;
|
36
|
-
mute(): Promise<
|
37
|
-
unmute(): Promise<
|
36
|
+
mute(): Promise<typeof this>;
|
37
|
+
unmute(): Promise<typeof this>;
|
38
38
|
protected setTrackMuted(muted: boolean): void;
|
39
39
|
getSenderStats(): Promise<VideoSenderStats[]>;
|
40
40
|
setPublishingQuality(maxQuality: VideoQuality): void;
|
@@ -1,8 +1,9 @@
|
|
1
1
|
import type { AudioReceiverStats } from '../stats';
|
2
2
|
import type { LoggerOptions } from '../types';
|
3
3
|
import RemoteTrack from './RemoteTrack';
|
4
|
+
import { Track } from './Track';
|
4
5
|
import type { AudioOutputOptions } from './options';
|
5
|
-
export default class RemoteAudioTrack extends RemoteTrack {
|
6
|
+
export default class RemoteAudioTrack extends RemoteTrack<Track.Kind.Audio> {
|
6
7
|
private prevStats?;
|
7
8
|
private elementVolume;
|
8
9
|
private audioContext?;
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import type { LoggerOptions } from '../types';
|
2
2
|
import { Track } from './Track';
|
3
|
-
export default abstract class RemoteTrack extends Track {
|
3
|
+
export default abstract class RemoteTrack<TrackKind extends Track.Kind = Track.Kind> extends Track<TrackKind> {
|
4
4
|
/** @internal */
|
5
5
|
receiver?: RTCRtpReceiver;
|
6
|
-
constructor(mediaTrack: MediaStreamTrack, sid: string, kind:
|
6
|
+
constructor(mediaTrack: MediaStreamTrack, sid: string, kind: TrackKind, receiver?: RTCRtpReceiver, loggerOptions?: LoggerOptions);
|
7
7
|
/** @internal */
|
8
8
|
setMuted(muted: boolean): void;
|
9
9
|
/** @internal */
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import type { LoggerOptions } from '../types';
|
2
2
|
import RemoteTrack from './RemoteTrack';
|
3
|
+
import { Track } from './Track';
|
3
4
|
import type { AdaptiveStreamSettings } from './types';
|
4
|
-
export default class RemoteVideoTrack extends RemoteTrack {
|
5
|
+
export default class RemoteVideoTrack extends RemoteTrack<Track.Kind.Video> {
|
5
6
|
private prevStats?;
|
6
7
|
private elementInfos;
|
7
8
|
private adaptiveStreamSettings?;
|
@@ -10,8 +10,8 @@ export declare enum VideoQuality {
|
|
10
10
|
HIGH = 2
|
11
11
|
}
|
12
12
|
declare const Track_base: new () => TypedEventEmitter<TrackEventCallbacks>;
|
13
|
-
export declare abstract class Track extends Track_base {
|
14
|
-
kind:
|
13
|
+
export declare abstract class Track<TrackKind extends Track.Kind = Track.Kind> extends Track_base {
|
14
|
+
readonly kind: TrackKind;
|
15
15
|
attachedElements: HTMLMediaElement[];
|
16
16
|
isMuted: boolean;
|
17
17
|
source: Track.Source;
|
@@ -36,7 +36,7 @@ export declare abstract class Track extends Track_base {
|
|
36
36
|
protected _currentBitrate: number;
|
37
37
|
protected monitorInterval?: ReturnType<typeof setInterval>;
|
38
38
|
protected log: StructuredLogger;
|
39
|
-
protected constructor(mediaTrack: MediaStreamTrack, kind:
|
39
|
+
protected constructor(mediaTrack: MediaStreamTrack, kind: TrackKind, loggerOptions?: LoggerOptions);
|
40
40
|
protected get logContext(): {
|
41
41
|
[x: string]: unknown;
|
42
42
|
};
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import type Room from '../../Room';
|
1
2
|
import type { Track } from '../Track';
|
2
3
|
/**
|
3
4
|
* @experimental
|
@@ -6,6 +7,7 @@ export type ProcessorOptions<T extends Track.Kind> = {
|
|
6
7
|
kind: T;
|
7
8
|
track: MediaStreamTrack;
|
8
9
|
element?: HTMLMediaElement;
|
10
|
+
audioContext?: AudioContext;
|
9
11
|
};
|
10
12
|
/**
|
11
13
|
* @experimental
|
@@ -27,5 +29,7 @@ export interface TrackProcessor<T extends Track.Kind, U extends ProcessorOptions
|
|
27
29
|
restart: (opts: U) => Promise<void>;
|
28
30
|
destroy: () => Promise<void>;
|
29
31
|
processedTrack?: MediaStreamTrack;
|
32
|
+
onPublish?: (room: Room) => Promise<void>;
|
33
|
+
onUnpublish?: () => Promise<void>;
|
30
34
|
}
|
31
35
|
//# sourceMappingURL=types.d.ts.map
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "livekit-client",
|
3
|
-
"version": "2.0.
|
3
|
+
"version": "2.0.2",
|
4
4
|
"description": "JavaScript/TypeScript client SDK for LiveKit",
|
5
5
|
"main": "./dist/livekit-client.umd.js",
|
6
6
|
"unpkg": "./dist/livekit-client.umd.js",
|
@@ -71,7 +71,7 @@
|
|
71
71
|
"eslint-plugin-ecmascript-compat": "^3.0.0",
|
72
72
|
"eslint-plugin-import": "2.29.1",
|
73
73
|
"gh-pages": "6.1.1",
|
74
|
-
"jsdom": "^
|
74
|
+
"jsdom": "^24.0.0",
|
75
75
|
"prettier": "^3.0.0",
|
76
76
|
"rollup": "4.9.6",
|
77
77
|
"rollup-plugin-delete": "^2.0.0",
|
package/src/api/SignalClient.ts
CHANGED
@@ -317,7 +317,7 @@ export class SignalClient {
|
|
317
317
|
let resp: SignalResponse;
|
318
318
|
if (typeof ev.data === 'string') {
|
319
319
|
const json = JSON.parse(ev.data);
|
320
|
-
resp = SignalResponse.fromJson(json);
|
320
|
+
resp = SignalResponse.fromJson(json, { ignoreUnknownFields: true });
|
321
321
|
} else if (ev.data instanceof ArrayBuffer) {
|
322
322
|
resp = SignalResponse.fromBinary(new Uint8Array(ev.data));
|
323
323
|
} else {
|