livekit-client 2.7.0 → 2.7.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/dist/livekit-client.esm.mjs +843 -879
- 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/room/participant/LocalParticipant.d.ts.map +1 -1
- package/dist/src/room/track/create.d.ts +0 -7
- package/dist/src/room/track/create.d.ts.map +1 -1
- package/dist/src/room/track/utils.d.ts +10 -0
- package/dist/src/room/track/utils.d.ts.map +1 -1
- package/dist/ts4.2/src/room/track/create.d.ts +0 -7
- package/dist/ts4.2/src/room/track/utils.d.ts +10 -0
- package/package.json +2 -2
- package/src/room/participant/LocalParticipant.ts +16 -8
- package/src/room/track/create.ts +1 -20
- package/src/room/track/utils.ts +36 -8
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LocalParticipant.d.ts","sourceRoot":"","sources":["../../../../src/room/participant/LocalParticipant.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,EAIL,eAAe,EACf,qBAAqB,EAatB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEzD,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAU1C,OAAO,EAEL,KAAK,gBAAgB,EAErB,KAAK,iBAAiB,EAEvB,MAAM,QAAQ,CAAC;AAEhB,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAC7C,OAAO,qBAAqB,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;
|
1
|
+
{"version":3,"file":"LocalParticipant.d.ts","sourceRoot":"","sources":["../../../../src/room/participant/LocalParticipant.ts"],"names":[],"mappings":"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"}
|
@@ -1,14 +1,7 @@
|
|
1
1
|
import LocalAudioTrack from './LocalAudioTrack';
|
2
2
|
import type LocalTrack from './LocalTrack';
|
3
3
|
import LocalVideoTrack from './LocalVideoTrack';
|
4
|
-
import { Track } from './Track';
|
5
4
|
import type { AudioCaptureOptions, CreateLocalTracksOptions, ScreenShareCaptureOptions, VideoCaptureOptions } from './options';
|
6
|
-
import type { AudioProcessorOptions, TrackProcessor, VideoProcessorOptions } from './processor/types';
|
7
|
-
/** @internal */
|
8
|
-
export declare function extractProcessorsFromOptions(options: CreateLocalTracksOptions): {
|
9
|
-
audioProcessor: TrackProcessor<Track.Kind.Audio, AudioProcessorOptions> | undefined;
|
10
|
-
videoProcessor: TrackProcessor<Track.Kind.Video, VideoProcessorOptions> | undefined;
|
11
|
-
};
|
12
5
|
/**
|
13
6
|
* Creates a local video and audio track at the same time. When acquiring both
|
14
7
|
* audio and video tracks together, it'll display a single permission prompt to
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/room/track/create.ts"],"names":[],"mappings":"AAKA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,eAAe,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/room/track/create.ts"],"names":[],"mappings":"AAKA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,WAAW,CAAC;AASnB;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CA6D5B;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,eAAe,CAAC,CAM1B;AAED,wBAAsB,qBAAqB,CACzC,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,eAAe,CAAC,CAM1B;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CA4B5B"}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { TrackPublishedResponse } from '@livekit/protocol';
|
2
|
+
import type { AudioProcessorOptions, TrackProcessor, VideoProcessorOptions } from '../..';
|
2
3
|
import { Track } from './Track';
|
3
4
|
import type { TrackPublication } from './TrackPublication';
|
4
5
|
import { type AudioCaptureOptions, type CreateLocalTracksOptions, type ScreenShareCaptureOptions, type VideoCaptureOptions, type VideoCodec } from './options';
|
@@ -31,4 +32,13 @@ export declare function getTrackPublicationInfo<T extends TrackPublication>(trac
|
|
31
32
|
export declare function getLogContextFromTrack(track: Track | TrackPublication): Record<string, unknown>;
|
32
33
|
export declare function supportsSynchronizationSources(): boolean;
|
33
34
|
export declare function diffAttributes(oldValues: Record<string, string> | undefined, newValues: Record<string, string> | undefined): Record<string, string>;
|
35
|
+
/** @internal */
|
36
|
+
export declare function extractProcessorsFromOptions(options: CreateLocalTracksOptions): {
|
37
|
+
audioProcessor: TrackProcessor<Track.Kind.Audio, AudioProcessorOptions> | undefined;
|
38
|
+
videoProcessor: TrackProcessor<Track.Kind.Video, VideoProcessorOptions> | undefined;
|
39
|
+
optionsWithoutProcessor: {
|
40
|
+
audio?: boolean | AudioCaptureOptions;
|
41
|
+
video?: boolean | VideoCaptureOptions;
|
42
|
+
};
|
43
|
+
};
|
34
44
|
//# sourceMappingURL=utils.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/room/track/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/room/track/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAG1F,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAChB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,wBAAgB,mBAAmB,CACjC,OAAO,CAAC,EAAE,wBAAwB,EAClC,aAAa,CAAC,EAAE,mBAAmB,EACnC,aAAa,CAAC,EAAE,mBAAmB,GAClC,wBAAwB,CA4B1B;AAYD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,wBAAwB,GAAG,sBAAsB,CAqC/F;AACD;;;GAGG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,SAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAkBzF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,GAAG,IAAI,CAOxD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,eAAe,wEAQjD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,eAAe,GAAG,SAAS,CAQ9E;AAED;;GAEG;AACH,wBAAgB,wCAAwC,CACtD,OAAO,EAAE,yBAAyB,GACjC,yBAAyB,CAgC3B;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GACV,UAAU,CAC1D;AAED,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,gBAAgB,EAChE,MAAM,EAAE,CAAC,EAAE,GACV,sBAAsB,EAAE,CAa1B;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA0B/F;AAED,wBAAgB,8BAA8B,IAAI,OAAO,CAExD;AAED,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC7C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,0BAkB9C;AAED,gBAAgB;AAChB,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,wBAAwB;;;;;;;EAe7E"}
|
@@ -1,14 +1,7 @@
|
|
1
1
|
import LocalAudioTrack from './LocalAudioTrack';
|
2
2
|
import type LocalTrack from './LocalTrack';
|
3
3
|
import LocalVideoTrack from './LocalVideoTrack';
|
4
|
-
import { Track } from './Track';
|
5
4
|
import type { AudioCaptureOptions, CreateLocalTracksOptions, ScreenShareCaptureOptions, VideoCaptureOptions } from './options';
|
6
|
-
import type { AudioProcessorOptions, TrackProcessor, VideoProcessorOptions } from './processor/types';
|
7
|
-
/** @internal */
|
8
|
-
export declare function extractProcessorsFromOptions(options: CreateLocalTracksOptions): {
|
9
|
-
audioProcessor: TrackProcessor<Track.Kind.Audio, AudioProcessorOptions> | undefined;
|
10
|
-
videoProcessor: TrackProcessor<Track.Kind.Video, VideoProcessorOptions> | undefined;
|
11
|
-
};
|
12
5
|
/**
|
13
6
|
* Creates a local video and audio track at the same time. When acquiring both
|
14
7
|
* audio and video tracks together, it'll display a single permission prompt to
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { TrackPublishedResponse } from '@livekit/protocol';
|
2
|
+
import type { AudioProcessorOptions, TrackProcessor, VideoProcessorOptions } from '../..';
|
2
3
|
import { Track } from './Track';
|
3
4
|
import type { TrackPublication } from './TrackPublication';
|
4
5
|
import type { AudioCaptureOptions, CreateLocalTracksOptions, ScreenShareCaptureOptions, VideoCaptureOptions, VideoCodec } from './options';
|
@@ -31,4 +32,13 @@ export declare function getTrackPublicationInfo<T extends TrackPublication>(trac
|
|
31
32
|
export declare function getLogContextFromTrack(track: Track | TrackPublication): Record<string, unknown>;
|
32
33
|
export declare function supportsSynchronizationSources(): boolean;
|
33
34
|
export declare function diffAttributes(oldValues: Record<string, string> | undefined, newValues: Record<string, string> | undefined): Record<string, string>;
|
35
|
+
/** @internal */
|
36
|
+
export declare function extractProcessorsFromOptions(options: CreateLocalTracksOptions): {
|
37
|
+
audioProcessor: TrackProcessor<Track.Kind.Audio, AudioProcessorOptions> | undefined;
|
38
|
+
videoProcessor: TrackProcessor<Track.Kind.Video, VideoProcessorOptions> | undefined;
|
39
|
+
optionsWithoutProcessor: {
|
40
|
+
audio?: boolean | AudioCaptureOptions;
|
41
|
+
video?: boolean | VideoCaptureOptions;
|
42
|
+
};
|
43
|
+
};
|
34
44
|
//# sourceMappingURL=utils.d.ts.map
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "livekit-client",
|
3
|
-
"version": "2.7.
|
3
|
+
"version": "2.7.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",
|
@@ -37,7 +37,7 @@
|
|
37
37
|
"license": "Apache-2.0",
|
38
38
|
"dependencies": {
|
39
39
|
"@livekit/mutex": "1.0.0",
|
40
|
-
"@livekit/protocol": "1.
|
40
|
+
"@livekit/protocol": "1.29.3",
|
41
41
|
"events": "^3.3.0",
|
42
42
|
"loglevel": "^1.8.0",
|
43
43
|
"sdp-transform": "^2.14.1",
|
@@ -44,7 +44,6 @@ import LocalTrack from '../track/LocalTrack';
|
|
44
44
|
import LocalTrackPublication from '../track/LocalTrackPublication';
|
45
45
|
import LocalVideoTrack, { videoLayersFromEncodings } from '../track/LocalVideoTrack';
|
46
46
|
import { Track } from '../track/Track';
|
47
|
-
import { extractProcessorsFromOptions } from '../track/create';
|
48
47
|
import type {
|
49
48
|
AudioCaptureOptions,
|
50
49
|
BackupVideoCodec,
|
@@ -56,6 +55,7 @@ import type {
|
|
56
55
|
import { ScreenSharePresets, VideoPresets, isBackupCodec } from '../track/options';
|
57
56
|
import {
|
58
57
|
constraintsForOptions,
|
58
|
+
extractProcessorsFromOptions,
|
59
59
|
getLogContextFromTrack,
|
60
60
|
mergeDefaultOptions,
|
61
61
|
mimeTypeToVideoCodecString,
|
@@ -563,10 +563,11 @@ export default class LocalParticipant extends Participant {
|
|
563
563
|
*/
|
564
564
|
async createTracks(options?: CreateLocalTracksOptions): Promise<LocalTrack[]> {
|
565
565
|
options ??= {};
|
566
|
-
const { audioProcessor, videoProcessor } =
|
566
|
+
const { audioProcessor, videoProcessor, optionsWithoutProcessor } =
|
567
|
+
extractProcessorsFromOptions(options);
|
567
568
|
|
568
569
|
const mergedOptions = mergeDefaultOptions(
|
569
|
-
|
570
|
+
optionsWithoutProcessor,
|
570
571
|
this.roomOptions?.audioCaptureDefaults,
|
571
572
|
this.roomOptions?.videoCaptureDefaults,
|
572
573
|
);
|
@@ -2016,11 +2017,18 @@ export default class LocalParticipant extends Participant {
|
|
2016
2017
|
}
|
2017
2018
|
|
2018
2019
|
private async waitForPendingPublicationOfSource(source: Track.Source) {
|
2019
|
-
const
|
2020
|
-
|
2021
|
-
|
2022
|
-
|
2023
|
-
|
2020
|
+
const waitForPendingTimeout = 10_000;
|
2021
|
+
const startTime = Date.now();
|
2022
|
+
|
2023
|
+
while (Date.now() < startTime + waitForPendingTimeout) {
|
2024
|
+
const publishPromiseEntry = Array.from(this.pendingPublishPromises.entries()).find(
|
2025
|
+
([pendingTrack]) => pendingTrack.source === source,
|
2026
|
+
);
|
2027
|
+
if (publishPromiseEntry) {
|
2028
|
+
return publishPromiseEntry[1];
|
2029
|
+
}
|
2030
|
+
await sleep(20);
|
2024
2031
|
}
|
2032
|
+
throw new Error('waiting for pending publication promise timed out');
|
2025
2033
|
}
|
2026
2034
|
}
|
package/src/room/track/create.ts
CHANGED
@@ -14,32 +14,13 @@ import type {
|
|
14
14
|
VideoCaptureOptions,
|
15
15
|
} from './options';
|
16
16
|
import { ScreenSharePresets } from './options';
|
17
|
-
import type {
|
18
|
-
AudioProcessorOptions,
|
19
|
-
TrackProcessor,
|
20
|
-
VideoProcessorOptions,
|
21
|
-
} from './processor/types';
|
22
17
|
import {
|
23
18
|
constraintsForOptions,
|
19
|
+
extractProcessorsFromOptions,
|
24
20
|
mergeDefaultOptions,
|
25
21
|
screenCaptureToDisplayMediaStreamOptions,
|
26
22
|
} from './utils';
|
27
23
|
|
28
|
-
/** @internal */
|
29
|
-
export function extractProcessorsFromOptions(options: CreateLocalTracksOptions) {
|
30
|
-
let audioProcessor: TrackProcessor<Track.Kind.Audio, AudioProcessorOptions> | undefined;
|
31
|
-
let videoProcessor: TrackProcessor<Track.Kind.Video, VideoProcessorOptions> | undefined;
|
32
|
-
|
33
|
-
if (typeof options.audio === 'object' && options.audio.processor) {
|
34
|
-
audioProcessor = options.audio.processor;
|
35
|
-
}
|
36
|
-
if (typeof options.video === 'object' && options.video.processor) {
|
37
|
-
videoProcessor = options.video.processor;
|
38
|
-
}
|
39
|
-
|
40
|
-
return { audioProcessor, videoProcessor };
|
41
|
-
}
|
42
|
-
|
43
24
|
/**
|
44
25
|
* Creates a local video and audio track at the same time. When acquiring both
|
45
26
|
* audio and video tracks together, it'll display a single permission prompt to
|
package/src/room/track/utils.ts
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
import { TrackPublishedResponse } from '@livekit/protocol';
|
2
|
+
import type { AudioProcessorOptions, TrackProcessor, VideoProcessorOptions } from '../..';
|
2
3
|
import { cloneDeep } from '../../utils/cloneDeep';
|
3
4
|
import { isSafari, sleep } from '../utils';
|
4
5
|
import { Track } from './Track';
|
@@ -17,24 +18,33 @@ export function mergeDefaultOptions(
|
|
17
18
|
audioDefaults?: AudioCaptureOptions,
|
18
19
|
videoDefaults?: VideoCaptureOptions,
|
19
20
|
): CreateLocalTracksOptions {
|
20
|
-
const
|
21
|
-
|
22
|
-
|
21
|
+
const { optionsWithoutProcessor, audioProcessor, videoProcessor } = extractProcessorsFromOptions(
|
22
|
+
options ?? {},
|
23
|
+
);
|
24
|
+
const clonedOptions: CreateLocalTracksOptions = cloneDeep(optionsWithoutProcessor) ?? {};
|
25
|
+
if (clonedOptions.audio === true) clonedOptions.audio = {};
|
26
|
+
if (clonedOptions.video === true) clonedOptions.video = {};
|
23
27
|
|
24
28
|
// use defaults
|
25
|
-
if (
|
29
|
+
if (clonedOptions.audio) {
|
26
30
|
mergeObjectWithoutOverwriting(
|
27
|
-
|
31
|
+
clonedOptions.audio as Record<string, unknown>,
|
28
32
|
audioDefaults as Record<string, unknown>,
|
29
33
|
);
|
34
|
+
if (audioProcessor) {
|
35
|
+
clonedOptions.audio.processor = audioProcessor;
|
36
|
+
}
|
30
37
|
}
|
31
|
-
if (
|
38
|
+
if (clonedOptions.video) {
|
32
39
|
mergeObjectWithoutOverwriting(
|
33
|
-
|
40
|
+
clonedOptions.video as Record<string, unknown>,
|
34
41
|
videoDefaults as Record<string, unknown>,
|
35
42
|
);
|
43
|
+
if (videoProcessor) {
|
44
|
+
clonedOptions.video.processor = videoProcessor;
|
45
|
+
}
|
36
46
|
}
|
37
|
-
return
|
47
|
+
return clonedOptions;
|
38
48
|
}
|
39
49
|
|
40
50
|
function mergeObjectWithoutOverwriting(
|
@@ -260,3 +270,21 @@ export function diffAttributes(
|
|
260
270
|
|
261
271
|
return diff;
|
262
272
|
}
|
273
|
+
|
274
|
+
/** @internal */
|
275
|
+
export function extractProcessorsFromOptions(options: CreateLocalTracksOptions) {
|
276
|
+
const newOptions = { ...options };
|
277
|
+
let audioProcessor: TrackProcessor<Track.Kind.Audio, AudioProcessorOptions> | undefined;
|
278
|
+
let videoProcessor: TrackProcessor<Track.Kind.Video, VideoProcessorOptions> | undefined;
|
279
|
+
|
280
|
+
if (typeof newOptions.audio === 'object' && newOptions.audio.processor) {
|
281
|
+
audioProcessor = newOptions.audio.processor;
|
282
|
+
newOptions.audio.processor = undefined;
|
283
|
+
}
|
284
|
+
if (typeof newOptions.video === 'object' && newOptions.video.processor) {
|
285
|
+
videoProcessor = newOptions.video.processor;
|
286
|
+
newOptions.video.processor = undefined;
|
287
|
+
}
|
288
|
+
|
289
|
+
return { audioProcessor, videoProcessor, optionsWithoutProcessor: newOptions };
|
290
|
+
}
|