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.
Files changed (214) hide show
  1. package/README.md +35 -0
  2. package/dist/livekit-client.e2ee.worker.js +1 -1
  3. package/dist/livekit-client.e2ee.worker.js.map +1 -1
  4. package/dist/livekit-client.e2ee.worker.mjs +2 -1
  5. package/dist/livekit-client.e2ee.worker.mjs.map +1 -1
  6. package/dist/livekit-client.esm.mjs +602 -247
  7. package/dist/livekit-client.esm.mjs.map +1 -1
  8. package/dist/livekit-client.fm.worker.js +1 -1
  9. package/dist/livekit-client.fm.worker.js.map +1 -1
  10. package/dist/livekit-client.fm.worker.mjs +2 -1
  11. package/dist/livekit-client.fm.worker.mjs.map +1 -1
  12. package/dist/livekit-client.umd.js +1 -1
  13. package/dist/livekit-client.umd.js.map +1 -1
  14. package/dist/src/api/SignalClient.d.ts +4 -2
  15. package/dist/src/api/SignalClient.d.ts.map +1 -1
  16. package/dist/src/options.d.ts +14 -0
  17. package/dist/src/options.d.ts.map +1 -1
  18. package/dist/src/room/PCTransport.d.ts +78 -7
  19. package/dist/src/room/PCTransport.d.ts.map +1 -1
  20. package/dist/src/room/PCTransportManager.d.ts.map +1 -1
  21. package/dist/src/room/RTCEngine.d.ts +8 -0
  22. package/dist/src/room/RTCEngine.d.ts.map +1 -1
  23. package/dist/src/room/Room.d.ts +1 -1
  24. package/dist/src/room/Room.d.ts.map +1 -1
  25. package/dist/src/room/defaults.d.ts.map +1 -1
  26. package/dist/src/room/errors.d.ts +18 -0
  27. package/dist/src/room/errors.d.ts.map +1 -1
  28. package/dist/src/room/events.d.ts +3 -2
  29. package/dist/src/room/events.d.ts.map +1 -1
  30. package/dist/src/room/participant/publishUtils.d.ts.map +1 -1
  31. package/dist/src/room/rpc/client/RpcClientManager.d.ts.map +1 -1
  32. package/dist/src/room/track/LocalTrack.d.ts.map +1 -1
  33. package/dist/src/room/track/LocalVideoTrack.d.ts +2 -0
  34. package/dist/src/room/track/LocalVideoTrack.d.ts.map +1 -1
  35. package/dist/src/room/track/utils.d.ts +13 -0
  36. package/dist/src/room/track/utils.d.ts.map +1 -1
  37. package/dist/src/room/utils.d.ts +32 -0
  38. package/dist/src/room/utils.d.ts.map +1 -1
  39. package/dist/src/test/compressionStreamStubs.d.ts +12 -0
  40. package/dist/src/test/compressionStreamStubs.d.ts.map +1 -0
  41. package/dist/ts4.2/api/SignalClient.d.ts +187 -185
  42. package/dist/ts4.2/api/SignalClientStateMachine.d.ts +85 -85
  43. package/dist/ts4.2/api/WebSocketStream.d.ts +33 -33
  44. package/dist/ts4.2/api/utils.d.ts +9 -9
  45. package/dist/ts4.2/connectionHelper/ConnectionCheck.d.ts +30 -30
  46. package/dist/ts4.2/connectionHelper/checks/Checker.d.ts +62 -62
  47. package/dist/ts4.2/connectionHelper/checks/cloudRegion.d.ts +18 -18
  48. package/dist/ts4.2/connectionHelper/checks/connectionProtocol.d.ts +20 -20
  49. package/dist/ts4.2/connectionHelper/checks/publishAudio.d.ts +6 -6
  50. package/dist/ts4.2/connectionHelper/checks/publishVideo.d.ts +7 -7
  51. package/dist/ts4.2/connectionHelper/checks/reconnect.d.ts +6 -6
  52. package/dist/ts4.2/connectionHelper/checks/turn.d.ts +6 -6
  53. package/dist/ts4.2/connectionHelper/checks/webrtc.d.ts +6 -6
  54. package/dist/ts4.2/connectionHelper/checks/websocket.d.ts +6 -6
  55. package/dist/ts4.2/e2ee/E2eeManager.d.ts +111 -111
  56. package/dist/ts4.2/e2ee/KeyProvider.d.ts +54 -54
  57. package/dist/ts4.2/e2ee/constants.d.ts +21 -21
  58. package/dist/ts4.2/e2ee/errors.d.ts +12 -12
  59. package/dist/ts4.2/e2ee/events.d.ts +39 -39
  60. package/dist/ts4.2/e2ee/index.d.ts +6 -6
  61. package/dist/ts4.2/e2ee/types.d.ts +231 -231
  62. package/dist/ts4.2/e2ee/utils.d.ts +32 -32
  63. package/dist/ts4.2/e2ee/worker/DataCryptor.d.ts +16 -16
  64. package/dist/ts4.2/e2ee/worker/ErrorRateLimiter.d.ts +21 -21
  65. package/dist/ts4.2/e2ee/worker/FrameCryptor.d.ts +209 -209
  66. package/dist/ts4.2/e2ee/worker/ParticipantKeyHandler.d.ts +81 -84
  67. package/dist/ts4.2/e2ee/worker/e2ee.worker.d.ts +2 -2
  68. package/dist/ts4.2/e2ee/worker/naluUtils.d.ts +28 -28
  69. package/dist/ts4.2/e2ee/worker/sifPayload.d.ts +23 -23
  70. package/dist/ts4.2/frameMetadata/FrameMetadataManager.d.ts +53 -53
  71. package/dist/ts4.2/frameMetadata/frameMetadata.d.ts +33 -33
  72. package/dist/ts4.2/frameMetadata/types.d.ts +62 -62
  73. package/dist/ts4.2/frameMetadata/utils.d.ts +9 -9
  74. package/dist/ts4.2/frameMetadata/worker/frameMetadata.worker.d.ts +2 -2
  75. package/dist/ts4.2/index.d.ts +76 -76
  76. package/dist/ts4.2/logger.d.ts +66 -66
  77. package/dist/ts4.2/options.d.ts +163 -149
  78. package/dist/ts4.2/room/BackOffStrategy.d.ts +27 -27
  79. package/dist/ts4.2/room/DefaultReconnectPolicy.d.ts +8 -8
  80. package/dist/ts4.2/room/DeviceManager.d.ts +12 -12
  81. package/dist/ts4.2/room/PCTransport.d.ts +246 -175
  82. package/dist/ts4.2/room/PCTransportManager.d.ts +77 -77
  83. package/dist/ts4.2/room/RTCEngine.d.ts +269 -262
  84. package/dist/ts4.2/room/ReconnectPolicy.d.ts +24 -24
  85. package/dist/ts4.2/room/RegionUrlProvider.d.ts +36 -36
  86. package/dist/ts4.2/room/Room.d.ts +354 -365
  87. package/dist/ts4.2/room/attribute-typings.d.ts +35 -35
  88. package/dist/ts4.2/room/data-channel/DataChannelManager.d.ts +62 -62
  89. package/dist/ts4.2/room/data-channel/FlowControlledDataChannel.d.ts +94 -95
  90. package/dist/ts4.2/room/data-channel/LossyDataChannel.d.ts +41 -41
  91. package/dist/ts4.2/room/data-channel/ReliableDataChannel.d.ts +57 -57
  92. package/dist/ts4.2/room/data-channel/types.d.ts +12 -12
  93. package/dist/ts4.2/room/data-stream/compression.d.ts +49 -49
  94. package/dist/ts4.2/room/data-stream/constants.d.ts +18 -18
  95. package/dist/ts4.2/room/data-stream/incoming/IncomingDataStreamManager.d.ts +29 -29
  96. package/dist/ts4.2/room/data-stream/incoming/StreamReader.d.ts +80 -80
  97. package/dist/ts4.2/room/data-stream/outgoing/OutgoingDataStreamManager.d.ts +73 -73
  98. package/dist/ts4.2/room/data-stream/outgoing/StreamWriter.d.ts +16 -16
  99. package/dist/ts4.2/room/data-stream/outgoing/header-utils.d.ts +18 -18
  100. package/dist/ts4.2/room/data-track/LocalDataTrack.d.ts +79 -80
  101. package/dist/ts4.2/room/data-track/RemoteDataTrack.d.ts +50 -50
  102. package/dist/ts4.2/room/data-track/depacketizer.d.ts +59 -59
  103. package/dist/ts4.2/room/data-track/frame.d.ts +22 -22
  104. package/dist/ts4.2/room/data-track/handle.d.ts +27 -27
  105. package/dist/ts4.2/room/data-track/incoming/IncomingDataTrackManager.d.ts +124 -124
  106. package/dist/ts4.2/room/data-track/incoming/errors.d.ts +24 -24
  107. package/dist/ts4.2/room/data-track/incoming/pipeline.d.ts +41 -41
  108. package/dist/ts4.2/room/data-track/incoming/types.d.ts +20 -20
  109. package/dist/ts4.2/room/data-track/outgoing/OutgoingDataTrackManager.d.ts +126 -126
  110. package/dist/ts4.2/room/data-track/outgoing/errors.d.ts +74 -74
  111. package/dist/ts4.2/room/data-track/outgoing/pipeline.d.ts +23 -23
  112. package/dist/ts4.2/room/data-track/outgoing/types.d.ts +48 -48
  113. package/dist/ts4.2/room/data-track/packet/constants.d.ts +20 -20
  114. package/dist/ts4.2/room/data-track/packet/errors.d.ts +40 -40
  115. package/dist/ts4.2/room/data-track/packet/extensions.d.ts +69 -69
  116. package/dist/ts4.2/room/data-track/packet/index.d.ts +98 -98
  117. package/dist/ts4.2/room/data-track/packet/serializable.d.ts +13 -13
  118. package/dist/ts4.2/room/data-track/packetizer.d.ts +43 -43
  119. package/dist/ts4.2/room/data-track/track-interfaces.d.ts +23 -23
  120. package/dist/ts4.2/room/data-track/types.d.ts +22 -22
  121. package/dist/ts4.2/room/data-track/utils.d.ts +60 -60
  122. package/dist/ts4.2/room/debounce.d.ts +11 -11
  123. package/dist/ts4.2/room/defaults.d.ts +9 -9
  124. package/dist/ts4.2/room/errors.d.ts +180 -162
  125. package/dist/ts4.2/room/events.d.ts +638 -637
  126. package/dist/ts4.2/room/participant/LocalParticipant.d.ts +287 -287
  127. package/dist/ts4.2/room/participant/Participant.d.ts +142 -144
  128. package/dist/ts4.2/room/participant/ParticipantTrackPermission.d.ts +26 -26
  129. package/dist/ts4.2/room/participant/RemoteParticipant.d.ts +85 -86
  130. package/dist/ts4.2/room/participant/publishUtils.d.ts +53 -53
  131. package/dist/ts4.2/room/rpc/client/RpcClientManager.d.ts +43 -43
  132. package/dist/ts4.2/room/rpc/client/events.d.ts +8 -8
  133. package/dist/ts4.2/room/rpc/index.d.ts +7 -7
  134. package/dist/ts4.2/room/rpc/server/RpcServerManager.d.ts +44 -44
  135. package/dist/ts4.2/room/rpc/server/events.d.ts +8 -8
  136. package/dist/ts4.2/room/rpc/utils.d.ts +131 -131
  137. package/dist/ts4.2/room/stats.d.ts +71 -71
  138. package/dist/ts4.2/room/statsSummary.d.ts +13 -13
  139. package/dist/ts4.2/room/timers.d.ts +12 -12
  140. package/dist/ts4.2/room/token-source/TokenSource.d.ts +82 -82
  141. package/dist/ts4.2/room/token-source/types.d.ts +70 -70
  142. package/dist/ts4.2/room/token-source/utils.d.ts +8 -8
  143. package/dist/ts4.2/room/track/FrameMetadataExtractor.d.ts +19 -19
  144. package/dist/ts4.2/room/track/LocalAudioTrack.d.ts +39 -42
  145. package/dist/ts4.2/room/track/LocalTrack.d.ts +125 -125
  146. package/dist/ts4.2/room/track/LocalTrackPublication.d.ts +42 -42
  147. package/dist/ts4.2/room/track/LocalVideoTrack.d.ts +102 -100
  148. package/dist/ts4.2/room/track/RemoteAudioTrack.d.ts +55 -55
  149. package/dist/ts4.2/room/track/RemoteTrack.d.ts +38 -38
  150. package/dist/ts4.2/room/track/RemoteTrackPublication.d.ts +72 -75
  151. package/dist/ts4.2/room/track/RemoteVideoTrack.d.ts +73 -76
  152. package/dist/ts4.2/room/track/Track.d.ts +156 -166
  153. package/dist/ts4.2/room/track/TrackPublication.d.ts +75 -81
  154. package/dist/ts4.2/room/track/create.d.ts +25 -25
  155. package/dist/ts4.2/room/track/facingMode.d.ts +41 -41
  156. package/dist/ts4.2/room/track/options.d.ts +403 -403
  157. package/dist/ts4.2/room/track/processor/types.d.ts +31 -31
  158. package/dist/ts4.2/room/track/record.d.ts +13 -13
  159. package/dist/ts4.2/room/track/types.d.ts +28 -28
  160. package/dist/ts4.2/room/track/utils.d.ts +60 -47
  161. package/dist/ts4.2/room/types.d.ts +127 -127
  162. package/dist/ts4.2/room/utils.d.ts +246 -214
  163. package/dist/ts4.2/test/MockMediaStreamTrack.d.ts +26 -26
  164. package/dist/ts4.2/test/compressionStreamStubs.d.ts +12 -0
  165. package/dist/ts4.2/test/mocks.d.ts +12 -12
  166. package/dist/ts4.2/test/promiseState.d.ts +12 -12
  167. package/dist/ts4.2/test/signalToken.d.ts +26 -26
  168. package/dist/ts4.2/type-polyfills/non-shared-typed-arrays.d.ts +2 -2
  169. package/dist/ts4.2/utils/AsyncQueue.d.ts +23 -23
  170. package/dist/ts4.2/utils/TypedPromise.d.ts +17 -17
  171. package/dist/ts4.2/utils/abort-signal-polyfill.d.ts +13 -13
  172. package/dist/ts4.2/utils/browserParser.d.ts +13 -13
  173. package/dist/ts4.2/utils/camelToSnakeCase.d.ts +8 -8
  174. package/dist/ts4.2/utils/cloneDeep.d.ts +2 -2
  175. package/dist/ts4.2/utils/dataPacketBuffer.d.ts +34 -34
  176. package/dist/ts4.2/utils/deferrable-map.d.ts +32 -32
  177. package/dist/ts4.2/utils/machineInspector.d.ts +54 -54
  178. package/dist/ts4.2/utils/serializer.d.ts +48 -48
  179. package/dist/ts4.2/utils/subscribeToEvents.d.ts +15 -15
  180. package/dist/ts4.2/utils/ttlmap.d.ts +20 -20
  181. package/dist/ts4.2/version.d.ts +15 -15
  182. package/package.json +5 -4
  183. package/src/api/SignalClient.e2e.test.ts +1 -3
  184. package/src/api/SignalClient.test.ts +160 -10
  185. package/src/api/SignalClient.ts +75 -54
  186. package/src/options.ts +16 -0
  187. package/src/room/PCTransport.test.ts +183 -7
  188. package/src/room/PCTransport.ts +197 -36
  189. package/src/room/PCTransportManager.ts +3 -1
  190. package/src/room/RTCEngine.test.ts +84 -0
  191. package/src/room/RTCEngine.ts +24 -5
  192. package/src/room/Room.test.ts +32 -6
  193. package/src/room/Room.ts +26 -6
  194. package/src/room/data-stream/incoming/IncomingDataStreamManager.test.ts +16 -20
  195. package/src/room/data-stream/incoming/IncomingDataStreamManager.ts +5 -5
  196. package/src/room/data-stream/outgoing/OutgoingDataStreamManager.test.ts +60 -39
  197. package/src/room/data-stream/outgoing/OutgoingDataStreamManager.ts +4 -4
  198. package/src/room/defaults.ts +1 -0
  199. package/src/room/errors.test.ts +36 -0
  200. package/src/room/errors.ts +27 -0
  201. package/src/room/events.ts +2 -1
  202. package/src/room/participant/publishUtils.ts +0 -19
  203. package/src/room/rpc/client/RpcClientManager.test.ts +51 -0
  204. package/src/room/rpc/client/RpcClientManager.ts +32 -15
  205. package/src/room/track/LocalTrack.ts +18 -7
  206. package/src/room/track/LocalVideoTrack.ts +10 -3
  207. package/src/room/track/RemoteAudioTrack.ts +3 -3
  208. package/src/room/track/RemoteVideoTrack.test.ts +210 -0
  209. package/src/room/track/RemoteVideoTrack.ts +29 -3
  210. package/src/room/track/utils.test.ts +201 -2
  211. package/src/room/track/utils.ts +88 -0
  212. package/src/room/utils.test.ts +124 -0
  213. package/src/room/utils.ts +70 -0
  214. package/src/test/compressionStreamStubs.ts +53 -0
