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,80 +1,79 @@
|
|
|
1
|
-
import type { StructuredLogger } from '../../logger';
|
|
2
|
-
import { Future } from '../utils';
|
|
3
|
-
import type { DataTrackFrame } from './frame';
|
|
4
|
-
import type { DataTrackHandle } from './handle';
|
|
5
|
-
import type OutgoingDataTrackManager from './outgoing/OutgoingDataTrackManager';
|
|
6
|
-
import { DataTrackPushFrameError } from './outgoing/errors';
|
|
7
|
-
import type { DataTrackOptions } from './outgoing/types';
|
|
8
|
-
import type { IDataTrack, ILocalTrack } from './track-interfaces';
|
|
9
|
-
import type { DataTrackInfo } from './types';
|
|
10
|
-
export default class LocalDataTrack implements ILocalTrack, IDataTrack {
|
|
11
|
-
readonly trackSymbol: symbol;
|
|
12
|
-
readonly isLocal = true;
|
|
13
|
-
readonly typeSymbol: symbol;
|
|
14
|
-
protected options: DataTrackOptions;
|
|
15
|
-
/** Represents the currently active {@link DataTrackHandle} for the publication. */
|
|
16
|
-
protected handle: DataTrackHandle | null;
|
|
17
|
-
protected manager: OutgoingDataTrackManager;
|
|
18
|
-
protected log: StructuredLogger;
|
|
19
|
-
/** Resolves once the data track has sent all pending packets the rtc data channel buffer. */
|
|
20
|
-
protected flushedFuture: Future<void, never>;
|
|
21
|
-
protected isFlushed: boolean;
|
|
22
|
-
/** @internal */
|
|
23
|
-
constructor(options: DataTrackOptions, manager: OutgoingDataTrackManager);
|
|
24
|
-
private handleManagerReset;
|
|
25
|
-
private handleManagerPacketsFlushedChange;
|
|
26
|
-
/** @internal */
|
|
27
|
-
static withExplicitHandle(options: DataTrackOptions, manager: OutgoingDataTrackManager, handle: DataTrackHandle): LocalDataTrack;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
* - The
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
* await track.
|
|
56
|
-
* await track.
|
|
57
|
-
* await track.
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
* await track.tryPush(/* ... *\/);
|
|
66
|
-
* await track.tryPush(/* ... *\/);
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
* await track.
|
|
70
|
-
*
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
//# sourceMappingURL=LocalDataTrack.d.ts.map
|
|
1
|
+
import type { StructuredLogger } from '../../logger';
|
|
2
|
+
import { Future } from '../utils';
|
|
3
|
+
import type { DataTrackFrame } from './frame';
|
|
4
|
+
import type { DataTrackHandle } from './handle';
|
|
5
|
+
import type OutgoingDataTrackManager from './outgoing/OutgoingDataTrackManager';
|
|
6
|
+
import { DataTrackPushFrameError } from './outgoing/errors';
|
|
7
|
+
import type { DataTrackOptions } from './outgoing/types';
|
|
8
|
+
import type { IDataTrack, ILocalTrack } from './track-interfaces';
|
|
9
|
+
import type { DataTrackInfo } from './types';
|
|
10
|
+
export default class LocalDataTrack implements ILocalTrack, IDataTrack {
|
|
11
|
+
readonly trackSymbol: symbol;
|
|
12
|
+
readonly isLocal = true;
|
|
13
|
+
readonly typeSymbol: symbol;
|
|
14
|
+
protected options: DataTrackOptions;
|
|
15
|
+
/** Represents the currently active {@link DataTrackHandle} for the publication. */
|
|
16
|
+
protected handle: DataTrackHandle | null;
|
|
17
|
+
protected manager: OutgoingDataTrackManager;
|
|
18
|
+
protected log: StructuredLogger;
|
|
19
|
+
/** Resolves once the data track has sent all pending packets the rtc data channel buffer. */
|
|
20
|
+
protected flushedFuture: Future<void, never>;
|
|
21
|
+
protected isFlushed: boolean;
|
|
22
|
+
/** @internal */
|
|
23
|
+
constructor(options: DataTrackOptions, manager: OutgoingDataTrackManager);
|
|
24
|
+
private handleManagerReset;
|
|
25
|
+
private handleManagerPacketsFlushedChange;
|
|
26
|
+
/** @internal */
|
|
27
|
+
static withExplicitHandle(options: DataTrackOptions, manager: OutgoingDataTrackManager, handle: DataTrackHandle): LocalDataTrack;
|
|
28
|
+
get info(): (DataTrackInfo | undefined);
|
|
29
|
+
/** The raw descriptor from the manager containing the internal state for this local track. */
|
|
30
|
+
protected get descriptor(): (import("./outgoing/OutgoingDataTrackManager").Descriptor | null);
|
|
31
|
+
/**
|
|
32
|
+
* Publish the track to the SFU. This must be done before calling {@link tryPush} for the first time.
|
|
33
|
+
* @internal
|
|
34
|
+
* */
|
|
35
|
+
publish(signal?: AbortSignal): Promise<void>;
|
|
36
|
+
isPublished(): this is {
|
|
37
|
+
info: DataTrackInfo;
|
|
38
|
+
};
|
|
39
|
+
/** Try pushing a frame to subscribers of the track.
|
|
40
|
+
*
|
|
41
|
+
* Pushing a frame can fail for several reasons:
|
|
42
|
+
*
|
|
43
|
+
* - The track has been unpublished by the local participant or SFU
|
|
44
|
+
* - The room is no longer connected
|
|
45
|
+
*/
|
|
46
|
+
tryPush(frame: DataTrackFrame): Promise<import("@livekit/throws-transformer/throws").Throws<void, DataTrackPushFrameError<import("./outgoing/errors").DataTrackPushFrameErrorReason.TrackUnpublished> | DataTrackPushFrameError<import("./outgoing/errors").DataTrackPushFrameErrorReason.Dropped>>>;
|
|
47
|
+
/**
|
|
48
|
+
* When called, waits for all in flight packets to be sent before resolving.
|
|
49
|
+
*
|
|
50
|
+
* Use this to:
|
|
51
|
+
*
|
|
52
|
+
* 1. Send frames exactly in order:
|
|
53
|
+
* ```ts
|
|
54
|
+
* await track.tryPush(/* ... *\/);
|
|
55
|
+
* await track.flush();
|
|
56
|
+
* await track.tryPush(/* ... *\/);
|
|
57
|
+
* await track.flush();
|
|
58
|
+
* // ... etc ...
|
|
59
|
+
* ```
|
|
60
|
+
*
|
|
61
|
+
* 2. Wait for frames to all be delivered before unpublishing a local data track:
|
|
62
|
+
*
|
|
63
|
+
* ```ts
|
|
64
|
+
* await track.tryPush(/* ... *\/);
|
|
65
|
+
* await track.tryPush(/* ... *\/);
|
|
66
|
+
* await track.tryPush(/* ... *\/);
|
|
67
|
+
* // ... etc ...
|
|
68
|
+
* await track.flush();
|
|
69
|
+
* await track.unpublish();
|
|
70
|
+
* ```
|
|
71
|
+
**/
|
|
72
|
+
flush(): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Unpublish the track from the SFU. Once this is called, any further calls to {@link tryPush}
|
|
75
|
+
* will fail.
|
|
76
|
+
* */
|
|
77
|
+
unpublish(): Promise<void>;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=LocalDataTrack.d.ts.map
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
import type Participant from '../participant/Participant';
|
|
2
|
-
import type { DataTrackFrame } from './frame';
|
|
3
|
-
import type IncomingDataTrackManager from './incoming/IncomingDataTrackManager';
|
|
4
|
-
import type { IDataTrack, IRemoteTrack } from './track-interfaces';
|
|
5
|
-
import type { DataTrackInfo, RemoteDataTrackPipelineOptions } from './types';
|
|
6
|
-
type RemoteDataTrackOptions = {
|
|
7
|
-
publisherIdentity: Participant['identity'];
|
|
8
|
-
};
|
|
9
|
-
export type DataTrackSubscribeOptions = {
|
|
10
|
-
signal?: AbortSignal;
|
|
11
|
-
/** The number of {@link DataTrackFrame}s to hold in the ReadableStream before disgarding extra
|
|
12
|
-
* frames. Defaults to 16, but this may not be good enough for especially high frequency data. */
|
|
13
|
-
bufferSize?: number;
|
|
14
|
-
};
|
|
15
|
-
export default class RemoteDataTrack implements IRemoteTrack, IDataTrack {
|
|
16
|
-
readonly trackSymbol: symbol;
|
|
17
|
-
readonly isLocal = false;
|
|
18
|
-
readonly typeSymbol: symbol;
|
|
19
|
-
info: DataTrackInfo;
|
|
20
|
-
publisherIdentity: Participant['identity'];
|
|
21
|
-
protected manager: IncomingDataTrackManager;
|
|
22
|
-
/** @internal */
|
|
23
|
-
constructor(info: DataTrackInfo, manager: IncomingDataTrackManager, options: RemoteDataTrackOptions);
|
|
24
|
-
/** Subscribes to the data track to receive frames.
|
|
25
|
-
*
|
|
26
|
-
* # Returns
|
|
27
|
-
*
|
|
28
|
-
* A stream that yields {@link DataTrackFrame}s as they arrive.
|
|
29
|
-
*
|
|
30
|
-
* # Multiple Subscriptions
|
|
31
|
-
*
|
|
32
|
-
* An application may call `subscribe` more than once to process frames in
|
|
33
|
-
* multiple places. For example, one async task might plot values on a graph
|
|
34
|
-
* while another writes them to a file.
|
|
35
|
-
*
|
|
36
|
-
* Internally, only the first call to `subscribe` communicates with the SFU and
|
|
37
|
-
* allocates the resources required to receive frames. Additional subscriptions
|
|
38
|
-
* reuse the same underlying pipeline and do not trigger additional signaling.
|
|
39
|
-
*
|
|
40
|
-
* Note that newly created subscriptions only receive frames published after
|
|
41
|
-
* the initial subscription is established.
|
|
42
|
-
*/
|
|
43
|
-
subscribe(options?: DataTrackSubscribeOptions): ReadableStream<DataTrackFrame>;
|
|
44
|
-
/** Configure how incoming frames for this track are processed before they are handed out to
|
|
45
|
-
* subscribers (the "pipeline"). These options apply to all current and future subscriptions
|
|
46
|
-
* of this track, and may be set at any time. */
|
|
47
|
-
setPipelineOptions(options: RemoteDataTrackPipelineOptions): void;
|
|
48
|
-
}
|
|
49
|
-
export {};
|
|
50
|
-
//# sourceMappingURL=RemoteDataTrack.d.ts.map
|
|
1
|
+
import type Participant from '../participant/Participant';
|
|
2
|
+
import type { DataTrackFrame } from './frame';
|
|
3
|
+
import type IncomingDataTrackManager from './incoming/IncomingDataTrackManager';
|
|
4
|
+
import type { IDataTrack, IRemoteTrack } from './track-interfaces';
|
|
5
|
+
import type { DataTrackInfo, RemoteDataTrackPipelineOptions } from './types';
|
|
6
|
+
type RemoteDataTrackOptions = {
|
|
7
|
+
publisherIdentity: Participant['identity'];
|
|
8
|
+
};
|
|
9
|
+
export type DataTrackSubscribeOptions = {
|
|
10
|
+
signal?: AbortSignal;
|
|
11
|
+
/** The number of {@link DataTrackFrame}s to hold in the ReadableStream before disgarding extra
|
|
12
|
+
* frames. Defaults to 16, but this may not be good enough for especially high frequency data. */
|
|
13
|
+
bufferSize?: number;
|
|
14
|
+
};
|
|
15
|
+
export default class RemoteDataTrack implements IRemoteTrack, IDataTrack {
|
|
16
|
+
readonly trackSymbol: symbol;
|
|
17
|
+
readonly isLocal = false;
|
|
18
|
+
readonly typeSymbol: symbol;
|
|
19
|
+
info: DataTrackInfo;
|
|
20
|
+
publisherIdentity: Participant['identity'];
|
|
21
|
+
protected manager: IncomingDataTrackManager;
|
|
22
|
+
/** @internal */
|
|
23
|
+
constructor(info: DataTrackInfo, manager: IncomingDataTrackManager, options: RemoteDataTrackOptions);
|
|
24
|
+
/** Subscribes to the data track to receive frames.
|
|
25
|
+
*
|
|
26
|
+
* # Returns
|
|
27
|
+
*
|
|
28
|
+
* A stream that yields {@link DataTrackFrame}s as they arrive.
|
|
29
|
+
*
|
|
30
|
+
* # Multiple Subscriptions
|
|
31
|
+
*
|
|
32
|
+
* An application may call `subscribe` more than once to process frames in
|
|
33
|
+
* multiple places. For example, one async task might plot values on a graph
|
|
34
|
+
* while another writes them to a file.
|
|
35
|
+
*
|
|
36
|
+
* Internally, only the first call to `subscribe` communicates with the SFU and
|
|
37
|
+
* allocates the resources required to receive frames. Additional subscriptions
|
|
38
|
+
* reuse the same underlying pipeline and do not trigger additional signaling.
|
|
39
|
+
*
|
|
40
|
+
* Note that newly created subscriptions only receive frames published after
|
|
41
|
+
* the initial subscription is established.
|
|
42
|
+
*/
|
|
43
|
+
subscribe(options?: DataTrackSubscribeOptions): ReadableStream<DataTrackFrame>;
|
|
44
|
+
/** Configure how incoming frames for this track are processed before they are handed out to
|
|
45
|
+
* subscribers (the "pipeline"). These options apply to all current and future subscriptions
|
|
46
|
+
* of this track, and may be set at any time. */
|
|
47
|
+
setPipelineOptions(options: RemoteDataTrackPipelineOptions): void;
|
|
48
|
+
}
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=RemoteDataTrack.d.ts.map
|
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
import type { Throws } from '@livekit/throws-transformer/throws';
|
|
2
|
-
import { LivekitReasonedError } from '../errors';
|
|
3
|
-
import type { DataTrackFrameInternal } from './frame';
|
|
4
|
-
import { DataTrackPacket } from './packet';
|
|
5
|
-
/** An error indicating a frame was dropped. */
|
|
6
|
-
export declare class DataTrackDepacketizerDropError<Reason extends DataTrackDepacketizerDropReason = DataTrackDepacketizerDropReason> extends LivekitReasonedError<Reason> {
|
|
7
|
-
readonly name = "DataTrackDepacketizerDropError";
|
|
8
|
-
reason: Reason;
|
|
9
|
-
reasonName: string;
|
|
10
|
-
frameNumber: number;
|
|
11
|
-
constructor(message: string, reason: Reason, frameNumber: number, options?: {
|
|
12
|
-
cause?: unknown;
|
|
13
|
-
});
|
|
14
|
-
static interrupted(frameNumber: number, newFrameNumber: number): DataTrackDepacketizerDropError<DataTrackDepacketizerDropReason.Interrupted>;
|
|
15
|
-
static unknownFrame(frameNumber: number): DataTrackDepacketizerDropError<DataTrackDepacketizerDropReason.UnknownFrame>;
|
|
16
|
-
static bufferFull(frameNumber: number): DataTrackDepacketizerDropError<DataTrackDepacketizerDropReason.BufferFull>;
|
|
17
|
-
static incomplete(frameNumber: number, receivedPackets: number, expectedPackets: number): DataTrackDepacketizerDropError<DataTrackDepacketizerDropReason.Incomplete>;
|
|
18
|
-
}
|
|
19
|
-
/** Reason why a frame was dropped. */
|
|
20
|
-
export declare enum DataTrackDepacketizerDropReason {
|
|
21
|
-
Interrupted = 0,
|
|
22
|
-
UnknownFrame = 1,
|
|
23
|
-
BufferFull = 2,
|
|
24
|
-
Incomplete = 3
|
|
25
|
-
}
|
|
26
|
-
type PushOptions = {
|
|
27
|
-
/** If true, throws `DataTrackDepacketizerDropError.interrupted` instead of logging a warning
|
|
28
|
-
* when a new frame arrives while the partials map is at capacity. */
|
|
29
|
-
throwOnInterruption: boolean;
|
|
30
|
-
/** Maximum number of partial frames the depacketizer will track concurrently. When a new
|
|
31
|
-
* frame arrives while the partials map is at capacity, the oldest partial is evicted (or
|
|
32
|
-
* `DataTrackDepacketizerDropError.interrupted` is thrown when `throwOnInterruption` is set).
|
|
33
|
-
* Defaults to 1. */
|
|
34
|
-
maxPartialFrames?: number;
|
|
35
|
-
};
|
|
36
|
-
export default class DataTrackDepacketizer {
|
|
37
|
-
/** Maximum number of packets to buffer per frame before dropping. */
|
|
38
|
-
static MAX_BUFFER_PACKETS: number;
|
|
39
|
-
/** Partial frames currently being assembled, keyed by frame number. `Map` preserves insertion
|
|
40
|
-
* order, so the oldest entry is the first key. */
|
|
41
|
-
private partials;
|
|
42
|
-
/** Should be repeatedly called with received {@link DataTrackPacket}s - intermediate calls
|
|
43
|
-
* aggregate the packet's state internally, and return null.
|
|
44
|
-
*
|
|
45
|
-
* Once this method is called with the final packet to form a frame, a new {@link DataTrackFrameInternal}
|
|
46
|
-
* is returned.*/
|
|
47
|
-
push(packet: DataTrackPacket, options?: PushOptions): Throws<DataTrackFrameInternal | null, DataTrackDepacketizerDropError>;
|
|
48
|
-
reset(): void;
|
|
49
|
-
private peekOldestPartialFrameNumber;
|
|
50
|
-
private frameFromSingle;
|
|
51
|
-
/** Begin assembling a new packet. */
|
|
52
|
-
private beginPartial;
|
|
53
|
-
/** Push to the existing partial frame. */
|
|
54
|
-
private pushToPartial;
|
|
55
|
-
/** Try to reassemble the complete frame. */
|
|
56
|
-
private finalize;
|
|
57
|
-
}
|
|
58
|
-
export {};
|
|
59
|
-
//# sourceMappingURL=depacketizer.d.ts.map
|
|
1
|
+
import type { Throws } from '@livekit/throws-transformer/throws';
|
|
2
|
+
import { LivekitReasonedError } from '../errors';
|
|
3
|
+
import type { DataTrackFrameInternal } from './frame';
|
|
4
|
+
import { DataTrackPacket } from './packet';
|
|
5
|
+
/** An error indicating a frame was dropped. */
|
|
6
|
+
export declare class DataTrackDepacketizerDropError<Reason extends DataTrackDepacketizerDropReason = DataTrackDepacketizerDropReason> extends LivekitReasonedError<Reason> {
|
|
7
|
+
readonly name = "DataTrackDepacketizerDropError";
|
|
8
|
+
reason: Reason;
|
|
9
|
+
reasonName: string;
|
|
10
|
+
frameNumber: number;
|
|
11
|
+
constructor(message: string, reason: Reason, frameNumber: number, options?: {
|
|
12
|
+
cause?: unknown;
|
|
13
|
+
});
|
|
14
|
+
static interrupted(frameNumber: number, newFrameNumber: number): DataTrackDepacketizerDropError<DataTrackDepacketizerDropReason.Interrupted>;
|
|
15
|
+
static unknownFrame(frameNumber: number): DataTrackDepacketizerDropError<DataTrackDepacketizerDropReason.UnknownFrame>;
|
|
16
|
+
static bufferFull(frameNumber: number): DataTrackDepacketizerDropError<DataTrackDepacketizerDropReason.BufferFull>;
|
|
17
|
+
static incomplete(frameNumber: number, receivedPackets: number, expectedPackets: number): DataTrackDepacketizerDropError<DataTrackDepacketizerDropReason.Incomplete>;
|
|
18
|
+
}
|
|
19
|
+
/** Reason why a frame was dropped. */
|
|
20
|
+
export declare enum DataTrackDepacketizerDropReason {
|
|
21
|
+
Interrupted = 0,
|
|
22
|
+
UnknownFrame = 1,
|
|
23
|
+
BufferFull = 2,
|
|
24
|
+
Incomplete = 3
|
|
25
|
+
}
|
|
26
|
+
type PushOptions = {
|
|
27
|
+
/** If true, throws `DataTrackDepacketizerDropError.interrupted` instead of logging a warning
|
|
28
|
+
* when a new frame arrives while the partials map is at capacity. */
|
|
29
|
+
throwOnInterruption: boolean;
|
|
30
|
+
/** Maximum number of partial frames the depacketizer will track concurrently. When a new
|
|
31
|
+
* frame arrives while the partials map is at capacity, the oldest partial is evicted (or
|
|
32
|
+
* `DataTrackDepacketizerDropError.interrupted` is thrown when `throwOnInterruption` is set).
|
|
33
|
+
* Defaults to 1. */
|
|
34
|
+
maxPartialFrames?: number;
|
|
35
|
+
};
|
|
36
|
+
export default class DataTrackDepacketizer {
|
|
37
|
+
/** Maximum number of packets to buffer per frame before dropping. */
|
|
38
|
+
static MAX_BUFFER_PACKETS: number;
|
|
39
|
+
/** Partial frames currently being assembled, keyed by frame number. `Map` preserves insertion
|
|
40
|
+
* order, so the oldest entry is the first key. */
|
|
41
|
+
private partials;
|
|
42
|
+
/** Should be repeatedly called with received {@link DataTrackPacket}s - intermediate calls
|
|
43
|
+
* aggregate the packet's state internally, and return null.
|
|
44
|
+
*
|
|
45
|
+
* Once this method is called with the final packet to form a frame, a new {@link DataTrackFrameInternal}
|
|
46
|
+
* is returned.*/
|
|
47
|
+
push(packet: DataTrackPacket, options?: PushOptions): Throws<DataTrackFrameInternal | null, DataTrackDepacketizerDropError>;
|
|
48
|
+
reset(): void;
|
|
49
|
+
private peekOldestPartialFrameNumber;
|
|
50
|
+
private frameFromSingle;
|
|
51
|
+
/** Begin assembling a new packet. */
|
|
52
|
+
private beginPartial;
|
|
53
|
+
/** Push to the existing partial frame. */
|
|
54
|
+
private pushToPartial;
|
|
55
|
+
/** Try to reassemble the complete frame. */
|
|
56
|
+
private finalize;
|
|
57
|
+
}
|
|
58
|
+
export {};
|
|
59
|
+
//# sourceMappingURL=depacketizer.d.ts.map
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import type { NonSharedUint8Array } from '../../type-polyfills/non-shared-typed-arrays';
|
|
2
|
-
import { DataTrackExtensions } from './packet/extensions';
|
|
3
|
-
/** A pair of payload bytes and packet extensions which can be fed into a {@link DataTrackPacketizer}. */
|
|
4
|
-
export type DataTrackFrame = {
|
|
5
|
-
payload: NonSharedUint8Array;
|
|
6
|
-
userTimestamp?: bigint;
|
|
7
|
-
};
|
|
8
|
-
/** An internal representation o data track frame which contains all SFU metadata. */
|
|
9
|
-
export type DataTrackFrameInternal = {
|
|
10
|
-
payload: NonSharedUint8Array;
|
|
11
|
-
extensions: DataTrackExtensions;
|
|
12
|
-
};
|
|
13
|
-
export declare const DataTrackFrameInternal: {
|
|
14
|
-
from(frame: DataTrackFrame): {
|
|
15
|
-
payload: Uint8Array
|
|
16
|
-
extensions: DataTrackExtensions;
|
|
17
|
-
};
|
|
18
|
-
/** Converts from a DataTrackFrameInternal -> DataTrackFrame. Some internal information is
|
|
19
|
-
* discarded like e2ee encrption extension data. */
|
|
20
|
-
lossyIntoFrame(frame: DataTrackFrameInternal): DataTrackFrame;
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=frame.d.ts.map
|
|
1
|
+
import type { NonSharedUint8Array } from '../../type-polyfills/non-shared-typed-arrays';
|
|
2
|
+
import { DataTrackExtensions } from './packet/extensions';
|
|
3
|
+
/** A pair of payload bytes and packet extensions which can be fed into a {@link DataTrackPacketizer}. */
|
|
4
|
+
export type DataTrackFrame = {
|
|
5
|
+
payload: NonSharedUint8Array;
|
|
6
|
+
userTimestamp?: bigint;
|
|
7
|
+
};
|
|
8
|
+
/** An internal representation o data track frame which contains all SFU metadata. */
|
|
9
|
+
export type DataTrackFrameInternal = {
|
|
10
|
+
payload: NonSharedUint8Array;
|
|
11
|
+
extensions: DataTrackExtensions;
|
|
12
|
+
};
|
|
13
|
+
export declare const DataTrackFrameInternal: {
|
|
14
|
+
from(frame: DataTrackFrame): {
|
|
15
|
+
payload: Uint8Array;
|
|
16
|
+
extensions: DataTrackExtensions;
|
|
17
|
+
};
|
|
18
|
+
/** Converts from a DataTrackFrameInternal -> DataTrackFrame. Some internal information is
|
|
19
|
+
* discarded like e2ee encrption extension data. */
|
|
20
|
+
lossyIntoFrame(frame: DataTrackFrameInternal): DataTrackFrame;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=frame.d.ts.map
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import type { Throws } from '@livekit/throws-transformer/throws';
|
|
2
|
-
import { LivekitReasonedError } from '../errors';
|
|
3
|
-
export declare enum DataTrackHandleErrorReason {
|
|
4
|
-
Reserved = 0,
|
|
5
|
-
TooLarge = 1
|
|
6
|
-
}
|
|
7
|
-
export declare class DataTrackHandleError<Reason extends DataTrackHandleErrorReason = DataTrackHandleErrorReason> extends LivekitReasonedError<DataTrackHandleErrorReason> {
|
|
8
|
-
readonly name = "DataTrackHandleError";
|
|
9
|
-
reason: Reason;
|
|
10
|
-
reasonName: string;
|
|
11
|
-
constructor(message: string, reason: Reason);
|
|
12
|
-
isReason<R extends DataTrackHandleErrorReason>(reason: R): this is DataTrackHandleError<R>;
|
|
13
|
-
static tooLarge(): DataTrackHandleError<DataTrackHandleErrorReason.TooLarge>;
|
|
14
|
-
static reserved(value: number): DataTrackHandleError<DataTrackHandleErrorReason.Reserved>;
|
|
15
|
-
}
|
|
16
|
-
export type DataTrackHandle = number;
|
|
17
|
-
export declare const DataTrackHandle: {
|
|
18
|
-
fromNumber(raw: number): Throws<DataTrackHandle, DataTrackHandleError>;
|
|
19
|
-
};
|
|
20
|
-
/** Manage allocating new handles which don't conflict over the lifetime of the client. */
|
|
21
|
-
export declare class DataTrackHandleAllocator {
|
|
22
|
-
value: number;
|
|
23
|
-
/** Returns a unique track handle for the next publication, if one can be obtained. */
|
|
24
|
-
get(): DataTrackHandle | null;
|
|
25
|
-
reset(): void;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=handle.d.ts.map
|
|
1
|
+
import type { Throws } from '@livekit/throws-transformer/throws';
|
|
2
|
+
import { LivekitReasonedError } from '../errors';
|
|
3
|
+
export declare enum DataTrackHandleErrorReason {
|
|
4
|
+
Reserved = 0,
|
|
5
|
+
TooLarge = 1
|
|
6
|
+
}
|
|
7
|
+
export declare class DataTrackHandleError<Reason extends DataTrackHandleErrorReason = DataTrackHandleErrorReason> extends LivekitReasonedError<DataTrackHandleErrorReason> {
|
|
8
|
+
readonly name = "DataTrackHandleError";
|
|
9
|
+
reason: Reason;
|
|
10
|
+
reasonName: string;
|
|
11
|
+
constructor(message: string, reason: Reason);
|
|
12
|
+
isReason<R extends DataTrackHandleErrorReason>(reason: R): this is DataTrackHandleError<R>;
|
|
13
|
+
static tooLarge(): DataTrackHandleError<DataTrackHandleErrorReason.TooLarge>;
|
|
14
|
+
static reserved(value: number): DataTrackHandleError<DataTrackHandleErrorReason.Reserved>;
|
|
15
|
+
}
|
|
16
|
+
export type DataTrackHandle = number;
|
|
17
|
+
export declare const DataTrackHandle: {
|
|
18
|
+
fromNumber(raw: number): Throws<DataTrackHandle, DataTrackHandleError>;
|
|
19
|
+
};
|
|
20
|
+
/** Manage allocating new handles which don't conflict over the lifetime of the client. */
|
|
21
|
+
export declare class DataTrackHandleAllocator {
|
|
22
|
+
value: number;
|
|
23
|
+
/** Returns a unique track handle for the next publication, if one can be obtained. */
|
|
24
|
+
get(): DataTrackHandle | null;
|
|
25
|
+
reset(): void;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=handle.d.ts.map
|