livekit-client 2.22.3 → 2.23.0
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 +35 -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 +71 -8
- package/dist/livekit-client.e2ee.worker.mjs.map +1 -1
- package/dist/livekit-client.esm.mjs +1746 -547
- 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 +2 -1
- 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 +4 -2
- package/dist/src/api/SignalClient.d.ts.map +1 -1
- package/dist/src/api/WebSocketStream.d.ts +1 -0
- package/dist/src/api/WebSocketStream.d.ts.map +1 -1
- package/dist/src/api/utils.d.ts +1 -1
- package/dist/src/api/utils.d.ts.map +1 -1
- package/dist/src/e2ee/E2eeManager.d.ts.map +1 -1
- package/dist/src/e2ee/worker/FrameCryptor.d.ts.map +1 -1
- package/dist/src/e2ee/worker/naluUtils.d.ts +12 -1
- package/dist/src/e2ee/worker/naluUtils.d.ts.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/options.d.ts +14 -0
- package/dist/src/options.d.ts.map +1 -1
- package/dist/src/room/DefaultReconnectPolicy.d.ts.map +1 -1
- package/dist/src/room/PCTransport.d.ts +100 -7
- 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 +16 -0
- package/dist/src/room/RTCEngine.d.ts.map +1 -1
- package/dist/src/room/Room.d.ts +54 -1
- package/dist/src/room/Room.d.ts.map +1 -1
- package/dist/src/room/data-channel/DataChannelManager.d.ts +9 -8
- package/dist/src/room/data-channel/DataChannelManager.d.ts.map +1 -1
- package/dist/src/room/data-channel/FlowControlledDataChannel.d.ts +25 -12
- package/dist/src/room/data-channel/FlowControlledDataChannel.d.ts.map +1 -1
- package/dist/src/room/data-channel/LossyDataChannel.d.ts.map +1 -1
- package/dist/src/room/data-channel/ReliableDataChannel.d.ts.map +1 -1
- package/dist/src/room/data-stream/incoming/IncomingDataStreamManager.d.ts.map +1 -1
- package/dist/src/room/defaults.d.ts.map +1 -1
- package/dist/src/room/errors.d.ts +18 -0
- package/dist/src/room/errors.d.ts.map +1 -1
- package/dist/src/room/events.d.ts +3 -2
- package/dist/src/room/events.d.ts.map +1 -1
- package/dist/src/room/participant/LocalParticipant.d.ts +4 -0
- package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
- package/dist/src/room/participant/Participant.d.ts +1 -1
- package/dist/src/room/participant/Participant.d.ts.map +1 -1
- package/dist/src/room/participant/publishUtils.d.ts.map +1 -1
- package/dist/src/room/rpc/client/RpcClientManager.d.ts.map +1 -1
- package/dist/src/room/rpc/utils.d.ts.map +1 -1
- package/dist/src/room/track/LocalAudioTrack.d.ts +24 -1
- package/dist/src/room/track/LocalAudioTrack.d.ts.map +1 -1
- package/dist/src/room/track/LocalTrack.d.ts +18 -0
- package/dist/src/room/track/LocalTrack.d.ts.map +1 -1
- package/dist/src/room/track/LocalVideoTrack.d.ts +9 -0
- package/dist/src/room/track/LocalVideoTrack.d.ts.map +1 -1
- package/dist/src/room/track/RemoteAudioTrack.d.ts +6 -0
- package/dist/src/room/track/RemoteAudioTrack.d.ts.map +1 -1
- package/dist/src/room/track/processor/types.d.ts +11 -0
- package/dist/src/room/track/processor/types.d.ts.map +1 -1
- package/dist/src/room/track/utils.d.ts +13 -0
- package/dist/src/room/track/utils.d.ts.map +1 -1
- package/dist/src/room/utils.d.ts +60 -1
- package/dist/src/room/utils.d.ts.map +1 -1
- package/dist/src/test/compressionStreamStubs.d.ts +12 -0
- package/dist/src/test/compressionStreamStubs.d.ts.map +1 -0
- package/dist/ts4.2/api/SignalClient.d.ts +187 -185
- package/dist/ts4.2/api/SignalClientStateMachine.d.ts +85 -85
- package/dist/ts4.2/api/WebSocketStream.d.ts +34 -33
- package/dist/ts4.2/api/utils.d.ts +9 -9
- package/dist/ts4.2/connectionHelper/ConnectionCheck.d.ts +30 -30
- package/dist/ts4.2/connectionHelper/checks/Checker.d.ts +62 -62
- package/dist/ts4.2/connectionHelper/checks/cloudRegion.d.ts +18 -18
- package/dist/ts4.2/connectionHelper/checks/connectionProtocol.d.ts +20 -20
- package/dist/ts4.2/connectionHelper/checks/publishAudio.d.ts +6 -6
- package/dist/ts4.2/connectionHelper/checks/publishVideo.d.ts +7 -7
- package/dist/ts4.2/connectionHelper/checks/reconnect.d.ts +6 -6
- package/dist/ts4.2/connectionHelper/checks/turn.d.ts +6 -6
- package/dist/ts4.2/connectionHelper/checks/webrtc.d.ts +6 -6
- package/dist/ts4.2/connectionHelper/checks/websocket.d.ts +6 -6
- package/dist/ts4.2/e2ee/E2eeManager.d.ts +111 -111
- package/dist/ts4.2/e2ee/KeyProvider.d.ts +54 -54
- package/dist/ts4.2/e2ee/constants.d.ts +21 -21
- package/dist/ts4.2/e2ee/errors.d.ts +12 -12
- package/dist/ts4.2/e2ee/events.d.ts +39 -39
- package/dist/ts4.2/e2ee/index.d.ts +6 -6
- package/dist/ts4.2/e2ee/types.d.ts +231 -231
- package/dist/ts4.2/e2ee/utils.d.ts +32 -32
- package/dist/ts4.2/e2ee/worker/DataCryptor.d.ts +16 -16
- package/dist/ts4.2/e2ee/worker/ErrorRateLimiter.d.ts +21 -21
- package/dist/ts4.2/e2ee/worker/FrameCryptor.d.ts +209 -209
- package/dist/ts4.2/e2ee/worker/ParticipantKeyHandler.d.ts +81 -84
- package/dist/ts4.2/e2ee/worker/e2ee.worker.d.ts +2 -2
- package/dist/ts4.2/e2ee/worker/naluUtils.d.ts +39 -28
- package/dist/ts4.2/e2ee/worker/sifPayload.d.ts +23 -23
- package/dist/ts4.2/frameMetadata/FrameMetadataManager.d.ts +53 -53
- package/dist/ts4.2/frameMetadata/frameMetadata.d.ts +33 -33
- package/dist/ts4.2/frameMetadata/types.d.ts +62 -62
- package/dist/ts4.2/frameMetadata/utils.d.ts +9 -9
- package/dist/ts4.2/frameMetadata/worker/frameMetadata.worker.d.ts +2 -2
- package/dist/ts4.2/index.d.ts +76 -76
- package/dist/ts4.2/logger.d.ts +66 -66
- package/dist/ts4.2/options.d.ts +163 -149
- package/dist/ts4.2/room/BackOffStrategy.d.ts +27 -27
- package/dist/ts4.2/room/DefaultReconnectPolicy.d.ts +8 -8
- package/dist/ts4.2/room/DeviceManager.d.ts +12 -12
- package/dist/ts4.2/room/PCTransport.d.ts +268 -175
- package/dist/ts4.2/room/PCTransportManager.d.ts +77 -77
- package/dist/ts4.2/room/RTCEngine.d.ts +277 -262
- package/dist/ts4.2/room/ReconnectPolicy.d.ts +24 -24
- package/dist/ts4.2/room/RegionUrlProvider.d.ts +36 -36
- package/dist/ts4.2/room/Room.d.ts +407 -365
- package/dist/ts4.2/room/attribute-typings.d.ts +35 -35
- package/dist/ts4.2/room/data-channel/DataChannelManager.d.ts +63 -62
- package/dist/ts4.2/room/data-channel/FlowControlledDataChannel.d.ts +107 -95
- package/dist/ts4.2/room/data-channel/LossyDataChannel.d.ts +41 -41
- package/dist/ts4.2/room/data-channel/ReliableDataChannel.d.ts +57 -57
- package/dist/ts4.2/room/data-channel/types.d.ts +12 -12
- package/dist/ts4.2/room/data-stream/compression.d.ts +49 -49
- package/dist/ts4.2/room/data-stream/constants.d.ts +18 -18
- package/dist/ts4.2/room/data-stream/incoming/IncomingDataStreamManager.d.ts +29 -29
- package/dist/ts4.2/room/data-stream/incoming/StreamReader.d.ts +80 -80
- package/dist/ts4.2/room/data-stream/outgoing/OutgoingDataStreamManager.d.ts +73 -73
- package/dist/ts4.2/room/data-stream/outgoing/StreamWriter.d.ts +16 -16
- package/dist/ts4.2/room/data-stream/outgoing/header-utils.d.ts +18 -18
- package/dist/ts4.2/room/data-track/LocalDataTrack.d.ts +79 -80
- package/dist/ts4.2/room/data-track/RemoteDataTrack.d.ts +50 -50
- package/dist/ts4.2/room/data-track/depacketizer.d.ts +59 -59
- package/dist/ts4.2/room/data-track/frame.d.ts +22 -22
- package/dist/ts4.2/room/data-track/handle.d.ts +27 -27
- package/dist/ts4.2/room/data-track/incoming/IncomingDataTrackManager.d.ts +124 -124
- package/dist/ts4.2/room/data-track/incoming/errors.d.ts +24 -24
- package/dist/ts4.2/room/data-track/incoming/pipeline.d.ts +41 -41
- package/dist/ts4.2/room/data-track/incoming/types.d.ts +20 -20
- package/dist/ts4.2/room/data-track/outgoing/OutgoingDataTrackManager.d.ts +126 -126
- package/dist/ts4.2/room/data-track/outgoing/errors.d.ts +74 -74
- package/dist/ts4.2/room/data-track/outgoing/pipeline.d.ts +23 -23
- package/dist/ts4.2/room/data-track/outgoing/types.d.ts +48 -48
- package/dist/ts4.2/room/data-track/packet/constants.d.ts +20 -20
- package/dist/ts4.2/room/data-track/packet/errors.d.ts +40 -40
- package/dist/ts4.2/room/data-track/packet/extensions.d.ts +69 -69
- package/dist/ts4.2/room/data-track/packet/index.d.ts +98 -98
- package/dist/ts4.2/room/data-track/packet/serializable.d.ts +13 -13
- package/dist/ts4.2/room/data-track/packetizer.d.ts +43 -43
- package/dist/ts4.2/room/data-track/track-interfaces.d.ts +23 -23
- package/dist/ts4.2/room/data-track/types.d.ts +22 -22
- package/dist/ts4.2/room/data-track/utils.d.ts +60 -60
- package/dist/ts4.2/room/debounce.d.ts +11 -11
- package/dist/ts4.2/room/defaults.d.ts +9 -9
- package/dist/ts4.2/room/errors.d.ts +180 -162
- package/dist/ts4.2/room/events.d.ts +638 -637
- package/dist/ts4.2/room/participant/LocalParticipant.d.ts +291 -287
- package/dist/ts4.2/room/participant/Participant.d.ts +142 -144
- package/dist/ts4.2/room/participant/ParticipantTrackPermission.d.ts +26 -26
- package/dist/ts4.2/room/participant/RemoteParticipant.d.ts +85 -86
- package/dist/ts4.2/room/participant/publishUtils.d.ts +53 -53
- package/dist/ts4.2/room/rpc/client/RpcClientManager.d.ts +43 -43
- package/dist/ts4.2/room/rpc/client/events.d.ts +8 -8
- package/dist/ts4.2/room/rpc/index.d.ts +7 -7
- package/dist/ts4.2/room/rpc/server/RpcServerManager.d.ts +44 -44
- package/dist/ts4.2/room/rpc/server/events.d.ts +8 -8
- package/dist/ts4.2/room/rpc/utils.d.ts +131 -131
- package/dist/ts4.2/room/stats.d.ts +71 -71
- package/dist/ts4.2/room/statsSummary.d.ts +13 -13
- package/dist/ts4.2/room/timers.d.ts +12 -12
- package/dist/ts4.2/room/token-source/TokenSource.d.ts +82 -82
- package/dist/ts4.2/room/token-source/types.d.ts +70 -70
- package/dist/ts4.2/room/token-source/utils.d.ts +8 -8
- package/dist/ts4.2/room/track/FrameMetadataExtractor.d.ts +19 -19
- package/dist/ts4.2/room/track/LocalAudioTrack.d.ts +62 -42
- package/dist/ts4.2/room/track/LocalTrack.d.ts +143 -125
- package/dist/ts4.2/room/track/LocalTrackPublication.d.ts +42 -42
- package/dist/ts4.2/room/track/LocalVideoTrack.d.ts +109 -100
- package/dist/ts4.2/room/track/RemoteAudioTrack.d.ts +61 -55
- package/dist/ts4.2/room/track/RemoteTrack.d.ts +38 -38
- package/dist/ts4.2/room/track/RemoteTrackPublication.d.ts +72 -75
- package/dist/ts4.2/room/track/RemoteVideoTrack.d.ts +73 -76
- package/dist/ts4.2/room/track/Track.d.ts +156 -166
- package/dist/ts4.2/room/track/TrackPublication.d.ts +75 -81
- package/dist/ts4.2/room/track/create.d.ts +25 -25
- package/dist/ts4.2/room/track/facingMode.d.ts +41 -41
- package/dist/ts4.2/room/track/options.d.ts +403 -403
- package/dist/ts4.2/room/track/processor/types.d.ts +42 -31
- package/dist/ts4.2/room/track/record.d.ts +13 -13
- package/dist/ts4.2/room/track/types.d.ts +28 -28
- package/dist/ts4.2/room/track/utils.d.ts +60 -47
- package/dist/ts4.2/room/types.d.ts +127 -127
- package/dist/ts4.2/room/utils.d.ts +273 -214
- package/dist/ts4.2/test/MockMediaStreamTrack.d.ts +26 -26
- package/dist/ts4.2/test/compressionStreamStubs.d.ts +12 -0
- package/dist/ts4.2/test/mocks.d.ts +12 -12
- package/dist/ts4.2/test/promiseState.d.ts +12 -12
- package/dist/ts4.2/test/signalToken.d.ts +26 -26
- package/dist/ts4.2/type-polyfills/non-shared-typed-arrays.d.ts +2 -2
- package/dist/ts4.2/utils/AsyncQueue.d.ts +23 -23
- package/dist/ts4.2/utils/TypedPromise.d.ts +17 -17
- package/dist/ts4.2/utils/abort-signal-polyfill.d.ts +13 -13
- package/dist/ts4.2/utils/browserParser.d.ts +13 -13
- package/dist/ts4.2/utils/camelToSnakeCase.d.ts +8 -8
- package/dist/ts4.2/utils/cloneDeep.d.ts +2 -2
- package/dist/ts4.2/utils/dataPacketBuffer.d.ts +34 -34
- package/dist/ts4.2/utils/deferrable-map.d.ts +32 -32
- package/dist/ts4.2/utils/machineInspector.d.ts +54 -54
- package/dist/ts4.2/utils/serializer.d.ts +48 -48
- package/dist/ts4.2/utils/subscribeToEvents.d.ts +15 -15
- package/dist/ts4.2/utils/ttlmap.d.ts +20 -20
- package/dist/ts4.2/version.d.ts +15 -15
- package/package.json +5 -4
- package/src/api/SignalClient.e2e.test.ts +1 -3
- package/src/api/SignalClient.test.ts +394 -10
- package/src/api/SignalClient.ts +132 -76
- package/src/api/WebSocketStream.test.ts +11 -0
- package/src/api/WebSocketStream.ts +22 -1
- package/src/api/utils.ts +1 -1
- package/src/e2ee/E2eeManager.test.ts +43 -0
- package/src/e2ee/E2eeManager.ts +6 -2
- package/src/e2ee/worker/FrameCryptor.test.ts +212 -90
- package/src/e2ee/worker/FrameCryptor.ts +21 -4
- package/src/e2ee/worker/naluUtils.test.ts +123 -0
- package/src/e2ee/worker/naluUtils.ts +57 -2
- package/src/index.ts +2 -0
- package/src/options.ts +16 -0
- package/src/room/DefaultReconnectPolicy.test.ts +58 -0
- package/src/room/DefaultReconnectPolicy.ts +14 -2
- package/src/room/PCTransport.test.ts +327 -9
- package/src/room/PCTransport.ts +339 -36
- package/src/room/PCTransportManager.ts +3 -1
- package/src/room/RTCEngine.test.ts +318 -2
- package/src/room/RTCEngine.ts +126 -12
- package/src/room/Room.test.ts +148 -6
- package/src/room/Room.ts +312 -80
- package/src/room/data-channel/DataChannelManager.test.ts +24 -7
- package/src/room/data-channel/DataChannelManager.ts +43 -38
- package/src/room/data-channel/FlowControlledDataChannel.test.ts +60 -18
- package/src/room/data-channel/FlowControlledDataChannel.ts +40 -22
- package/src/room/data-channel/LossyDataChannel.test.ts +38 -0
- package/src/room/data-channel/LossyDataChannel.ts +10 -1
- package/src/room/data-channel/ReliableDataChannel.test.ts +72 -0
- package/src/room/data-channel/ReliableDataChannel.ts +16 -5
- package/src/room/data-stream/incoming/IncomingDataStreamManager.test.ts +47 -20
- package/src/room/data-stream/incoming/IncomingDataStreamManager.ts +16 -5
- package/src/room/data-stream/outgoing/OutgoingDataStreamManager.test.ts +60 -39
- package/src/room/data-stream/outgoing/OutgoingDataStreamManager.ts +4 -4
- package/src/room/defaults.ts +1 -0
- package/src/room/errors.test.ts +36 -0
- package/src/room/errors.ts +27 -0
- package/src/room/events.ts +2 -1
- package/src/room/participant/LocalParticipant.test.ts +136 -1
- package/src/room/participant/LocalParticipant.ts +66 -17
- package/src/room/participant/Participant.ts +6 -3
- package/src/room/participant/publishUtils.ts +0 -19
- package/src/room/participant/restartOnDefaultAudioDevice.test.ts +177 -0
- package/src/room/rpc/client/RpcClientManager.test.ts +51 -0
- package/src/room/rpc/client/RpcClientManager.ts +32 -15
- package/src/room/rpc/utils.test.ts +32 -0
- package/src/room/rpc/utils.ts +7 -0
- package/src/room/track/LocalAudioTrack.ts +101 -10
- package/src/room/track/LocalTrack.ts +87 -19
- package/src/room/track/LocalVideoTrack.ts +17 -3
- package/src/room/track/RemoteAudioTrack.ts +59 -14
- package/src/room/track/RemoteVideoTrack.test.ts +210 -0
- package/src/room/track/RemoteVideoTrack.ts +29 -3
- package/src/room/track/processor/types.ts +11 -0
- package/src/room/track/utils.test.ts +206 -2
- package/src/room/track/utils.ts +117 -5
- package/src/room/utils.test.ts +250 -0
- package/src/room/utils.ts +152 -19
- package/src/test/compressionStreamStubs.ts +53 -0
|
@@ -1,125 +1,143 @@
|
|
|
1
|
-
import { Mutex } from '@livekit/mutex';
|
|
2
|
-
import type { LoggerOptions } from '../types';
|
|
3
|
-
import { Track } from './Track';
|
|
4
|
-
import type { VideoCodec } from './options';
|
|
5
|
-
import type { TrackProcessor } from './processor/types';
|
|
6
|
-
import { LocalTrackRecorder } from './record';
|
|
7
|
-
import type { ReplaceTrackOptions } from './types';
|
|
8
|
-
export default abstract class LocalTrack<TrackKind extends Track.Kind = Track.Kind> extends Track<TrackKind> {
|
|
9
|
-
protected _sender?: RTCRtpSender;
|
|
10
|
-
private autoStopPreConnectBuffer;
|
|
11
|
-
/** @internal */
|
|
12
|
-
get sender(): RTCRtpSender | undefined;
|
|
13
|
-
/** @internal */
|
|
14
|
-
set sender(sender: RTCRtpSender | undefined);
|
|
15
|
-
/** @internal */
|
|
16
|
-
codec?: VideoCodec;
|
|
17
|
-
get constraints(): MediaTrackConstraints;
|
|
18
|
-
get hasPreConnectBuffer(): boolean;
|
|
19
|
-
protected _constraints: MediaTrackConstraints;
|
|
20
|
-
protected reacquireTrack: boolean;
|
|
21
|
-
protected providedByUser: boolean;
|
|
22
|
-
protected muteLock: Mutex;
|
|
23
|
-
protected pauseUpstreamLock: Mutex;
|
|
24
|
-
protected processorElement?: HTMLMediaElement;
|
|
25
|
-
protected processor?: TrackProcessor<TrackKind, any>;
|
|
26
|
-
protected audioContext?: AudioContext;
|
|
27
|
-
protected manuallyStopped: boolean;
|
|
28
|
-
protected localTrackRecorder: LocalTrackRecorder<typeof this> | undefined;
|
|
29
|
-
protected trackChangeLock: Mutex;
|
|
30
|
-
protected pendingDeviceChange: boolean;
|
|
31
|
-
/**
|
|
32
|
-
*
|
|
33
|
-
* @param mediaTrack
|
|
34
|
-
* @param kind
|
|
35
|
-
* @param constraints MediaTrackConstraints that are being used when restarting or reacquiring tracks
|
|
36
|
-
* @param userProvidedTrack Signals to the SDK whether or not the mediaTrack should be managed (i.e. released and reacquired) internally by the SDK
|
|
37
|
-
*/
|
|
38
|
-
protected constructor(mediaTrack: MediaStreamTrack, kind: TrackKind, constraints?: MediaTrackConstraints, userProvidedTrack?: boolean, loggerOptions?: LoggerOptions);
|
|
39
|
-
get id(): string;
|
|
40
|
-
get dimensions(): Track.Dimensions | undefined;
|
|
41
|
-
private _isUpstreamPaused;
|
|
42
|
-
get isUpstreamPaused(): boolean;
|
|
43
|
-
get isUserProvided(): boolean;
|
|
44
|
-
get
|
|
45
|
-
get
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
*
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
*
|
|
57
|
-
*/
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
*
|
|
96
|
-
* See https://
|
|
97
|
-
*
|
|
98
|
-
* @
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
*
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
* @
|
|
112
|
-
*
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
1
|
+
import { Mutex } from '@livekit/mutex';
|
|
2
|
+
import type { LoggerOptions } from '../types';
|
|
3
|
+
import { Track } from './Track';
|
|
4
|
+
import type { VideoCodec } from './options';
|
|
5
|
+
import type { TrackProcessor } from './processor/types';
|
|
6
|
+
import { LocalTrackRecorder } from './record';
|
|
7
|
+
import type { ReplaceTrackOptions } from './types';
|
|
8
|
+
export default abstract class LocalTrack<TrackKind extends Track.Kind = Track.Kind> extends Track<TrackKind> {
|
|
9
|
+
protected _sender?: RTCRtpSender;
|
|
10
|
+
private autoStopPreConnectBuffer;
|
|
11
|
+
/** @internal */
|
|
12
|
+
get sender(): RTCRtpSender | undefined;
|
|
13
|
+
/** @internal */
|
|
14
|
+
set sender(sender: RTCRtpSender | undefined);
|
|
15
|
+
/** @internal */
|
|
16
|
+
codec?: VideoCodec;
|
|
17
|
+
get constraints(): MediaTrackConstraints;
|
|
18
|
+
get hasPreConnectBuffer(): boolean;
|
|
19
|
+
protected _constraints: MediaTrackConstraints;
|
|
20
|
+
protected reacquireTrack: boolean;
|
|
21
|
+
protected providedByUser: boolean;
|
|
22
|
+
protected muteLock: Mutex;
|
|
23
|
+
protected pauseUpstreamLock: Mutex;
|
|
24
|
+
protected processorElement?: HTMLMediaElement;
|
|
25
|
+
protected processor?: TrackProcessor<TrackKind, any>;
|
|
26
|
+
protected audioContext?: AudioContext;
|
|
27
|
+
protected manuallyStopped: boolean;
|
|
28
|
+
protected localTrackRecorder: LocalTrackRecorder<typeof this> | undefined;
|
|
29
|
+
protected trackChangeLock: Mutex;
|
|
30
|
+
protected pendingDeviceChange: boolean;
|
|
31
|
+
/**
|
|
32
|
+
*
|
|
33
|
+
* @param mediaTrack
|
|
34
|
+
* @param kind
|
|
35
|
+
* @param constraints MediaTrackConstraints that are being used when restarting or reacquiring tracks
|
|
36
|
+
* @param userProvidedTrack Signals to the SDK whether or not the mediaTrack should be managed (i.e. released and reacquired) internally by the SDK
|
|
37
|
+
*/
|
|
38
|
+
protected constructor(mediaTrack: MediaStreamTrack, kind: TrackKind, constraints?: MediaTrackConstraints, userProvidedTrack?: boolean, loggerOptions?: LoggerOptions);
|
|
39
|
+
get id(): string;
|
|
40
|
+
get dimensions(): (Track.Dimensions | undefined);
|
|
41
|
+
private _isUpstreamPaused;
|
|
42
|
+
get isUpstreamPaused(): boolean;
|
|
43
|
+
get isUserProvided(): boolean;
|
|
44
|
+
get isStopped(): boolean;
|
|
45
|
+
get mediaStreamTrack(): MediaStreamTrack;
|
|
46
|
+
get isLocal(): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* @internal
|
|
49
|
+
* returns mediaStreamTrack settings of the capturing mediastreamtrack source - ignoring processors
|
|
50
|
+
*/
|
|
51
|
+
getSourceTrackSettings(): MediaTrackSettings;
|
|
52
|
+
private setMediaStreamTrack;
|
|
53
|
+
/**
|
|
54
|
+
* Hook invoked after the underlying MediaStreamTrack has been swapped and the processor has
|
|
55
|
+
* been restarted around it, so `processor.processedTrack` already holds the new track.
|
|
56
|
+
* Unlike `onSenderTrackSwapped` this also fires on the restart and unmute paths.
|
|
57
|
+
*/
|
|
58
|
+
protected onMediaStreamTrackChanged(): Promise<void>;
|
|
59
|
+
waitForDimensions(timeout?: number): Promise<Track.Dimensions>;
|
|
60
|
+
setDeviceId(deviceId: ConstrainDOMString): Promise<boolean>;
|
|
61
|
+
abstract restartTrack(constraints?: unknown): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* @returns DeviceID of the device that is currently being used for this track
|
|
64
|
+
*/
|
|
65
|
+
getDeviceId(normalize?: boolean): Promise<string | undefined>;
|
|
66
|
+
mute(): Promise<this>;
|
|
67
|
+
unmute(): Promise<this>;
|
|
68
|
+
replaceTrack(track: MediaStreamTrack, options?: ReplaceTrackOptions): Promise<typeof this>;
|
|
69
|
+
replaceTrack(track: MediaStreamTrack, userProvidedTrack?: boolean): Promise<typeof this>;
|
|
70
|
+
/**
|
|
71
|
+
* Hook invoked after the MediaStreamTrack on the sender has been swapped
|
|
72
|
+
* (via replaceTrack, setProcessor, or stopProcessor). Fires outside the
|
|
73
|
+
* trackChangeLock so subclasses can do asynchronous work such as polling
|
|
74
|
+
* for new dimensions without blocking other track operations.
|
|
75
|
+
*/
|
|
76
|
+
protected onSenderTrackSwapped(): Promise<void>;
|
|
77
|
+
protected restart(constraints?: MediaTrackConstraints, isUnmuting?: boolean): Promise<this>;
|
|
78
|
+
protected setTrackMuted(muted: boolean): void;
|
|
79
|
+
protected get needsReAcquisition(): boolean;
|
|
80
|
+
protected handleAppVisibilityChanged(): Promise<void>;
|
|
81
|
+
private handleTrackMuteEvent;
|
|
82
|
+
private debouncedTrackMuteHandler;
|
|
83
|
+
private handleTrackUnmuteEvent;
|
|
84
|
+
private handleEnded;
|
|
85
|
+
stop(): void;
|
|
86
|
+
/**
|
|
87
|
+
* pauses publishing to the server without disabling the local MediaStreamTrack
|
|
88
|
+
* this is used to display a user's own video locally while pausing publishing to
|
|
89
|
+
* the server.
|
|
90
|
+
* this API is unsupported on Safari < 12 due to a bug
|
|
91
|
+
**/
|
|
92
|
+
pauseUpstream(): Promise<void>;
|
|
93
|
+
resumeUpstream(): Promise<void>;
|
|
94
|
+
/**
|
|
95
|
+
* Gets the RTCStatsReport for the LocalTrack's underlying RTCRtpSender
|
|
96
|
+
* See https://developer.mozilla.org/en-US/docs/Web/API/RTCStatsReport
|
|
97
|
+
*
|
|
98
|
+
* @returns Promise<RTCStatsReport> | undefined
|
|
99
|
+
*/
|
|
100
|
+
getRTCStatsReport(): Promise<RTCStatsReport | undefined>;
|
|
101
|
+
/**
|
|
102
|
+
* Sets a processor on this track.
|
|
103
|
+
* See https://github.com/livekit/track-processors-js for example usage
|
|
104
|
+
*
|
|
105
|
+
* The processor lives on the track, so stopping the track destroys it. Unpublishing and
|
|
106
|
+
* disconnecting both stop the track by default, which means a processor has to be set again on
|
|
107
|
+
* the track published after a reconnect. See {@link TrackProcessor} for the full lifecycle,
|
|
108
|
+
* including what `stopLocalTrackOnUnpublish: false` changes.
|
|
109
|
+
*
|
|
110
|
+
* @param processor
|
|
111
|
+
* @param showProcessedStreamLocally
|
|
112
|
+
* @returns
|
|
113
|
+
*/
|
|
114
|
+
setProcessor(processor: TrackProcessor<TrackKind>, showProcessedStreamLocally?: boolean): Promise<void>;
|
|
115
|
+
/**
|
|
116
|
+
* Returns the processor currently set on this track, or `undefined` if there is none. A track
|
|
117
|
+
* that was stopped by an unpublish or a disconnect has none. See {@link TrackProcessor}.
|
|
118
|
+
*/
|
|
119
|
+
getProcessor(): TrackProcessor<TrackKind, any> | undefined;
|
|
120
|
+
/**
|
|
121
|
+
* Stops the track processor
|
|
122
|
+
* See https://github.com/livekit/track-processors-js for example usage
|
|
123
|
+
*
|
|
124
|
+
* Only needed to remove a processor from a track that stays published. Unpublishing or
|
|
125
|
+
* disconnecting already destroys it. See {@link TrackProcessor}.
|
|
126
|
+
*/
|
|
127
|
+
stopProcessor(keepElement?: boolean): Promise<void>;
|
|
128
|
+
/**
|
|
129
|
+
* @internal
|
|
130
|
+
* This method assumes the caller has acquired a trackChangeLock already.
|
|
131
|
+
* The public facing method for stopping the processor is `stopProcessor` and it wraps this method in the trackChangeLock.
|
|
132
|
+
*/
|
|
133
|
+
protected internalStopProcessor(keepElement?: boolean): Promise<void>;
|
|
134
|
+
/** @internal */
|
|
135
|
+
startPreConnectBuffer(timeslice?: number): void;
|
|
136
|
+
/** @internal */
|
|
137
|
+
stopPreConnectBuffer(): void;
|
|
138
|
+
/** @internal */
|
|
139
|
+
getPreConnectBuffer(): ReadableStream<Uint8Array> | undefined;
|
|
140
|
+
getPreConnectBufferMimeType(): string | undefined;
|
|
141
|
+
protected abstract monitorSender(): void;
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=LocalTrack.d.ts.map
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
import { AudioTrackFeature, TrackInfo } from '@livekit/protocol';
|
|
2
|
-
import type { LoggerOptions } from '../types';
|
|
3
|
-
import LocalAudioTrack from './LocalAudioTrack';
|
|
4
|
-
import type LocalTrack from './LocalTrack';
|
|
5
|
-
import type LocalVideoTrack from './LocalVideoTrack';
|
|
6
|
-
import type { Track } from './Track';
|
|
7
|
-
import { TrackPublication } from './TrackPublication';
|
|
8
|
-
import type { TrackPublishOptions } from './options';
|
|
9
|
-
export default class LocalTrackPublication extends TrackPublication {
|
|
10
|
-
track?: LocalTrack;
|
|
11
|
-
options?: TrackPublishOptions;
|
|
12
|
-
get isUpstreamPaused(): boolean | undefined;
|
|
13
|
-
constructor(kind: Track.Kind, ti: TrackInfo, track?: LocalTrack, loggerOptions?: LoggerOptions);
|
|
14
|
-
setTrack(track?: Track): void;
|
|
15
|
-
get isMuted(): boolean;
|
|
16
|
-
get audioTrack(): LocalAudioTrack | undefined;
|
|
17
|
-
get videoTrack(): LocalVideoTrack | undefined;
|
|
18
|
-
get isLocal(): boolean;
|
|
19
|
-
/**
|
|
20
|
-
* Mute the track associated with this publication
|
|
21
|
-
*/
|
|
22
|
-
mute(): Promise<LocalTrack<Track.Kind> | undefined>;
|
|
23
|
-
/**
|
|
24
|
-
* Unmute track associated with this publication
|
|
25
|
-
*/
|
|
26
|
-
unmute(): Promise<LocalTrack<Track.Kind> | undefined>;
|
|
27
|
-
/**
|
|
28
|
-
* Pauses the media stream track associated with this publication from being sent to the server
|
|
29
|
-
* and signals "muted" event to other participants
|
|
30
|
-
* Useful if you want to pause the stream without pausing the local media stream track
|
|
31
|
-
*/
|
|
32
|
-
pauseUpstream(): Promise<void>;
|
|
33
|
-
/**
|
|
34
|
-
* Resumes sending the media stream track associated with this publication to the server after a call to [[pauseUpstream()]]
|
|
35
|
-
* and signals "unmuted" event to other participants (unless the track is explicitly muted)
|
|
36
|
-
*/
|
|
37
|
-
resumeUpstream(): Promise<void>;
|
|
38
|
-
getTrackFeatures(): AudioTrackFeature[];
|
|
39
|
-
handleTrackEnded: () => void;
|
|
40
|
-
private handleCpuConstrained;
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=LocalTrackPublication.d.ts.map
|
|
1
|
+
import { AudioTrackFeature, TrackInfo } from '@livekit/protocol';
|
|
2
|
+
import type { LoggerOptions } from '../types';
|
|
3
|
+
import LocalAudioTrack from './LocalAudioTrack';
|
|
4
|
+
import type LocalTrack from './LocalTrack';
|
|
5
|
+
import type LocalVideoTrack from './LocalVideoTrack';
|
|
6
|
+
import type { Track } from './Track';
|
|
7
|
+
import { TrackPublication } from './TrackPublication';
|
|
8
|
+
import type { TrackPublishOptions } from './options';
|
|
9
|
+
export default class LocalTrackPublication extends TrackPublication {
|
|
10
|
+
track?: LocalTrack;
|
|
11
|
+
options?: TrackPublishOptions;
|
|
12
|
+
get isUpstreamPaused(): (boolean | undefined);
|
|
13
|
+
constructor(kind: Track.Kind, ti: TrackInfo, track?: LocalTrack, loggerOptions?: LoggerOptions);
|
|
14
|
+
setTrack(track?: Track): void;
|
|
15
|
+
get isMuted(): boolean;
|
|
16
|
+
get audioTrack(): (LocalAudioTrack | undefined);
|
|
17
|
+
get videoTrack(): (LocalVideoTrack | undefined);
|
|
18
|
+
get isLocal(): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Mute the track associated with this publication
|
|
21
|
+
*/
|
|
22
|
+
mute(): Promise<LocalTrack<Track.Kind> | undefined>;
|
|
23
|
+
/**
|
|
24
|
+
* Unmute track associated with this publication
|
|
25
|
+
*/
|
|
26
|
+
unmute(): Promise<LocalTrack<Track.Kind> | undefined>;
|
|
27
|
+
/**
|
|
28
|
+
* Pauses the media stream track associated with this publication from being sent to the server
|
|
29
|
+
* and signals "muted" event to other participants
|
|
30
|
+
* Useful if you want to pause the stream without pausing the local media stream track
|
|
31
|
+
*/
|
|
32
|
+
pauseUpstream(): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Resumes sending the media stream track associated with this publication to the server after a call to [[pauseUpstream()]]
|
|
35
|
+
* and signals "unmuted" event to other participants (unless the track is explicitly muted)
|
|
36
|
+
*/
|
|
37
|
+
resumeUpstream(): Promise<void>;
|
|
38
|
+
getTrackFeatures(): AudioTrackFeature[];
|
|
39
|
+
handleTrackEnded: () => void;
|
|
40
|
+
private handleCpuConstrained;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=LocalTrackPublication.d.ts.map
|
|
@@ -1,100 +1,109 @@
|
|
|
1
|
-
import { SubscribedCodec, SubscribedQuality, VideoLayer } from '@livekit/protocol';
|
|
2
|
-
import type { SignalClient } from '../../api/SignalClient';
|
|
3
|
-
import type { VideoSenderStats } from '../stats';
|
|
4
|
-
import type { LoggerOptions } from '../types';
|
|
5
|
-
import LocalTrack from './LocalTrack';
|
|
6
|
-
import { Track, VideoQuality } from './Track';
|
|
7
|
-
import type { TrackPublishOptions, VideoCaptureOptions, VideoCodec } from './options';
|
|
8
|
-
import type { TrackProcessor } from './processor/types';
|
|
9
|
-
export declare class SimulcastTrackInfo {
|
|
10
|
-
codec: VideoCodec;
|
|
11
|
-
mediaStreamTrack: MediaStreamTrack;
|
|
12
|
-
sender?: RTCRtpSender;
|
|
13
|
-
encodings?: RTCRtpEncodingParameters[];
|
|
14
|
-
constructor(codec: VideoCodec, mediaStreamTrack: MediaStreamTrack);
|
|
15
|
-
}
|
|
16
|
-
export default class LocalVideoTrack extends LocalTrack<Track.Kind.Video> {
|
|
17
|
-
signalClient?: SignalClient;
|
|
18
|
-
private prevStats?;
|
|
19
|
-
private encodings?;
|
|
20
|
-
simulcastCodecs: Map<VideoCodec, SimulcastTrackInfo>;
|
|
21
|
-
private subscribedCodecs?;
|
|
22
|
-
private senderLock;
|
|
23
|
-
private degradationPreference;
|
|
24
|
-
private isCpuConstrained;
|
|
25
|
-
private optimizeForPerformance;
|
|
26
|
-
publishOptions?: TrackPublishOptions;
|
|
27
|
-
lastEncodedDimensions?: Track.Dimensions;
|
|
28
|
-
get sender(): RTCRtpSender | undefined;
|
|
29
|
-
set sender(sender: RTCRtpSender | undefined);
|
|
30
|
-
/**
|
|
31
|
-
*
|
|
32
|
-
* @param mediaTrack
|
|
33
|
-
* @param constraints MediaTrackConstraints that are being used when restarting or reacquiring tracks
|
|
34
|
-
* @param userProvidedTrack Signals to the SDK whether or not the mediaTrack should be managed (i.e. released and reacquired) internally by the SDK
|
|
35
|
-
*/
|
|
36
|
-
constructor(mediaTrack: MediaStreamTrack, constraints?: MediaTrackConstraints, userProvidedTrack?: boolean, loggerOptions?: LoggerOptions);
|
|
37
|
-
get isSimulcast(): boolean;
|
|
38
|
-
startMonitor(signalClient: SignalClient): void;
|
|
39
|
-
stop(): void;
|
|
40
|
-
pauseUpstream(): Promise<void>;
|
|
41
|
-
resumeUpstream(): Promise<void>;
|
|
42
|
-
mute(): Promise<typeof this>;
|
|
43
|
-
unmute(): Promise<typeof this>;
|
|
44
|
-
protected setTrackMuted(muted: boolean): void;
|
|
45
|
-
getSenderStats(): Promise<VideoSenderStats[]>;
|
|
46
|
-
/**
|
|
47
|
-
* Whether `codec` is being published as SVC (a single stream carrying all spatial
|
|
48
|
-
* layers) as opposed to rid based simulcast. VP9/AV1 are SVC unless the publisher
|
|
49
|
-
* opted into simulcast, in which case each rid is an independent stream and the
|
|
50
|
-
* layers can be enabled/disabled individually.
|
|
51
|
-
*/
|
|
52
|
-
private isSvcPublish;
|
|
53
|
-
setPublishingQuality(maxQuality: VideoQuality): void;
|
|
54
|
-
restartTrack(options?: VideoCaptureOptions): Promise<void>;
|
|
55
|
-
protected onSenderTrackSwapped(): Promise<void>;
|
|
56
|
-
/**
|
|
57
|
-
* Recomputes encoding parameters for this track's senders based on the current
|
|
58
|
-
* MediaStreamTrack dimensions and reapplies them via setParameters. This is a no-op
|
|
59
|
-
* if the track hasn't been published yet or if the track is in performance-optimized
|
|
60
|
-
* mode (which manages its own encodings).
|
|
61
|
-
*/
|
|
62
|
-
private refreshSenderEncodings;
|
|
63
|
-
private applyEncodingsToSender;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
*
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
*
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
1
|
+
import { SubscribedCodec, SubscribedQuality, VideoLayer } from '@livekit/protocol';
|
|
2
|
+
import type { SignalClient } from '../../api/SignalClient';
|
|
3
|
+
import type { VideoSenderStats } from '../stats';
|
|
4
|
+
import type { LoggerOptions } from '../types';
|
|
5
|
+
import LocalTrack from './LocalTrack';
|
|
6
|
+
import { Track, VideoQuality } from './Track';
|
|
7
|
+
import type { TrackPublishOptions, VideoCaptureOptions, VideoCodec } from './options';
|
|
8
|
+
import type { TrackProcessor } from './processor/types';
|
|
9
|
+
export declare class SimulcastTrackInfo {
|
|
10
|
+
codec: VideoCodec;
|
|
11
|
+
mediaStreamTrack: MediaStreamTrack;
|
|
12
|
+
sender?: RTCRtpSender;
|
|
13
|
+
encodings?: RTCRtpEncodingParameters[];
|
|
14
|
+
constructor(codec: VideoCodec, mediaStreamTrack: MediaStreamTrack);
|
|
15
|
+
}
|
|
16
|
+
export default class LocalVideoTrack extends LocalTrack<Track.Kind.Video> {
|
|
17
|
+
signalClient?: SignalClient;
|
|
18
|
+
private prevStats?;
|
|
19
|
+
private encodings?;
|
|
20
|
+
simulcastCodecs: Map<VideoCodec, SimulcastTrackInfo>;
|
|
21
|
+
private subscribedCodecs?;
|
|
22
|
+
private senderLock;
|
|
23
|
+
private degradationPreference;
|
|
24
|
+
private isCpuConstrained;
|
|
25
|
+
private optimizeForPerformance;
|
|
26
|
+
publishOptions?: TrackPublishOptions;
|
|
27
|
+
lastEncodedDimensions?: Track.Dimensions;
|
|
28
|
+
get sender(): RTCRtpSender | undefined;
|
|
29
|
+
set sender(sender: RTCRtpSender | undefined);
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @param mediaTrack
|
|
33
|
+
* @param constraints MediaTrackConstraints that are being used when restarting or reacquiring tracks
|
|
34
|
+
* @param userProvidedTrack Signals to the SDK whether or not the mediaTrack should be managed (i.e. released and reacquired) internally by the SDK
|
|
35
|
+
*/
|
|
36
|
+
constructor(mediaTrack: MediaStreamTrack, constraints?: MediaTrackConstraints, userProvidedTrack?: boolean, loggerOptions?: LoggerOptions);
|
|
37
|
+
get isSimulcast(): boolean;
|
|
38
|
+
startMonitor(signalClient: SignalClient): void;
|
|
39
|
+
stop(): void;
|
|
40
|
+
pauseUpstream(): Promise<void>;
|
|
41
|
+
resumeUpstream(): Promise<void>;
|
|
42
|
+
mute(): Promise<typeof this>;
|
|
43
|
+
unmute(): Promise<typeof this>;
|
|
44
|
+
protected setTrackMuted(muted: boolean): void;
|
|
45
|
+
getSenderStats(): Promise<VideoSenderStats[]>;
|
|
46
|
+
/**
|
|
47
|
+
* Whether `codec` is being published as SVC (a single stream carrying all spatial
|
|
48
|
+
* layers) as opposed to rid based simulcast. VP9/AV1 are SVC unless the publisher
|
|
49
|
+
* opted into simulcast, in which case each rid is an independent stream and the
|
|
50
|
+
* layers can be enabled/disabled individually.
|
|
51
|
+
*/
|
|
52
|
+
private isSvcPublish;
|
|
53
|
+
setPublishingQuality(maxQuality: VideoQuality): void;
|
|
54
|
+
restartTrack(options?: VideoCaptureOptions): Promise<void>;
|
|
55
|
+
protected onSenderTrackSwapped(): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Recomputes encoding parameters for this track's senders based on the current
|
|
58
|
+
* MediaStreamTrack dimensions and reapplies them via setParameters. This is a no-op
|
|
59
|
+
* if the track hasn't been published yet or if the track is in performance-optimized
|
|
60
|
+
* mode (which manages its own encodings).
|
|
61
|
+
*/
|
|
62
|
+
private refreshSenderEncodings;
|
|
63
|
+
private applyEncodingsToSender;
|
|
64
|
+
/**
|
|
65
|
+
* Sets a processor on this track, and wires its processed track into the simulcast codecs.
|
|
66
|
+
*
|
|
67
|
+
* The processor is destroyed when the track is stopped, which unpublishing and disconnecting
|
|
68
|
+
* both do by default, so it has to be set again after reconnecting. See {@link TrackProcessor}
|
|
69
|
+
* for the full lifecycle.
|
|
70
|
+
*/
|
|
71
|
+
setProcessor(processor: TrackProcessor<Track.Kind.Video>, showProcessedStreamLocally?: boolean): Promise<void>;
|
|
72
|
+
setDegradationPreference(preference: RTCDegradationPreference): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Degradation preference is a property of the sender, not of the track, so every sender
|
|
75
|
+
* publishing this track needs it applied separately. A backup codec publishes over its
|
|
76
|
+
* own sender, which would otherwise let the browser resolve a preference implicitly and
|
|
77
|
+
* diverge from the primary encoder.
|
|
78
|
+
*
|
|
79
|
+
* Callers apply this sequentially rather than concurrently: `setParameters` is only valid
|
|
80
|
+
* against the parameters most recently returned by `getParameters`, which is why this file
|
|
81
|
+
* serializes other sender parameter updates through `senderLock`.
|
|
82
|
+
*/
|
|
83
|
+
private applyDegradationPreference;
|
|
84
|
+
addSimulcastTrack(codec: VideoCodec, encodings?: RTCRtpEncodingParameters[]): SimulcastTrackInfo | undefined;
|
|
85
|
+
setSimulcastTrackSender(codec: VideoCodec, sender: RTCRtpSender): Promise<void>;
|
|
86
|
+
/** @interal */
|
|
87
|
+
refreshSubscribedCodecs(): Promise<void | ("vp8" | "h264" | "vp9" | "av1" | "h265")[]>;
|
|
88
|
+
/**
|
|
89
|
+
* @internal
|
|
90
|
+
* Sets codecs that should be publishing, returns new codecs that have not yet
|
|
91
|
+
* been published
|
|
92
|
+
*/
|
|
93
|
+
setPublishingCodecs(codecs: SubscribedCodec[]): Promise<VideoCodec[]>;
|
|
94
|
+
/**
|
|
95
|
+
* @internal
|
|
96
|
+
* Sets layers that should be publishing
|
|
97
|
+
*/
|
|
98
|
+
setPublishingLayers(isSvc: boolean, qualities: SubscribedQuality[]): Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* Designed for lower powered devices, reduces video publishing quality and disables simulcast.
|
|
101
|
+
* @experimental
|
|
102
|
+
*/
|
|
103
|
+
prioritizePerformance(): Promise<void>;
|
|
104
|
+
protected monitorSender: () => Promise<void>;
|
|
105
|
+
protected handleAppVisibilityChanged(): Promise<void>;
|
|
106
|
+
}
|
|
107
|
+
export declare function videoQualityForRid(rid: string): VideoQuality;
|
|
108
|
+
export declare function videoLayersFromEncodings(width: number, height: number, encodings?: RTCRtpEncodingParameters[], svc?: boolean): VideoLayer[];
|
|
109
|
+
//# sourceMappingURL=LocalVideoTrack.d.ts.map
|