@@ -1,125 +1,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 mediaStreamTrack(): MediaStreamTrack;
45
- get isLocal(): boolean;
46
- /**
47
- * @internal
48
- * returns mediaStreamTrack settings of the capturing mediastreamtrack source - ignoring processors
49
- */
50
- getSourceTrackSettings(): MediaTrackSettings;
51
- private setMediaStreamTrack;
52
- waitForDimensions(timeout?: number): Promise<Track.Dimensions>;
53
- setDeviceId(deviceId: ConstrainDOMString): Promise<boolean>;
54
- abstract restartTrack(constraints?: unknown): Promise<void>;
55
- /**
56
- * @returns DeviceID of the device that is currently being used for this track
57
- */
58
- getDeviceId(normalize?: boolean): Promise<string | undefined>;
59
- mute(): Promise<this>;
60
- unmute(): Promise<this>;
61
- replaceTrack(track: MediaStreamTrack, options?: ReplaceTrackOptions): Promise<typeof this>;
62
- replaceTrack(track: MediaStreamTrack, userProvidedTrack?: boolean): Promise<typeof this>;
63
- /**
64
- * Hook invoked after the MediaStreamTrack on the sender has been swapped
65
- * (via replaceTrack, setProcessor, or stopProcessor). Fires outside the
66
- * trackChangeLock so subclasses can do asynchronous work such as polling
67
- * for new dimensions without blocking other track operations.
68
- */
69
- protected onSenderTrackSwapped(): Promise<void>;
70
- protected restart(constraints?: MediaTrackConstraints, isUnmuting?: boolean): Promise<this>;
71
- protected setTrackMuted(muted: boolean): void;
72
- protected get needsReAcquisition(): boolean;
73
- protected handleAppVisibilityChanged(): Promise<void>;
74
- private handleTrackMuteEvent;
75
- private debouncedTrackMuteHandler;
76
- private handleTrackUnmuteEvent;
77
- private handleEnded;
78
- stop(): void;
79
- /**
80
- * pauses publishing to the server without disabling the local MediaStreamTrack
81
- * this is used to display a user's own video locally while pausing publishing to
82
- * the server.
83
- * this API is unsupported on Safari < 12 due to a bug
84
- **/
85
- pauseUpstream(): Promise<void>;
86
- resumeUpstream(): Promise<void>;
87
- /**
88
- * Gets the RTCStatsReport for the LocalTrack's underlying RTCRtpSender
89
- * See https://developer.mozilla.org/en-US/docs/Web/API/RTCStatsReport
90
- *
91
- * @returns Promise<RTCStatsReport> | undefined
92
- */
93
- getRTCStatsReport(): Promise<RTCStatsReport | undefined>;
94
- /**
95
- * Sets a processor on this track.
96
- * See https://github.com/livekit/track-processors-js for example usage
97
- *
98
- * @param processor
99
- * @param showProcessedStreamLocally
100
- * @returns
101
- */
102
- setProcessor(processor: TrackProcessor<TrackKind>, showProcessedStreamLocally?: boolean): Promise<void>;
103
- getProcessor(): TrackProcessor<TrackKind, any> | undefined;
104
- /**
105
- * Stops the track processor
106
- * See https://github.com/livekit/track-processors-js for example usage
107
- *
108
- */
109
- stopProcessor(keepElement?: boolean): Promise<void>;
110
- /**
111
- * @internal
112
- * This method assumes the caller has acquired a trackChangeLock already.
113
- * The public facing method for stopping the processor is `stopProcessor` and it wraps this method in the trackChangeLock.
114
- */
115
- protected internalStopProcessor(keepElement?: boolean): Promise<void>;
116
- /** @internal */
117
- startPreConnectBuffer(timeslice?: number): void;
118
- /** @internal */
119
- stopPreConnectBuffer(): void;
120
- /** @internal */
121
- getPreConnectBuffer(): ReadableStream<Uint8Array> | undefined;
122
- getPreConnectBufferMimeType(): string | undefined;
123
- protected abstract monitorSender(): void;
124
- }
125
- //# sourceMappingURL=LocalTrack.d.ts.map
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 mediaStreamTrack(): MediaStreamTrack;
45
+ get isLocal(): boolean;
46
+ /**
47
+ * @internal
48
+ * returns mediaStreamTrack settings of the capturing mediastreamtrack source - ignoring processors
49
+ */
50
+ getSourceTrackSettings(): MediaTrackSettings;
51
+ private setMediaStreamTrack;
52
+ waitForDimensions(timeout?: number): Promise<Track.Dimensions>;
53
+ setDeviceId(deviceId: ConstrainDOMString): Promise<boolean>;
54
+ abstract restartTrack(constraints?: unknown): Promise<void>;
55
+ /**
56
+ * @returns DeviceID of the device that is currently being used for this track
57
+ */
58
+ getDeviceId(normalize?: boolean): Promise<string | undefined>;
59
+ mute(): Promise<this>;
60
+ unmute(): Promise<this>;
61
+ replaceTrack(track: MediaStreamTrack, options?: ReplaceTrackOptions): Promise<typeof this>;
62
+ replaceTrack(track: MediaStreamTrack, userProvidedTrack?: boolean): Promise<typeof this>;
63
+ /**
64
+ * Hook invoked after the MediaStreamTrack on the sender has been swapped
65
+ * (via replaceTrack, setProcessor, or stopProcessor). Fires outside the
66
+ * trackChangeLock so subclasses can do asynchronous work such as polling
67
+ * for new dimensions without blocking other track operations.
68
+ */
69
+ protected onSenderTrackSwapped(): Promise<void>;
70
+ protected restart(constraints?: MediaTrackConstraints, isUnmuting?: boolean): Promise<this>;
71
+ protected setTrackMuted(muted: boolean): void;
72
+ protected get needsReAcquisition(): boolean;
73
+ protected handleAppVisibilityChanged(): Promise<void>;
74
+ private handleTrackMuteEvent;
75
+ private debouncedTrackMuteHandler;
76
+ private handleTrackUnmuteEvent;
77
+ private handleEnded;
78
+ stop(): void;
79
+ /**
80
+ * pauses publishing to the server without disabling the local MediaStreamTrack
81
+ * this is used to display a user's own video locally while pausing publishing to
82
+ * the server.
83
+ * this API is unsupported on Safari < 12 due to a bug
84
+ **/
85
+ pauseUpstream(): Promise<void>;
86
+ resumeUpstream(): Promise<void>;
87
+ /**
88
+ * Gets the RTCStatsReport for the LocalTrack's underlying RTCRtpSender
89
+ * See https://developer.mozilla.org/en-US/docs/Web/API/RTCStatsReport
90
+ *
91
+ * @returns Promise<RTCStatsReport> | undefined
92
+ */
93
+ getRTCStatsReport(): Promise<RTCStatsReport | undefined>;
94
+ /**
95
+ * Sets a processor on this track.
96
+ * See https://github.com/livekit/track-processors-js for example usage
97
+ *
98
+ * @param processor
99
+ * @param showProcessedStreamLocally
100
+ * @returns
101
+ */
102
+ setProcessor(processor: TrackProcessor<TrackKind>, showProcessedStreamLocally?: boolean): Promise<void>;
103
+ getProcessor(): TrackProcessor<TrackKind, any> | undefined;
104
+ /**
105
+ * Stops the track processor
106
+ * See https://github.com/livekit/track-processors-js for example usage
107
+ *
108
+ */
109
+ stopProcessor(keepElement?: boolean): Promise<void>;
110
+ /**
111
+ * @internal
112
+ * This method assumes the caller has acquired a trackChangeLock already.
113
+ * The public facing method for stopping the processor is `stopProcessor` and it wraps this method in the trackChangeLock.
114
+ */
115
+ protected internalStopProcessor(keepElement?: boolean): Promise<void>;
116
+ /** @internal */
117
+ startPreConnectBuffer(timeslice?: number): void;
118
+ /** @internal */
119
+ stopPreConnectBuffer(): void;
120
+ /** @internal */
121
+ getPreConnectBuffer(): ReadableStream<Uint8Array> | undefined;
122
+ getPreConnectBufferMimeType(): string | undefined;
123
+ protected abstract monitorSender(): void;
124
+ }
125
+ //# 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,102 @@
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
- setProcessor(processor: TrackProcessor<Track.Kind.Video>, showProcessedStreamLocally?: boolean): Promise<void>;
65
- setDegradationPreference(preference: RTCDegradationPreference): Promise<void>;
66
- /**
67
- * Degradation preference is a property of the sender, not of the track, so every sender
68
- * publishing this track needs it applied separately. A backup codec publishes over its
69
- * own sender, which would otherwise let the browser resolve a preference implicitly and
70
- * diverge from the primary encoder.
71
- *
72
- * Callers apply this sequentially rather than concurrently: `setParameters` is only valid
73
- * against the parameters most recently returned by `getParameters`, which is why this file
74
- * serializes other sender parameter updates through `senderLock`.
75
- */
76
- private applyDegradationPreference;
77
- addSimulcastTrack(codec: VideoCodec, encodings?: RTCRtpEncodingParameters[]): SimulcastTrackInfo | undefined;
78
- setSimulcastTrackSender(codec: VideoCodec, sender: RTCRtpSender): Promise<void>;
79
- /**
80
- * @internal
81
- * Sets codecs that should be publishing, returns new codecs that have not yet
82
- * been published
83
- */
84
- setPublishingCodecs(codecs: SubscribedCodec[]): Promise<VideoCodec[]>;
85
- /**
86
- * @internal
87
- * Sets layers that should be publishing
88
- */
89
- setPublishingLayers(isSvc: boolean, qualities: SubscribedQuality[]): Promise<void>;
90
- /**
91
- * Designed for lower powered devices, reduces video publishing quality and disables simulcast.
92
- * @experimental
93
- */
94
- prioritizePerformance(): Promise<void>;
95
- protected monitorSender: () => Promise<void>;
96
- protected handleAppVisibilityChanged(): Promise<void>;
97
- }
98
- export declare function videoQualityForRid(rid: string): VideoQuality;
99
- export declare function videoLayersFromEncodings(width: number, height: number, encodings?: RTCRtpEncodingParameters[], svc?: boolean): VideoLayer[];
100
- //# sourceMappingURL=LocalVideoTrack.d.ts.map
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
+ setProcessor(processor: TrackProcessor<Track.Kind.Video>, showProcessedStreamLocally?: boolean): Promise<void>;
65
+ setDegradationPreference(preference: RTCDegradationPreference): Promise<void>;
66
+ /**
67
+ * Degradation preference is a property of the sender, not of the track, so every sender
68
+ * publishing this track needs it applied separately. A backup codec publishes over its
69
+ * own sender, which would otherwise let the browser resolve a preference implicitly and
70
+ * diverge from the primary encoder.
71
+ *
72
+ * Callers apply this sequentially rather than concurrently: `setParameters` is only valid
73
+ * against the parameters most recently returned by `getParameters`, which is why this file
74
+ * serializes other sender parameter updates through `senderLock`.
75
+ */
76
+ private applyDegradationPreference;
77
+ addSimulcastTrack(codec: VideoCodec, encodings?: RTCRtpEncodingParameters[]): SimulcastTrackInfo | undefined;
78
+ setSimulcastTrackSender(codec: VideoCodec, sender: RTCRtpSender): Promise<void>;
79
+ /** @interal */
80
+ refreshSubscribedCodecs(): Promise<void | ("vp8" | "h264" | "vp9" | "av1" | "h265")[]>;
81
+ /**
82
+ * @internal
83
+ * Sets codecs that should be publishing, returns new codecs that have not yet
84
+ * been published
85
+ */
86
+ setPublishingCodecs(codecs: SubscribedCodec[]): Promise<VideoCodec[]>;
87
+ /**
88
+ * @internal
89
+ * Sets layers that should be publishing
90
+ */
91
+ setPublishingLayers(isSvc: boolean, qualities: SubscribedQuality[]): Promise<void>;
92
+ /**
93
+ * Designed for lower powered devices, reduces video publishing quality and disables simulcast.
94
+ * @experimental
95
+ */
96
+ prioritizePerformance(): Promise<void>;
97
+ protected monitorSender: () => Promise<void>;
98
+ protected handleAppVisibilityChanged(): Promise<void>;
99
+ }
100
+ export declare function videoQualityForRid(rid: string): VideoQuality;
101
+ export declare function videoLayersFromEncodings(width: number, height: number, encodings?: RTCRtpEncodingParameters[], svc?: boolean): VideoLayer[];
102
+ //# sourceMappingURL=LocalVideoTrack.d.ts.map
@@ -1,55 +1,55 @@
1
- import type { AudioReceiverStats } from '../stats';
2
- import type { LoggerOptions } from '../types';
3
- import RemoteTrack from './RemoteTrack';
4
- import { Track } from './Track';
5
- import type { AudioOutputOptions } from './options';
6
- export default class RemoteAudioTrack extends RemoteTrack<Track.Kind.Audio> {
7
- private prevStats?;
8
- private elementVolume;
9
- private audioContext?;
10
- private gainNode?;
11
- private sourceNode?;
12
- private webAudioPluginNodes;
13
- private sinkId?;
14
- constructor(mediaTrack: MediaStreamTrack, sid: string, receiver: RTCRtpReceiver, audioContext?: AudioContext, audioOutput?: AudioOutputOptions, loggerOptions?: LoggerOptions);
15
- /**
16
- * sets the volume for all attached audio elements
17
- */
18
- setVolume(volume: number): void;
19
- /**
20
- * gets the volume of attached audio elements (loudest)
21
- */
22
- getVolume(): number;
23
- /**
24
- * calls setSinkId on all attached elements, if supported
25
- * @param deviceId audio output device
26
- */
27
- setSinkId(deviceId: string): Promise<void>;
28
- attach(): HTMLMediaElement;
29
- attach(element: HTMLMediaElement): HTMLMediaElement;
30
- /**
31
- * Detaches from all attached elements
32
- */
33
- detach(): HTMLMediaElement[];
34
- /**
35
- * Detach from a single element
36
- * @param element
37
- */
38
- detach(element: HTMLMediaElement): HTMLMediaElement;
39
- /**
40
- * @internal
41
- * @experimental
42
- */
43
- setAudioContext(audioContext: AudioContext | undefined): void;
44
- /**
45
- * @internal
46
- * @experimental
47
- * @param {AudioNode[]} nodes - An array of WebAudio nodes. These nodes should not be connected to each other when passed, as the sdk will take care of connecting them in the order of the array.
48
- */
49
- setWebAudioPlugins(nodes: AudioNode[]): void;
50
- private connectWebAudio;
51
- private disconnectWebAudio;
52
- protected monitorReceiver: () => Promise<void>;
53
- getReceiverStats(): Promise<AudioReceiverStats | undefined>;
54
- }
55
- //# sourceMappingURL=RemoteAudioTrack.d.ts.map
1
+ import type { AudioReceiverStats } from '../stats';
2
+ import type { LoggerOptions } from '../types';
3
+ import RemoteTrack from './RemoteTrack';
4
+ import { Track } from './Track';
5
+ import type { AudioOutputOptions } from './options';
6
+ export default class RemoteAudioTrack extends RemoteTrack<Track.Kind.Audio> {
7
+ private prevStats?;
8
+ private elementVolume;
9
+ private audioContext?;
10
+ private gainNode?;
11
+ private sourceNode?;
12
+ private webAudioPluginNodes;
13
+ private sinkId?;
14
+ constructor(mediaTrack: MediaStreamTrack, sid: string, receiver: RTCRtpReceiver, audioContext?: AudioContext, audioOutput?: AudioOutputOptions, loggerOptions?: LoggerOptions);
15
+ /**
16
+ * sets the volume for all attached audio elements
17
+ */
18
+ setVolume(volume: number): void;
19
+ /**
20
+ * gets the volume of attached audio elements (loudest)
21
+ */
22
+ getVolume(): number;
23
+ /**
24
+ * calls setSinkId on all attached elements, if supported
25
+ * @param deviceId audio output device
26
+ */
27
+ setSinkId(deviceId: string): Promise<void>;
28
+ attach(): HTMLMediaElement;
29
+ attach(element: HTMLMediaElement): HTMLMediaElement;
30
+ /**
31
+ * Detaches from all attached elements
32
+ */
33
+ detach(): HTMLMediaElement[];
34
+ /**
35
+ * Detach from a single element
36
+ * @param element
37
+ */
38
+ detach(element: HTMLMediaElement): HTMLMediaElement;
39
+ /**
40
+ * @internal
41
+ * @experimental
42
+ */
43
+ setAudioContext(audioContext: AudioContext | undefined): void;
44
+ /**
45
+ * @internal
46
+ * @experimental
47
+ * @param {AudioNode[]} nodes - An array of WebAudio nodes. These nodes should not be connected to each other when passed, as the sdk will take care of connecting them in the order of the array.
48
+ */
49
+ setWebAudioPlugins(nodes: AudioNode[]): void;
50
+ private connectWebAudio;
51
+ private disconnectWebAudio;
52
+ protected monitorReceiver: () => Promise<void>;
53
+ getReceiverStats(): Promise<AudioReceiverStats | undefined>;
54
+ }
55
+ //# sourceMappingURL=RemoteAudioTrack.d.ts.map