livekit-client 2.22.3 → 2.22.4
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 +2 -1
- package/dist/livekit-client.e2ee.worker.mjs.map +1 -1
- package/dist/livekit-client.esm.mjs +602 -247
- 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/options.d.ts +14 -0
- package/dist/src/options.d.ts.map +1 -1
- package/dist/src/room/PCTransport.d.ts +78 -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 +8 -0
- package/dist/src/room/RTCEngine.d.ts.map +1 -1
- package/dist/src/room/Room.d.ts +1 -1
- package/dist/src/room/Room.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/publishUtils.d.ts.map +1 -1
- package/dist/src/room/rpc/client/RpcClientManager.d.ts.map +1 -1
- package/dist/src/room/track/LocalTrack.d.ts.map +1 -1
- package/dist/src/room/track/LocalVideoTrack.d.ts +2 -0
- package/dist/src/room/track/LocalVideoTrack.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 +32 -0
- 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 +33 -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 +28 -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 +246 -175
- package/dist/ts4.2/room/PCTransportManager.d.ts +77 -77
- package/dist/ts4.2/room/RTCEngine.d.ts +269 -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 +354 -365
- package/dist/ts4.2/room/attribute-typings.d.ts +35 -35
- package/dist/ts4.2/room/data-channel/DataChannelManager.d.ts +62 -62
- package/dist/ts4.2/room/data-channel/FlowControlledDataChannel.d.ts +94 -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 +287 -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 +39 -42
- package/dist/ts4.2/room/track/LocalTrack.d.ts +125 -125
- package/dist/ts4.2/room/track/LocalTrackPublication.d.ts +42 -42
- package/dist/ts4.2/room/track/LocalVideoTrack.d.ts +102 -100
- package/dist/ts4.2/room/track/RemoteAudioTrack.d.ts +55 -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 +31 -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 +246 -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 +160 -10
- package/src/api/SignalClient.ts +75 -54
- package/src/options.ts +16 -0
- package/src/room/PCTransport.test.ts +183 -7
- package/src/room/PCTransport.ts +197 -36
- package/src/room/PCTransportManager.ts +3 -1
- package/src/room/RTCEngine.test.ts +84 -0
- package/src/room/RTCEngine.ts +24 -5
- package/src/room/Room.test.ts +32 -6
- package/src/room/Room.ts +26 -6
- package/src/room/data-stream/incoming/IncomingDataStreamManager.test.ts +16 -20
- package/src/room/data-stream/incoming/IncomingDataStreamManager.ts +5 -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/publishUtils.ts +0 -19
- package/src/room/rpc/client/RpcClientManager.test.ts +51 -0
- package/src/room/rpc/client/RpcClientManager.ts +32 -15
- package/src/room/track/LocalTrack.ts +18 -7
- package/src/room/track/LocalVideoTrack.ts +10 -3
- package/src/room/track/RemoteAudioTrack.ts +3 -3
- package/src/room/track/RemoteVideoTrack.test.ts +210 -0
- package/src/room/track/RemoteVideoTrack.ts +29 -3
- package/src/room/track/utils.test.ts +201 -2
- package/src/room/track/utils.ts +88 -0
- package/src/room/utils.test.ts +124 -0
- package/src/room/utils.ts +70 -0
- package/src/test/compressionStreamStubs.ts +53 -0
|
@@ -1,365 +1,354 @@
|
|
|
1
|
-
import { DataPacket_Kind, DisconnectReason, Encryption_Type, MetricsBatch, ParticipantPermission, ServerInfo, SipDTMF, SubscriptionError, TranscriptionSegment as TranscriptionSegmentModel } from '@livekit/protocol';
|
|
2
|
-
import 'webrtc-adapter';
|
|
3
|
-
import type TypedEmitter from 'typed-emitter';
|
|
4
|
-
import type { InternalRoomOptions, RoomConnectOptions, RoomOptions } from '../options';
|
|
5
|
-
import type { NonSharedUint8Array } from '../type-polyfills/non-shared-typed-arrays';
|
|
6
|
-
import TypedPromise from '../utils/TypedPromise';
|
|
7
|
-
import RTCEngine, { DataChannelKind } from './RTCEngine';
|
|
8
|
-
import type { ByteStreamHandler, TextStreamHandler } from './data-stream/incoming/StreamReader';
|
|
9
|
-
import type LocalDataTrack from './data-track/LocalDataTrack';
|
|
10
|
-
import type RemoteDataTrack from './data-track/RemoteDataTrack';
|
|
11
|
-
import type { DataTrackSid } from './data-track/types';
|
|
12
|
-
import { UnexpectedConnectionState } from './errors';
|
|
13
|
-
import LocalParticipant from './participant/LocalParticipant';
|
|
14
|
-
import Participant from './participant/Participant';
|
|
15
|
-
import type { ConnectionQuality } from './participant/Participant';
|
|
16
|
-
import RemoteParticipant from './participant/RemoteParticipant';
|
|
17
|
-
import type { RpcInvocationData } from './rpc';
|
|
18
|
-
import LocalTrackPublication from './track/LocalTrackPublication';
|
|
19
|
-
import type RemoteTrack from './track/RemoteTrack';
|
|
20
|
-
import RemoteTrackPublication from './track/RemoteTrackPublication';
|
|
21
|
-
import { Track } from './track/Track';
|
|
22
|
-
import type { TrackPublication } from './track/TrackPublication';
|
|
23
|
-
import type { ChatMessage, SimulationOptions, SimulationScenario, TranscriptionSegment } from './types';
|
|
24
|
-
export declare enum ConnectionState {
|
|
25
|
-
Disconnected = "disconnected",
|
|
26
|
-
Connecting = "connecting",
|
|
27
|
-
Connected = "connected",
|
|
28
|
-
Reconnecting = "reconnecting",
|
|
29
|
-
SignalReconnecting = "signalReconnecting"
|
|
30
|
-
}
|
|
31
|
-
declare const Room_base: new () => TypedEmitter<RoomEventCallbacks>;
|
|
32
|
-
/**
|
|
33
|
-
* In LiveKit, a room is the logical grouping for a list of participants.
|
|
34
|
-
* Participants in a room can publish tracks, and subscribe to others' tracks.
|
|
35
|
-
*
|
|
36
|
-
* a Room fires [[RoomEvent | RoomEvents]].
|
|
37
|
-
*
|
|
38
|
-
* @noInheritDoc
|
|
39
|
-
*/
|
|
40
|
-
declare class Room extends Room_base {
|
|
41
|
-
state: ConnectionState;
|
|
42
|
-
/**
|
|
43
|
-
* map of identity: [[RemoteParticipant]]
|
|
44
|
-
*/
|
|
45
|
-
remoteParticipants: Map<string, RemoteParticipant>;
|
|
46
|
-
/**
|
|
47
|
-
* list of participants that are actively speaking. when this changes
|
|
48
|
-
* a [[RoomEvent.ActiveSpeakersChanged]] event is fired
|
|
49
|
-
*/
|
|
50
|
-
activeSpeakers: Participant[];
|
|
51
|
-
/** @internal */
|
|
52
|
-
engine: RTCEngine;
|
|
53
|
-
/** the current participant */
|
|
54
|
-
localParticipant: LocalParticipant;
|
|
55
|
-
/** options of room */
|
|
56
|
-
options: InternalRoomOptions;
|
|
57
|
-
/** reflects the sender encryption status of the local participant */
|
|
58
|
-
isE2EEEnabled: boolean;
|
|
59
|
-
serverInfo?: Partial<ServerInfo>;
|
|
60
|
-
private roomInfo?;
|
|
61
|
-
private sidToIdentity;
|
|
62
|
-
/** connect options of room */
|
|
63
|
-
private connOptions?;
|
|
64
|
-
private audioEnabled;
|
|
65
|
-
private audioContext?;
|
|
66
|
-
/** used for aborting pending connections to a LiveKit server */
|
|
67
|
-
private abortController?;
|
|
68
|
-
/** future holding client initiated connection attempt */
|
|
69
|
-
private connectFuture?;
|
|
70
|
-
private disconnectLock;
|
|
71
|
-
private e2eeManager;
|
|
72
|
-
private frameMetadataManager;
|
|
73
|
-
private e2eeStateMutex;
|
|
74
|
-
private connectionReconcileInterval?;
|
|
75
|
-
private statsLogInterval?;
|
|
76
|
-
private regionUrlProvider?;
|
|
77
|
-
private regionUrl?;
|
|
78
|
-
private isVideoPlaybackBlocked;
|
|
79
|
-
private log;
|
|
80
|
-
private statsLog;
|
|
81
|
-
private bufferedEvents;
|
|
82
|
-
private isResuming;
|
|
83
|
-
private pendingTrackAddedCallbacks;
|
|
84
|
-
/**
|
|
85
|
-
* map to store first point in time when a particular transcription segment was received
|
|
86
|
-
*/
|
|
87
|
-
private transcriptionReceivedTimes;
|
|
88
|
-
private incomingDataStreamManager;
|
|
89
|
-
private outgoingDataStreamManager;
|
|
90
|
-
private incomingDataTrackManager;
|
|
91
|
-
private outgoingDataTrackManager;
|
|
92
|
-
private rpcClientManager;
|
|
93
|
-
private rpcServerManager;
|
|
94
|
-
get hasE2EESetup(): boolean;
|
|
95
|
-
/**
|
|
96
|
-
* Creates a new Room, the primary construct for a LiveKit session.
|
|
97
|
-
* @param options
|
|
98
|
-
*/
|
|
99
|
-
constructor(options?: RoomOptions);
|
|
100
|
-
registerTextStreamHandler(topic: string, callback: TextStreamHandler): void;
|
|
101
|
-
unregisterTextStreamHandler(topic: string): void;
|
|
102
|
-
registerByteStreamHandler(topic: string, callback: ByteStreamHandler): void;
|
|
103
|
-
unregisterByteStreamHandler(topic: string): void;
|
|
104
|
-
/**
|
|
105
|
-
* Establishes the participant as a receiver for calls of the specified RPC method.
|
|
106
|
-
*
|
|
107
|
-
* @param method - The name of the indicated RPC method
|
|
108
|
-
* @param handler - Will be invoked when an RPC request for this method is received
|
|
109
|
-
* @returns A promise that resolves when the method is successfully registered
|
|
110
|
-
* @throws {Error} If a handler for this method is already registered (must call unregisterRpcMethod first)
|
|
111
|
-
*
|
|
112
|
-
* @example
|
|
113
|
-
* ```typescript
|
|
114
|
-
* room.localParticipant?.registerRpcMethod(
|
|
115
|
-
* 'greet',
|
|
116
|
-
* async (data: RpcInvocationData) => {
|
|
117
|
-
* console.log(`Received greeting from ${data.callerIdentity}: ${data.payload}`);
|
|
118
|
-
* return `Hello, ${data.callerIdentity}!`;
|
|
119
|
-
* }
|
|
120
|
-
* );
|
|
121
|
-
* ```
|
|
122
|
-
*
|
|
123
|
-
* The handler should return a Promise that resolves to a string.
|
|
124
|
-
* If unable to respond within `responseTimeout`, the request will result in an error on the caller's side.
|
|
125
|
-
*
|
|
126
|
-
* You may throw errors of type `RpcError` with a string `message` in the handler,
|
|
127
|
-
* and they will be received on the caller's side with the message intact.
|
|
128
|
-
* Other errors thrown in your handler will not be transmitted as-is, and will instead arrive to the caller as `1500` ("Application Error").
|
|
129
|
-
*/
|
|
130
|
-
registerRpcMethod(method: string, handler: (data: RpcInvocationData) => Promise<string>): void;
|
|
131
|
-
/**
|
|
132
|
-
* Unregisters a previously registered RPC method.
|
|
133
|
-
*
|
|
134
|
-
* @param method - The name of the RPC method to unregister
|
|
135
|
-
*/
|
|
136
|
-
unregisterRpcMethod(method: string): void;
|
|
137
|
-
/**
|
|
138
|
-
* @experimental
|
|
139
|
-
*/
|
|
140
|
-
setE2EEEnabled(enabled: boolean): Promise<void>;
|
|
141
|
-
private setupE2EE;
|
|
142
|
-
private setupFrameMetadata;
|
|
143
|
-
private get logContext();
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
*
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
*
|
|
172
|
-
* to
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
*
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
* @
|
|
192
|
-
*/
|
|
193
|
-
|
|
194
|
-
private
|
|
195
|
-
/**
|
|
196
|
-
*
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
*
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
*
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
private
|
|
230
|
-
private
|
|
231
|
-
private
|
|
232
|
-
private
|
|
233
|
-
private
|
|
234
|
-
private
|
|
235
|
-
private
|
|
236
|
-
private
|
|
237
|
-
private
|
|
238
|
-
private
|
|
239
|
-
private
|
|
240
|
-
private
|
|
241
|
-
private
|
|
242
|
-
|
|
243
|
-
private
|
|
244
|
-
private
|
|
245
|
-
private
|
|
246
|
-
private
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
private
|
|
251
|
-
private
|
|
252
|
-
private
|
|
253
|
-
|
|
254
|
-
private
|
|
255
|
-
private
|
|
256
|
-
private
|
|
257
|
-
private
|
|
258
|
-
/**
|
|
259
|
-
*
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
private
|
|
263
|
-
private
|
|
264
|
-
|
|
265
|
-
private
|
|
266
|
-
private
|
|
267
|
-
private
|
|
268
|
-
private
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
private
|
|
275
|
-
|
|
276
|
-
private
|
|
277
|
-
private
|
|
278
|
-
private
|
|
279
|
-
private
|
|
280
|
-
private
|
|
281
|
-
private
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
private
|
|
286
|
-
private
|
|
287
|
-
private
|
|
288
|
-
private
|
|
289
|
-
private
|
|
290
|
-
private
|
|
291
|
-
private
|
|
292
|
-
private
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
activeDeviceChanged: (kind: MediaDeviceKind, deviceId: string) => void;
|
|
356
|
-
chatMessage: (message: ChatMessage, participant?: RemoteParticipant | LocalParticipant) => void;
|
|
357
|
-
localTrackSubscribed: (publication: LocalTrackPublication, participant: LocalParticipant) => void;
|
|
358
|
-
metricsReceived: (metrics: MetricsBatch, participant?: Participant) => void;
|
|
359
|
-
participantActive: (participant: Participant) => void;
|
|
360
|
-
dataTrackPublished: (track: RemoteDataTrack) => void;
|
|
361
|
-
dataTrackUnpublished: (sid: DataTrackSid) => void;
|
|
362
|
-
localDataTrackPublished: (track: LocalDataTrack) => void;
|
|
363
|
-
localDataTrackUnpublished: (sid: DataTrackSid) => void;
|
|
364
|
-
};
|
|
365
|
-
//# sourceMappingURL=Room.d.ts.map
|
|
1
|
+
import { DataPacket_Kind, DisconnectReason, Encryption_Type, MetricsBatch, ParticipantPermission, ServerInfo, SipDTMF, SubscriptionError, TranscriptionSegment as TranscriptionSegmentModel } from '@livekit/protocol';
|
|
2
|
+
import 'webrtc-adapter';
|
|
3
|
+
import type TypedEmitter from 'typed-emitter';
|
|
4
|
+
import type { InternalRoomOptions, RoomConnectOptions, RoomOptions } from '../options';
|
|
5
|
+
import type { NonSharedUint8Array } from '../type-polyfills/non-shared-typed-arrays';
|
|
6
|
+
import TypedPromise from '../utils/TypedPromise';
|
|
7
|
+
import RTCEngine, { DataChannelKind } from './RTCEngine';
|
|
8
|
+
import type { ByteStreamHandler, TextStreamHandler } from './data-stream/incoming/StreamReader';
|
|
9
|
+
import type LocalDataTrack from './data-track/LocalDataTrack';
|
|
10
|
+
import type RemoteDataTrack from './data-track/RemoteDataTrack';
|
|
11
|
+
import type { DataTrackSid } from './data-track/types';
|
|
12
|
+
import { UnexpectedConnectionState } from './errors';
|
|
13
|
+
import LocalParticipant from './participant/LocalParticipant';
|
|
14
|
+
import Participant from './participant/Participant';
|
|
15
|
+
import type { ConnectionQuality } from './participant/Participant';
|
|
16
|
+
import RemoteParticipant from './participant/RemoteParticipant';
|
|
17
|
+
import type { RpcInvocationData } from './rpc';
|
|
18
|
+
import LocalTrackPublication from './track/LocalTrackPublication';
|
|
19
|
+
import type RemoteTrack from './track/RemoteTrack';
|
|
20
|
+
import RemoteTrackPublication from './track/RemoteTrackPublication';
|
|
21
|
+
import { Track } from './track/Track';
|
|
22
|
+
import type { TrackPublication } from './track/TrackPublication';
|
|
23
|
+
import type { ChatMessage, SimulationOptions, SimulationScenario, TranscriptionSegment } from './types';
|
|
24
|
+
export declare enum ConnectionState {
|
|
25
|
+
Disconnected = "disconnected",
|
|
26
|
+
Connecting = "connecting",
|
|
27
|
+
Connected = "connected",
|
|
28
|
+
Reconnecting = "reconnecting",
|
|
29
|
+
SignalReconnecting = "signalReconnecting"
|
|
30
|
+
}
|
|
31
|
+
declare const Room_base: new () => TypedEmitter<RoomEventCallbacks>;
|
|
32
|
+
/**
|
|
33
|
+
* In LiveKit, a room is the logical grouping for a list of participants.
|
|
34
|
+
* Participants in a room can publish tracks, and subscribe to others' tracks.
|
|
35
|
+
*
|
|
36
|
+
* a Room fires [[RoomEvent | RoomEvents]].
|
|
37
|
+
*
|
|
38
|
+
* @noInheritDoc
|
|
39
|
+
*/
|
|
40
|
+
declare class Room extends Room_base {
|
|
41
|
+
state: ConnectionState;
|
|
42
|
+
/**
|
|
43
|
+
* map of identity: [[RemoteParticipant]]
|
|
44
|
+
*/
|
|
45
|
+
remoteParticipants: Map<string, RemoteParticipant>;
|
|
46
|
+
/**
|
|
47
|
+
* list of participants that are actively speaking. when this changes
|
|
48
|
+
* a [[RoomEvent.ActiveSpeakersChanged]] event is fired
|
|
49
|
+
*/
|
|
50
|
+
activeSpeakers: Participant[];
|
|
51
|
+
/** @internal */
|
|
52
|
+
engine: RTCEngine;
|
|
53
|
+
/** the current participant */
|
|
54
|
+
localParticipant: LocalParticipant;
|
|
55
|
+
/** options of room */
|
|
56
|
+
options: InternalRoomOptions;
|
|
57
|
+
/** reflects the sender encryption status of the local participant */
|
|
58
|
+
isE2EEEnabled: boolean;
|
|
59
|
+
serverInfo?: Partial<ServerInfo>;
|
|
60
|
+
private roomInfo?;
|
|
61
|
+
private sidToIdentity;
|
|
62
|
+
/** connect options of room */
|
|
63
|
+
private connOptions?;
|
|
64
|
+
private audioEnabled;
|
|
65
|
+
private audioContext?;
|
|
66
|
+
/** used for aborting pending connections to a LiveKit server */
|
|
67
|
+
private abortController?;
|
|
68
|
+
/** future holding client initiated connection attempt */
|
|
69
|
+
private connectFuture?;
|
|
70
|
+
private disconnectLock;
|
|
71
|
+
private e2eeManager;
|
|
72
|
+
private frameMetadataManager;
|
|
73
|
+
private e2eeStateMutex;
|
|
74
|
+
private connectionReconcileInterval?;
|
|
75
|
+
private statsLogInterval?;
|
|
76
|
+
private regionUrlProvider?;
|
|
77
|
+
private regionUrl?;
|
|
78
|
+
private isVideoPlaybackBlocked;
|
|
79
|
+
private log;
|
|
80
|
+
private statsLog;
|
|
81
|
+
private bufferedEvents;
|
|
82
|
+
private isResuming;
|
|
83
|
+
private pendingTrackAddedCallbacks;
|
|
84
|
+
/**
|
|
85
|
+
* map to store first point in time when a particular transcription segment was received
|
|
86
|
+
*/
|
|
87
|
+
private transcriptionReceivedTimes;
|
|
88
|
+
private incomingDataStreamManager;
|
|
89
|
+
private outgoingDataStreamManager;
|
|
90
|
+
private incomingDataTrackManager;
|
|
91
|
+
private outgoingDataTrackManager;
|
|
92
|
+
private rpcClientManager;
|
|
93
|
+
private rpcServerManager;
|
|
94
|
+
get hasE2EESetup(): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Creates a new Room, the primary construct for a LiveKit session.
|
|
97
|
+
* @param options
|
|
98
|
+
*/
|
|
99
|
+
constructor(options?: RoomOptions);
|
|
100
|
+
registerTextStreamHandler(topic: string, callback: TextStreamHandler): void;
|
|
101
|
+
unregisterTextStreamHandler(topic: string): void;
|
|
102
|
+
registerByteStreamHandler(topic: string, callback: ByteStreamHandler): void;
|
|
103
|
+
unregisterByteStreamHandler(topic: string): void;
|
|
104
|
+
/**
|
|
105
|
+
* Establishes the participant as a receiver for calls of the specified RPC method.
|
|
106
|
+
*
|
|
107
|
+
* @param method - The name of the indicated RPC method
|
|
108
|
+
* @param handler - Will be invoked when an RPC request for this method is received
|
|
109
|
+
* @returns A promise that resolves when the method is successfully registered
|
|
110
|
+
* @throws {Error} If a handler for this method is already registered (must call unregisterRpcMethod first)
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```typescript
|
|
114
|
+
* room.localParticipant?.registerRpcMethod(
|
|
115
|
+
* 'greet',
|
|
116
|
+
* async (data: RpcInvocationData) => {
|
|
117
|
+
* console.log(`Received greeting from ${data.callerIdentity}: ${data.payload}`);
|
|
118
|
+
* return `Hello, ${data.callerIdentity}!`;
|
|
119
|
+
* }
|
|
120
|
+
* );
|
|
121
|
+
* ```
|
|
122
|
+
*
|
|
123
|
+
* The handler should return a Promise that resolves to a string.
|
|
124
|
+
* If unable to respond within `responseTimeout`, the request will result in an error on the caller's side.
|
|
125
|
+
*
|
|
126
|
+
* You may throw errors of type `RpcError` with a string `message` in the handler,
|
|
127
|
+
* and they will be received on the caller's side with the message intact.
|
|
128
|
+
* Other errors thrown in your handler will not be transmitted as-is, and will instead arrive to the caller as `1500` ("Application Error").
|
|
129
|
+
*/
|
|
130
|
+
registerRpcMethod(method: string, handler: (data: RpcInvocationData) => Promise<string>): void;
|
|
131
|
+
/**
|
|
132
|
+
* Unregisters a previously registered RPC method.
|
|
133
|
+
*
|
|
134
|
+
* @param method - The name of the RPC method to unregister
|
|
135
|
+
*/
|
|
136
|
+
unregisterRpcMethod(method: string): void;
|
|
137
|
+
/**
|
|
138
|
+
* @experimental
|
|
139
|
+
*/
|
|
140
|
+
setE2EEEnabled(enabled: boolean): Promise<void>;
|
|
141
|
+
private setupE2EE;
|
|
142
|
+
private setupFrameMetadata;
|
|
143
|
+
private get logContext();
|
|
144
|
+
get isRecording(): boolean;
|
|
145
|
+
/**
|
|
146
|
+
* server assigned unique room id.
|
|
147
|
+
* returns once a sid has been issued by the server.
|
|
148
|
+
*/
|
|
149
|
+
getSid(): TypedPromise<string, UnexpectedConnectionState>;
|
|
150
|
+
get name(): string;
|
|
151
|
+
get metadata(): (string | undefined);
|
|
152
|
+
get numParticipants(): number;
|
|
153
|
+
get numPublishers(): number;
|
|
154
|
+
private maybeCreateEngine;
|
|
155
|
+
private createRegionStrategy;
|
|
156
|
+
/**
|
|
157
|
+
* getLocalDevices abstracts navigator.mediaDevices.enumerateDevices.
|
|
158
|
+
* In particular, it requests device permissions by default if needed
|
|
159
|
+
* and makes sure the returned device does not consist of dummy devices
|
|
160
|
+
* @param kind
|
|
161
|
+
* @returns a list of available local devices
|
|
162
|
+
*/
|
|
163
|
+
static getLocalDevices(kind?: MediaDeviceKind, requestPermissions?: boolean): Promise<MediaDeviceInfo[]>;
|
|
164
|
+
static cleanupRegistry: false | FinalizationRegistry<() => void>;
|
|
165
|
+
/**
|
|
166
|
+
* prepareConnection should be called as soon as the page is loaded, in order
|
|
167
|
+
* to speed up the connection attempt. This function will
|
|
168
|
+
* - perform DNS resolution and pre-warm the DNS cache
|
|
169
|
+
* - establish TLS connection and cache TLS keys
|
|
170
|
+
*
|
|
171
|
+
* With LiveKit Cloud, it will also determine the best edge data center for
|
|
172
|
+
* the current client to connect to if a token is provided.
|
|
173
|
+
*/
|
|
174
|
+
prepareConnection(url: string, token?: string): Promise<void>;
|
|
175
|
+
connect: (url: string, token: string, opts?: RoomConnectOptions) => Promise<void>;
|
|
176
|
+
private connectSignal;
|
|
177
|
+
private applyJoinResponse;
|
|
178
|
+
private attemptConnection;
|
|
179
|
+
/**
|
|
180
|
+
* disconnects the room, emits [[RoomEvent.Disconnected]]
|
|
181
|
+
*/
|
|
182
|
+
disconnect: (stopTracks?: boolean) => Promise<void>;
|
|
183
|
+
/**
|
|
184
|
+
* retrieves a participant by identity
|
|
185
|
+
* @param identity
|
|
186
|
+
* @returns
|
|
187
|
+
*/
|
|
188
|
+
getParticipantByIdentity(identity: string): Participant | undefined;
|
|
189
|
+
private clearConnectionFutures;
|
|
190
|
+
/**
|
|
191
|
+
* @internal for testing
|
|
192
|
+
*/
|
|
193
|
+
simulateScenario(scenario: SimulationScenario, arg?: any): Promise<void>;
|
|
194
|
+
private onPageLeave;
|
|
195
|
+
/**
|
|
196
|
+
* Browsers have different policies regarding audio playback. Most requiring
|
|
197
|
+
* some form of user interaction (click/tap/etc).
|
|
198
|
+
* In those cases, audio will be silent until a click/tap triggering one of the following
|
|
199
|
+
* - `startAudio`
|
|
200
|
+
* - `getUserMedia`
|
|
201
|
+
*/
|
|
202
|
+
startAudio: () => Promise<void>;
|
|
203
|
+
startVideo: () => Promise<void>;
|
|
204
|
+
get canPlaybackAudio(): boolean;
|
|
205
|
+
get canPlaybackVideo(): boolean;
|
|
206
|
+
getActiveDevice(kind: MediaDeviceKind): string | undefined;
|
|
207
|
+
/**
|
|
208
|
+
* Switches all active devices used in this room to the given device.
|
|
209
|
+
*
|
|
210
|
+
* Note: setting AudioOutput is not supported on some browsers. See [setSinkId](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/setSinkId#browser_compatibility)
|
|
211
|
+
*
|
|
212
|
+
* @param kind use `videoinput` for camera track,
|
|
213
|
+
* `audioinput` for microphone track,
|
|
214
|
+
* `audiooutput` to set speaker for all incoming audio tracks
|
|
215
|
+
* @param deviceId
|
|
216
|
+
*/
|
|
217
|
+
switchActiveDevice(kind: MediaDeviceKind, deviceId: string, exact?: boolean): Promise<boolean>;
|
|
218
|
+
private setupLocalParticipantEvents;
|
|
219
|
+
private recreateEngine;
|
|
220
|
+
private onTrackAdded;
|
|
221
|
+
private cancelPendingTrackAdded;
|
|
222
|
+
private handleLocalTrackSubscribed;
|
|
223
|
+
private emitLocalTrackSubscribed;
|
|
224
|
+
private handleRestarting;
|
|
225
|
+
private handleRestarted;
|
|
226
|
+
private handleSignalRestarted;
|
|
227
|
+
private handleDisconnect;
|
|
228
|
+
private handleParticipantUpdates;
|
|
229
|
+
private handleParticipantDisconnected;
|
|
230
|
+
private handleActiveSpeakersUpdate;
|
|
231
|
+
private handleSpeakersChanged;
|
|
232
|
+
private handleStreamStateUpdate;
|
|
233
|
+
private handleSubscriptionPermissionUpdate;
|
|
234
|
+
private handleSubscriptionError;
|
|
235
|
+
private handleDataPacket;
|
|
236
|
+
private handleUserPacket;
|
|
237
|
+
private handleSipDtmf;
|
|
238
|
+
private handleTranscription;
|
|
239
|
+
private handleChatMessage;
|
|
240
|
+
private handleMetrics;
|
|
241
|
+
private handleDataStream;
|
|
242
|
+
bufferedSegments: Map<string, TranscriptionSegmentModel>;
|
|
243
|
+
private handleAudioPlaybackStarted;
|
|
244
|
+
private handleAudioPlaybackFailed;
|
|
245
|
+
private handleVideoPlaybackStarted;
|
|
246
|
+
private handleVideoPlaybackFailed;
|
|
247
|
+
/**
|
|
248
|
+
* attempt to select the default devices if the previously selected devices are no longer available after a device change event
|
|
249
|
+
*/
|
|
250
|
+
private selectDefaultDevices;
|
|
251
|
+
private handleDeviceChange;
|
|
252
|
+
private handleRoomUpdate;
|
|
253
|
+
private handleConnectionQualityUpdate;
|
|
254
|
+
private acquireAudioContext;
|
|
255
|
+
private createParticipant;
|
|
256
|
+
private getOrCreateParticipant;
|
|
257
|
+
private sendSyncState;
|
|
258
|
+
/**
|
|
259
|
+
* After resuming, we'll need to notify the server of the current
|
|
260
|
+
* subscription settings.
|
|
261
|
+
*/
|
|
262
|
+
private updateSubscriptions;
|
|
263
|
+
private getRemoteParticipantBySid;
|
|
264
|
+
/** The client capabilities this SDK advertises to other participants in its `ClientInfo`. */
|
|
265
|
+
private getClientInfoCapabilities;
|
|
266
|
+
private getRemoteParticipantClientProtocol;
|
|
267
|
+
private getRemoteParticipantCapabilities;
|
|
268
|
+
private getAllRemoteParticipantIdentities;
|
|
269
|
+
private registerRpcDataStreamHandler;
|
|
270
|
+
private setStatsLogging;
|
|
271
|
+
/**
|
|
272
|
+
* Dumps stats of both peer connections.
|
|
273
|
+
*/
|
|
274
|
+
private logWebRTCStats;
|
|
275
|
+
private registerConnectionReconcile;
|
|
276
|
+
private clearConnectionReconcile;
|
|
277
|
+
private setAndEmitConnectionState;
|
|
278
|
+
private emitBufferedEvents;
|
|
279
|
+
private emitWhenConnected;
|
|
280
|
+
private onLocalParticipantMetadataChanged;
|
|
281
|
+
private onLocalParticipantNameChanged;
|
|
282
|
+
private onLocalAttributesChanged;
|
|
283
|
+
private onLocalTrackMuted;
|
|
284
|
+
private onLocalTrackUnmuted;
|
|
285
|
+
private onTrackProcessorUpdate;
|
|
286
|
+
private onLocalTrackPublished;
|
|
287
|
+
private onLocalTrackUnpublished;
|
|
288
|
+
private onLocalTrackRestarted;
|
|
289
|
+
private onLocalConnectionQualityChanged;
|
|
290
|
+
private onMediaDevicesError;
|
|
291
|
+
private onLocalParticipantPermissionsChanged;
|
|
292
|
+
private onLocalChatMessageSent;
|
|
293
|
+
/**
|
|
294
|
+
* Allows to populate a room with simulated participants.
|
|
295
|
+
* No actual connection to a server will be established, all state is
|
|
296
|
+
* @experimental
|
|
297
|
+
*/
|
|
298
|
+
simulateParticipants(options: SimulationOptions): Promise<void>;
|
|
299
|
+
emit<E extends keyof RoomEventCallbacks>(event: E, ...args: Parameters<RoomEventCallbacks[E]>): boolean;
|
|
300
|
+
}
|
|
301
|
+
export default Room;
|
|
302
|
+
export type RoomEventCallbacks = {
|
|
303
|
+
connected: () => void;
|
|
304
|
+
reconnecting: () => void;
|
|
305
|
+
signalReconnecting: () => void;
|
|
306
|
+
reconnected: () => void;
|
|
307
|
+
disconnected: (reason?: DisconnectReason) => void;
|
|
308
|
+
connectionStateChanged: (state: ConnectionState) => void;
|
|
309
|
+
moved: (name: string) => void;
|
|
310
|
+
mediaDevicesChanged: () => void;
|
|
311
|
+
participantConnected: (participant: RemoteParticipant) => void;
|
|
312
|
+
participantDisconnected: (participant: RemoteParticipant, disconnectReason?: DisconnectReason) => void;
|
|
313
|
+
trackPublished: (publication: RemoteTrackPublication, participant: RemoteParticipant) => void;
|
|
314
|
+
trackSubscribed: (track: RemoteTrack, publication: RemoteTrackPublication, participant: RemoteParticipant) => void;
|
|
315
|
+
trackSubscriptionFailed: (trackSid: string, participant: RemoteParticipant, reason?: SubscriptionError) => void;
|
|
316
|
+
trackUnpublished: (publication: RemoteTrackPublication, participant: RemoteParticipant) => void;
|
|
317
|
+
trackUnsubscribed: (track: RemoteTrack, publication: RemoteTrackPublication, participant: RemoteParticipant) => void;
|
|
318
|
+
trackMuted: (publication: TrackPublication, participant: Participant) => void;
|
|
319
|
+
trackUnmuted: (publication: TrackPublication, participant: Participant) => void;
|
|
320
|
+
localTrackPublished: (publication: LocalTrackPublication, participant: LocalParticipant) => void;
|
|
321
|
+
localTrackUnpublished: (publication: LocalTrackPublication, participant: LocalParticipant) => void;
|
|
322
|
+
localAudioSilenceDetected: (publication: LocalTrackPublication) => void;
|
|
323
|
+
participantMetadataChanged: (metadata: string | undefined, participant: RemoteParticipant | LocalParticipant) => void;
|
|
324
|
+
participantNameChanged: (name: string, participant: RemoteParticipant | LocalParticipant) => void;
|
|
325
|
+
participantPermissionsChanged: (prevPermissions: ParticipantPermission | undefined, participant: RemoteParticipant | LocalParticipant) => void;
|
|
326
|
+
participantAttributesChanged: (changedAttributes: Record<string, string>, participant: RemoteParticipant | LocalParticipant) => void;
|
|
327
|
+
activeSpeakersChanged: (speakers: Array<Participant>) => void;
|
|
328
|
+
roomMetadataChanged: (metadata: string) => void;
|
|
329
|
+
dataReceived: (payload: NonSharedUint8Array, participant?: RemoteParticipant, kind?: DataPacket_Kind, topic?: string, encryptionType?: Encryption_Type, participantIdentity?: string) => void;
|
|
330
|
+
sipDTMFReceived: (dtmf: SipDTMF, participant?: RemoteParticipant) => void;
|
|
331
|
+
transcriptionReceived: (transcription: TranscriptionSegment[], participant?: Participant, publication?: TrackPublication) => void;
|
|
332
|
+
connectionQualityChanged: (quality: ConnectionQuality, participant: Participant) => void;
|
|
333
|
+
mediaDevicesError: (error: Error, kind?: MediaDeviceKind) => void;
|
|
334
|
+
trackStreamStateChanged: (publication: RemoteTrackPublication, streamState: Track.StreamState, participant: RemoteParticipant) => void;
|
|
335
|
+
trackSubscriptionPermissionChanged: (publication: RemoteTrackPublication, status: TrackPublication.PermissionStatus, participant: RemoteParticipant) => void;
|
|
336
|
+
trackSubscriptionStatusChanged: (publication: RemoteTrackPublication, status: TrackPublication.SubscriptionStatus, participant: RemoteParticipant) => void;
|
|
337
|
+
audioPlaybackChanged: (playing: boolean) => void;
|
|
338
|
+
videoPlaybackChanged: (playing: boolean) => void;
|
|
339
|
+
signalConnected: () => void;
|
|
340
|
+
recordingStatusChanged: (recording: boolean) => void;
|
|
341
|
+
participantEncryptionStatusChanged: (encrypted: boolean, participant?: Participant) => void;
|
|
342
|
+
encryptionError: (error: Error, participant?: Participant) => void;
|
|
343
|
+
dcBufferStatusChanged: (isLow: boolean, kind: DataChannelKind) => void;
|
|
344
|
+
activeDeviceChanged: (kind: MediaDeviceKind, deviceId: string) => void;
|
|
345
|
+
chatMessage: (message: ChatMessage, participant?: RemoteParticipant | LocalParticipant) => void;
|
|
346
|
+
localTrackSubscribed: (publication: LocalTrackPublication, participant: LocalParticipant) => void;
|
|
347
|
+
metricsReceived: (metrics: MetricsBatch, participant?: Participant) => void;
|
|
348
|
+
participantActive: (participant: Participant) => void;
|
|
349
|
+
dataTrackPublished: (track: RemoteDataTrack) => void;
|
|
350
|
+
dataTrackUnpublished: (sid: DataTrackSid) => void;
|
|
351
|
+
localDataTrackPublished: (track: LocalDataTrack) => void;
|
|
352
|
+
localDataTrackUnpublished: (sid: DataTrackSid) => void;
|
|
353
|
+
};
|
|
354
|
+
//# sourceMappingURL=Room.d.ts.map
|