livekit-client 0.15.0 → 0.15.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 (136) hide show
  1. package/.gitmodules +3 -0
  2. package/README.md +21 -4
  3. package/dist/api/SignalClient.d.ts +11 -2
  4. package/dist/api/SignalClient.js +92 -25
  5. package/dist/api/SignalClient.js.map +1 -1
  6. package/dist/connect.js +3 -0
  7. package/dist/connect.js.map +1 -1
  8. package/dist/index.d.ts +5 -2
  9. package/dist/index.js +6 -3
  10. package/dist/index.js.map +1 -1
  11. package/dist/logger.js +1 -0
  12. package/dist/logger.js.map +1 -1
  13. package/dist/options.d.ts +28 -14
  14. package/dist/proto/livekit_models.d.ts +48 -0
  15. package/dist/proto/livekit_models.js +367 -5
  16. package/dist/proto/livekit_models.js.map +1 -1
  17. package/dist/proto/livekit_rtc.d.ts +100 -1
  18. package/dist/proto/livekit_rtc.js +745 -3
  19. package/dist/proto/livekit_rtc.js.map +1 -1
  20. package/dist/room/PCTransport.js +4 -0
  21. package/dist/room/PCTransport.js.map +1 -1
  22. package/dist/room/RTCEngine.d.ts +4 -0
  23. package/dist/room/RTCEngine.js +73 -34
  24. package/dist/room/RTCEngine.js.map +1 -1
  25. package/dist/room/Room.d.ts +15 -0
  26. package/dist/room/Room.js +172 -59
  27. package/dist/room/Room.js.map +1 -1
  28. package/dist/room/events.d.ts +60 -24
  29. package/dist/room/events.js +58 -22
  30. package/dist/room/events.js.map +1 -1
  31. package/dist/room/participant/LocalParticipant.d.ts +26 -2
  32. package/dist/room/participant/LocalParticipant.js +69 -21
  33. package/dist/room/participant/LocalParticipant.js.map +1 -1
  34. package/dist/room/participant/Participant.d.ts +3 -1
  35. package/dist/room/participant/Participant.js +1 -0
  36. package/dist/room/participant/Participant.js.map +1 -1
  37. package/dist/room/participant/ParticipantTrackPermission.d.ts +19 -0
  38. package/dist/room/participant/ParticipantTrackPermission.js +16 -0
  39. package/dist/room/participant/ParticipantTrackPermission.js.map +1 -0
  40. package/dist/room/participant/RemoteParticipant.d.ts +2 -2
  41. package/dist/room/participant/RemoteParticipant.js +9 -15
  42. package/dist/room/participant/RemoteParticipant.js.map +1 -1
  43. package/dist/room/participant/publishUtils.d.ts +1 -1
  44. package/dist/room/participant/publishUtils.js +4 -4
  45. package/dist/room/participant/publishUtils.js.map +1 -1
  46. package/dist/room/participant/publishUtils.test.js +10 -1
  47. package/dist/room/participant/publishUtils.test.js.map +1 -1
  48. package/dist/room/stats.d.ts +21 -6
  49. package/dist/room/stats.js +22 -1
  50. package/dist/room/stats.js.map +1 -1
  51. package/dist/room/track/LocalAudioTrack.d.ts +5 -1
  52. package/dist/room/track/LocalAudioTrack.js +45 -1
  53. package/dist/room/track/LocalAudioTrack.js.map +1 -1
  54. package/dist/room/track/LocalTrack.js +1 -1
  55. package/dist/room/track/LocalTrack.js.map +1 -1
  56. package/dist/room/track/LocalTrackPublication.d.ts +3 -1
  57. package/dist/room/track/LocalTrackPublication.js +15 -5
  58. package/dist/room/track/LocalTrackPublication.js.map +1 -1
  59. package/dist/room/track/LocalVideoTrack.d.ts +8 -1
  60. package/dist/room/track/LocalVideoTrack.js +117 -52
  61. package/dist/room/track/LocalVideoTrack.js.map +1 -1
  62. package/dist/room/track/RemoteAudioTrack.d.ts +6 -8
  63. package/dist/room/track/RemoteAudioTrack.js +55 -19
  64. package/dist/room/track/RemoteAudioTrack.js.map +1 -1
  65. package/dist/room/track/RemoteTrack.d.ts +14 -0
  66. package/dist/room/track/RemoteTrack.js +47 -0
  67. package/dist/room/track/RemoteTrack.js.map +1 -0
  68. package/dist/room/track/RemoteTrackPublication.d.ts +10 -2
  69. package/dist/room/track/RemoteTrackPublication.js +49 -16
  70. package/dist/room/track/RemoteTrackPublication.js.map +1 -1
  71. package/dist/room/track/RemoteVideoTrack.d.ts +7 -7
  72. package/dist/room/track/RemoteVideoTrack.js +66 -22
  73. package/dist/room/track/RemoteVideoTrack.js.map +1 -1
  74. package/dist/room/track/Track.d.ts +12 -0
  75. package/dist/room/track/Track.js +33 -0
  76. package/dist/room/track/Track.js.map +1 -1
  77. package/dist/room/track/TrackPublication.d.ts +14 -1
  78. package/dist/room/track/TrackPublication.js +24 -7
  79. package/dist/room/track/TrackPublication.js.map +1 -1
  80. package/dist/room/track/create.d.ts +23 -0
  81. package/dist/room/track/create.js +130 -0
  82. package/dist/room/track/create.js.map +1 -0
  83. package/dist/room/track/defaults.d.ts +4 -0
  84. package/dist/room/track/defaults.js +21 -0
  85. package/dist/room/track/defaults.js.map +1 -0
  86. package/dist/room/utils.d.ts +3 -1
  87. package/dist/room/utils.js +36 -6
  88. package/dist/room/utils.js.map +1 -1
  89. package/dist/version.d.ts +1 -1
  90. package/dist/version.js +1 -1
  91. package/package.json +5 -3
  92. package/src/api/SignalClient.ts +434 -0
  93. package/src/connect.ts +100 -0
  94. package/src/index.ts +47 -0
  95. package/src/logger.ts +22 -0
  96. package/src/options.ts +152 -0
  97. package/src/proto/livekit_models.ts +1863 -0
  98. package/src/proto/livekit_rtc.ts +3401 -0
  99. package/src/room/DeviceManager.ts +57 -0
  100. package/src/room/PCTransport.ts +86 -0
  101. package/src/room/RTCEngine.ts +484 -0
  102. package/src/room/Room.ts +785 -0
  103. package/src/room/errors.ts +65 -0
  104. package/src/room/events.ts +396 -0
  105. package/src/room/participant/LocalParticipant.ts +685 -0
  106. package/src/room/participant/Participant.ts +214 -0
  107. package/src/room/participant/ParticipantTrackPermission.ts +32 -0
  108. package/src/room/participant/RemoteParticipant.ts +238 -0
  109. package/src/room/participant/publishUtils.test.ts +105 -0
  110. package/src/room/participant/publishUtils.ts +180 -0
  111. package/src/room/stats.ts +130 -0
  112. package/src/room/track/LocalAudioTrack.ts +112 -0
  113. package/src/room/track/LocalTrack.ts +124 -0
  114. package/src/room/track/LocalTrackPublication.ts +63 -0
  115. package/src/room/track/LocalVideoTrack.test.ts +70 -0
  116. package/src/room/track/LocalVideoTrack.ts +416 -0
  117. package/src/room/track/RemoteAudioTrack.ts +58 -0
  118. package/src/room/track/RemoteTrack.ts +59 -0
  119. package/src/room/track/RemoteTrackPublication.ts +192 -0
  120. package/src/room/track/RemoteVideoTrack.ts +213 -0
  121. package/src/room/track/Track.ts +301 -0
  122. package/src/room/track/TrackPublication.ts +120 -0
  123. package/src/room/track/create.ts +120 -0
  124. package/src/room/track/defaults.ts +23 -0
  125. package/src/room/track/options.ts +229 -0
  126. package/src/room/track/types.ts +8 -0
  127. package/src/room/track/utils.test.ts +93 -0
  128. package/src/room/track/utils.ts +76 -0
  129. package/src/room/utils.ts +74 -0
  130. package/src/version.ts +2 -0
  131. package/.github/workflows/publish.yaml +0 -55
  132. package/.github/workflows/test.yaml +0 -36
  133. package/example/index.html +0 -237
  134. package/example/sample.ts +0 -575
  135. package/example/styles.css +0 -144
  136. package/example/webpack.config.js +0 -33
@@ -1 +1 @@
1
- {"version":3,"file":"Room.js","sourceRoot":"","sources":["../../src/room/Room.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Room.js","sourceRoot":"","sources":["../../src/room/Room.ts"],"names":[],"mappings":"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"}
@@ -110,6 +110,8 @@ export declare enum RoomEvent {
110
110
  * Active speakers changed. List of speakers are ordered by their audio level.
111
111
  * loudest speakers first. This will include the LocalParticipant too.
112
112
  *
113
+ * Speaker updates are sent only to the publishing participant and their subscribers.
114
+ *
113
115
  * args: (Array<[[Participant]]>)
114
116
  */
115
117
  ActiveSpeakersChanged = "activeSpeakersChanged",
@@ -145,6 +147,36 @@ export declare enum RoomEvent {
145
147
  * args: (payload: Uint8Array, participant: [[Participant]], kind: [[DataPacket_Kind]])
146
148
  */
147
149
  DataReceived = "dataReceived",
150
+ /**
151
+ * Connection quality was changed for a Participant. It'll receive updates
152
+ * from the local participant, as well as any [[RemoteParticipant]]s that we are
153
+ * subscribed to.
154
+ *
155
+ * args: (connectionQuality: [[ConnectionQuality]], participant: [[Participant]])
156
+ */
157
+ ConnectionQualityChanged = "connectionQualityChanged",
158
+ /**
159
+ * StreamState indicates if a subscribed track has been paused by the SFU
160
+ * (typically this happens because of subscriber's bandwidth constraints)
161
+ *
162
+ * When bandwidth conditions allow, the track will be resumed automatically.
163
+ * TrackStreamStateChanged will also be emitted when that happens.
164
+ *
165
+ * args: (pub: [[RemoteTrackPublication]], streamState: [[Track.StreamState]],
166
+ * participant: [[RemoteParticipant]])
167
+ */
168
+ TrackStreamStateChanged = "trackStreamStateChanged",
169
+ /**
170
+ * One of subscribed tracks have changed its permissions for the current
171
+ * participant. If permission was revoked, then the track will no longer
172
+ * be subscribed. If permission was granted, a TrackSubscribed event will
173
+ * be emitted.
174
+ *
175
+ * args: (pub: [[RemoteTrackPublication]],
176
+ * status: [[TrackPublication.SubscriptionStatus]],
177
+ * participant: [[RemoteParticipant]])
178
+ */
179
+ TrackSubscriptionPermissionChanged = "trackSubscriptionPermissionChanged",
148
180
  /**
149
181
  * LiveKit will attempt to autoplay all audio tracks when you attach them to
150
182
  * audio elements. However, if that fails, we'll notify you via AudioPlaybackStatusChanged.
@@ -160,15 +192,7 @@ export declare enum RoomEvent {
160
192
  *
161
193
  * args: (error: Error)
162
194
  */
163
- MediaDevicesError = "mediaDevicesError",
164
- /**
165
- * Connection quality was changed for a Participant. It'll receive updates
166
- * from the local participant, as well as any [[RemoteParticipant]]s that we are
167
- * subscribed to.
168
- *
169
- * args: (connectionQuality: [[ConnectionQuality]], participant: [[Participant]])
170
- */
171
- ConnectionQualityChanged = "connectionQualityChanged"
195
+ MediaDevicesError = "mediaDevicesError"
172
196
  }
173
197
  export declare enum ParticipantEvent {
174
198
  /**
@@ -182,8 +206,8 @@ export declare enum ParticipantEvent {
182
206
  */
183
207
  TrackPublished = "trackPublished",
184
208
  /**
185
- * The [[LocalParticipant]] has subscribed to a new track. This event will **always**
186
- * fire as long as new tracks are ready for use.
209
+ * Successfully subscribed to the [[RemoteParticipant]]'s track.
210
+ * This event will **always** fire as long as new tracks are ready for use.
187
211
  *
188
212
  * args: ([[RemoteTrack]], [[RemoteTrackPublication]])
189
213
  */
@@ -195,20 +219,16 @@ export declare enum ParticipantEvent {
195
219
  */
196
220
  TrackSubscriptionFailed = "trackSubscriptionFailed",
197
221
  /**
198
- * A local track was unpublished. This event is helpful to know when to remove
199
- * the local track from your UI.
200
- *
201
- * When a user stops sharing their screen by pressing "End" on the browser UI,
202
- * this event will also fire.
222
+ * A [[RemoteParticipant]] has unpublished a track
203
223
  *
204
- * args: ([[LocalTrackPublication]])
224
+ * args: ([[RemoteTrackPublication]])
205
225
  */
206
226
  TrackUnpublished = "trackUnpublished",
207
227
  /**
208
228
  * A subscribed track is no longer available. Clients should listen to this
209
229
  * event and ensure they detach tracks.
210
230
  *
211
- * args: ([[Track]], [[RemoteTrackPublication]])
231
+ * args: ([[RemoteTrack]], [[RemoteTrackPublication]])
212
232
  */
213
233
  TrackUnsubscribed = "trackUnsubscribed",
214
234
  /**
@@ -278,6 +298,26 @@ export declare enum ParticipantEvent {
278
298
  * args: (connectionQuality: [[ConnectionQuality]])
279
299
  */
280
300
  ConnectionQualityChanged = "connectionQualityChanged",
301
+ /**
302
+ * StreamState indicates if a subscribed track has been paused by the SFU
303
+ * (typically this happens because of subscriber's bandwidth constraints)
304
+ *
305
+ * When bandwidth conditions allow, the track will be resumed automatically.
306
+ * TrackStreamStateChanged will also be emitted when that happens.
307
+ *
308
+ * args: (pub: [[RemoteTrackPublication]], streamState: [[Track.StreamState]])
309
+ */
310
+ TrackStreamStateChanged = "trackStreamStateChanged",
311
+ /**
312
+ * One of subscribed tracks have changed its permissions for the current
313
+ * participant. If permission was revoked, then the track will no longer
314
+ * be subscribed. If permission was granted, a TrackSubscribed event will
315
+ * be emitted.
316
+ *
317
+ * args: (pub: [[RemoteTrackPublication]],
318
+ * status: [[TrackPublication.SubscriptionStatus]])
319
+ */
320
+ TrackSubscriptionPermissionChanged = "trackSubscriptionPermissionChanged",
281
321
  /** @internal */
282
322
  MediaDevicesError = "mediaDevicesError"
283
323
  }
@@ -287,14 +327,10 @@ export declare enum EngineEvent {
287
327
  Disconnected = "disconnected",
288
328
  Reconnecting = "reconnecting",
289
329
  Reconnected = "reconnected",
290
- ParticipantUpdate = "participantUpdate",
330
+ SignalConnected = "singalConnected",
291
331
  MediaTrackAdded = "mediaTrackAdded",
292
332
  ActiveSpeakersUpdate = "activeSpeakersUpdate",
293
- SpeakersChanged = "speakersChanged",
294
- DataPacketReceived = "dataPacketReceived",
295
- RemoteMuteChanged = "remoteMuteChanged",
296
- RoomUpdate = "roomUpdate",
297
- ConnectionQualityUpdate = "connectionQualityUpdate"
333
+ DataPacketReceived = "dataPacketReceived"
298
334
  }
299
335
  export declare enum TrackEvent {
300
336
  Message = "message",
@@ -114,6 +114,8 @@ var RoomEvent;
114
114
  * Active speakers changed. List of speakers are ordered by their audio level.
115
115
  * loudest speakers first. This will include the LocalParticipant too.
116
116
  *
117
+ * Speaker updates are sent only to the publishing participant and their subscribers.
118
+ *
117
119
  * args: (Array<[[Participant]]>)
118
120
  */
119
121
  RoomEvent["ActiveSpeakersChanged"] = "activeSpeakersChanged";
@@ -149,6 +151,36 @@ var RoomEvent;
149
151
  * args: (payload: Uint8Array, participant: [[Participant]], kind: [[DataPacket_Kind]])
150
152
  */
151
153
  RoomEvent["DataReceived"] = "dataReceived";
154
+ /**
155
+ * Connection quality was changed for a Participant. It'll receive updates
156
+ * from the local participant, as well as any [[RemoteParticipant]]s that we are
157
+ * subscribed to.
158
+ *
159
+ * args: (connectionQuality: [[ConnectionQuality]], participant: [[Participant]])
160
+ */
161
+ RoomEvent["ConnectionQualityChanged"] = "connectionQualityChanged";
162
+ /**
163
+ * StreamState indicates if a subscribed track has been paused by the SFU
164
+ * (typically this happens because of subscriber's bandwidth constraints)
165
+ *
166
+ * When bandwidth conditions allow, the track will be resumed automatically.
167
+ * TrackStreamStateChanged will also be emitted when that happens.
168
+ *
169
+ * args: (pub: [[RemoteTrackPublication]], streamState: [[Track.StreamState]],
170
+ * participant: [[RemoteParticipant]])
171
+ */
172
+ RoomEvent["TrackStreamStateChanged"] = "trackStreamStateChanged";
173
+ /**
174
+ * One of subscribed tracks have changed its permissions for the current
175
+ * participant. If permission was revoked, then the track will no longer
176
+ * be subscribed. If permission was granted, a TrackSubscribed event will
177
+ * be emitted.
178
+ *
179
+ * args: (pub: [[RemoteTrackPublication]],
180
+ * status: [[TrackPublication.SubscriptionStatus]],
181
+ * participant: [[RemoteParticipant]])
182
+ */
183
+ RoomEvent["TrackSubscriptionPermissionChanged"] = "trackSubscriptionPermissionChanged";
152
184
  /**
153
185
  * LiveKit will attempt to autoplay all audio tracks when you attach them to
154
186
  * audio elements. However, if that fails, we'll notify you via AudioPlaybackStatusChanged.
@@ -165,14 +197,6 @@ var RoomEvent;
165
197
  * args: (error: Error)
166
198
  */
167
199
  RoomEvent["MediaDevicesError"] = "mediaDevicesError";
168
- /**
169
- * Connection quality was changed for a Participant. It'll receive updates
170
- * from the local participant, as well as any [[RemoteParticipant]]s that we are
171
- * subscribed to.
172
- *
173
- * args: (connectionQuality: [[ConnectionQuality]], participant: [[Participant]])
174
- */
175
- RoomEvent["ConnectionQualityChanged"] = "connectionQualityChanged";
176
200
  })(RoomEvent = exports.RoomEvent || (exports.RoomEvent = {}));
177
201
  var ParticipantEvent;
178
202
  (function (ParticipantEvent) {
@@ -187,8 +211,8 @@ var ParticipantEvent;
187
211
  */
188
212
  ParticipantEvent["TrackPublished"] = "trackPublished";
189
213
  /**
190
- * The [[LocalParticipant]] has subscribed to a new track. This event will **always**
191
- * fire as long as new tracks are ready for use.
214
+ * Successfully subscribed to the [[RemoteParticipant]]'s track.
215
+ * This event will **always** fire as long as new tracks are ready for use.
192
216
  *
193
217
  * args: ([[RemoteTrack]], [[RemoteTrackPublication]])
194
218
  */
@@ -200,20 +224,16 @@ var ParticipantEvent;
200
224
  */
201
225
  ParticipantEvent["TrackSubscriptionFailed"] = "trackSubscriptionFailed";
202
226
  /**
203
- * A local track was unpublished. This event is helpful to know when to remove
204
- * the local track from your UI.
205
- *
206
- * When a user stops sharing their screen by pressing "End" on the browser UI,
207
- * this event will also fire.
227
+ * A [[RemoteParticipant]] has unpublished a track
208
228
  *
209
- * args: ([[LocalTrackPublication]])
229
+ * args: ([[RemoteTrackPublication]])
210
230
  */
211
231
  ParticipantEvent["TrackUnpublished"] = "trackUnpublished";
212
232
  /**
213
233
  * A subscribed track is no longer available. Clients should listen to this
214
234
  * event and ensure they detach tracks.
215
235
  *
216
- * args: ([[Track]], [[RemoteTrackPublication]])
236
+ * args: ([[RemoteTrack]], [[RemoteTrackPublication]])
217
237
  */
218
238
  ParticipantEvent["TrackUnsubscribed"] = "trackUnsubscribed";
219
239
  /**
@@ -283,6 +303,26 @@ var ParticipantEvent;
283
303
  * args: (connectionQuality: [[ConnectionQuality]])
284
304
  */
285
305
  ParticipantEvent["ConnectionQualityChanged"] = "connectionQualityChanged";
306
+ /**
307
+ * StreamState indicates if a subscribed track has been paused by the SFU
308
+ * (typically this happens because of subscriber's bandwidth constraints)
309
+ *
310
+ * When bandwidth conditions allow, the track will be resumed automatically.
311
+ * TrackStreamStateChanged will also be emitted when that happens.
312
+ *
313
+ * args: (pub: [[RemoteTrackPublication]], streamState: [[Track.StreamState]])
314
+ */
315
+ ParticipantEvent["TrackStreamStateChanged"] = "trackStreamStateChanged";
316
+ /**
317
+ * One of subscribed tracks have changed its permissions for the current
318
+ * participant. If permission was revoked, then the track will no longer
319
+ * be subscribed. If permission was granted, a TrackSubscribed event will
320
+ * be emitted.
321
+ *
322
+ * args: (pub: [[RemoteTrackPublication]],
323
+ * status: [[TrackPublication.SubscriptionStatus]])
324
+ */
325
+ ParticipantEvent["TrackSubscriptionPermissionChanged"] = "trackSubscriptionPermissionChanged";
286
326
  // fired only on LocalParticipant
287
327
  /** @internal */
288
328
  ParticipantEvent["MediaDevicesError"] = "mediaDevicesError";
@@ -294,14 +334,10 @@ var EngineEvent;
294
334
  EngineEvent["Disconnected"] = "disconnected";
295
335
  EngineEvent["Reconnecting"] = "reconnecting";
296
336
  EngineEvent["Reconnected"] = "reconnected";
297
- EngineEvent["ParticipantUpdate"] = "participantUpdate";
337
+ EngineEvent["SignalConnected"] = "singalConnected";
298
338
  EngineEvent["MediaTrackAdded"] = "mediaTrackAdded";
299
339
  EngineEvent["ActiveSpeakersUpdate"] = "activeSpeakersUpdate";
300
- EngineEvent["SpeakersChanged"] = "speakersChanged";
301
340
  EngineEvent["DataPacketReceived"] = "dataPacketReceived";
302
- EngineEvent["RemoteMuteChanged"] = "remoteMuteChanged";
303
- EngineEvent["RoomUpdate"] = "roomUpdate";
304
- EngineEvent["ConnectionQualityUpdate"] = "connectionQualityUpdate";
305
341
  })(EngineEvent = exports.EngineEvent || (exports.EngineEvent = {}));
306
342
  var TrackEvent;
307
343
  (function (TrackEvent) {
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/room/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/room/events.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  import { RoomOptions } from '../../options';
2
2
  import { DataPacket_Kind } from '../../proto/livekit_models';
3
+ import { TrackPublishedResponse } from '../../proto/livekit_rtc';
3
4
  import RTCEngine from '../RTCEngine';
4
5
  import LocalTrack from '../track/LocalTrack';
5
6
  import LocalTrackPublication from '../track/LocalTrackPublication';
6
7
  import { CreateLocalTracksOptions, ScreenShareCaptureOptions, TrackPublishOptions } from '../track/options';
7
8
  import { Track } from '../track/Track';
8
9
  import Participant from './Participant';
10
+ import { ParticipantTrackPermission } from './ParticipantTrackPermission';
9
11
  import RemoteParticipant from './RemoteParticipant';
10
12
  export default class LocalParticipant extends Participant {
11
13
  audioTracks: Map<string, LocalTrackPublication>;
@@ -82,10 +84,32 @@ export default class LocalParticipant extends Participant {
82
84
  * @param destination the participants who will receive the message
83
85
  */
84
86
  publishData(data: Uint8Array, kind: DataPacket_Kind, destination?: RemoteParticipant[] | string[]): Promise<void>;
87
+ /**
88
+ * Control who can subscribe to LocalParticipant's published tracks.
89
+ *
90
+ * By default, all participants can subscribe. This allows fine-grained control over
91
+ * who is able to subscribe at a participant and track level.
92
+ *
93
+ * Note: if access is given at a track-level (i.e. both [allParticipantsAllowed] and
94
+ * [ParticipantTrackPermission.allTracksAllowed] are false), any newer published tracks
95
+ * will not grant permissions to any participants and will require a subsequent
96
+ * permissions update to allow subscription.
97
+ *
98
+ * @param allParticipantsAllowed Allows all participants to subscribe all tracks.
99
+ * Takes precedence over [[participantTrackPermissions]] if set to true.
100
+ * By default this is set to true.
101
+ * @param participantTrackPermissions Full list of individual permissions per
102
+ * participant/track. Any omitted participants will not receive any permissions.
103
+ */
104
+ setTrackSubscriptionPermissions(allParticipantsAllowed: boolean, participantTrackPermissions?: ParticipantTrackPermission[]): void;
85
105
  /** @internal */
86
- onTrackUnmuted: (track: LocalTrack) => void;
106
+ private onTrackUnmuted;
87
107
  /** @internal */
88
- onTrackMuted: (track: LocalTrack, muted?: boolean | undefined) => void;
108
+ private onTrackMuted;
109
+ private handleSubscribedQualityUpdate;
110
+ private onTrackUnpublish;
89
111
  private getPublicationForTrack;
90
112
  private setPreferredCodec;
113
+ /** @internal */
114
+ publishedTracksInfo(): TrackPublishedResponse[];
91
115
  }
@@ -42,6 +42,7 @@ const options_1 = require("../track/options");
42
42
  const Track_1 = require("../track/Track");
43
43
  const utils_1 = require("../track/utils");
44
44
  const Participant_1 = __importDefault(require("./Participant"));
45
+ const ParticipantTrackPermission_1 = require("./ParticipantTrackPermission");
45
46
  const publishUtils_1 = require("./publishUtils");
46
47
  const RemoteParticipant_1 = __importDefault(require("./RemoteParticipant"));
47
48
  class LocalParticipant extends Participant_1.default {
@@ -65,12 +66,27 @@ class LocalParticipant extends Participant_1.default {
65
66
  }
66
67
  this.engine.updateMuteStatus(track.sid, muted);
67
68
  };
69
+ this.handleSubscribedQualityUpdate = (update) => {
70
+ var _a, _b;
71
+ if (!((_a = this.roomOptions) === null || _a === void 0 ? void 0 : _a.dynacast)) {
72
+ return;
73
+ }
74
+ const pub = this.videoTracks.get(update.trackSid);
75
+ if (!pub) {
76
+ logger_1.default.warn('handleSubscribedQualityUpdate', 'received subscribed quality update for unknown track', update.trackSid);
77
+ return;
78
+ }
79
+ (_b = pub.videoTrack) === null || _b === void 0 ? void 0 : _b.setPublishingLayers(update.subscribedQualities);
80
+ };
81
+ this.onTrackUnpublish = (track) => {
82
+ this.unpublishTrack(track);
83
+ };
68
84
  this.audioTracks = new Map();
69
85
  this.videoTracks = new Map();
70
86
  this.tracks = new Map();
71
87
  this.engine = engine;
72
88
  this.roomOptions = options;
73
- this.engine.on(events_1.EngineEvent.RemoteMuteChanged, (trackSid, muted) => {
89
+ this.engine.client.onRemoteMuteChanged = (trackSid, muted) => {
74
90
  const pub = this.tracks.get(trackSid);
75
91
  if (!pub || !pub.track) {
76
92
  return;
@@ -81,7 +97,8 @@ class LocalParticipant extends Participant_1.default {
81
97
  else {
82
98
  pub.unmute();
83
99
  }
84
- });
100
+ };
101
+ this.engine.client.onSubscribedQualityUpdate = this.handleSubscribedQualityUpdate;
85
102
  }
86
103
  get lastCameraError() {
87
104
  return this.cameraError;
@@ -138,6 +155,7 @@ class LocalParticipant extends Participant_1.default {
138
155
  else {
139
156
  let localTrack;
140
157
  if (this.pendingPublishing.has(source)) {
158
+ logger_1.default.info('skipping duplicate published source', source);
141
159
  // no-op it's already been requested
142
160
  return;
143
161
  }
@@ -282,6 +300,7 @@ class LocalParticipant extends Participant_1.default {
282
300
  videoConstraints = {
283
301
  width: options.resolution.width,
284
302
  height: options.resolution.height,
303
+ frameRate: options.resolution.frameRate,
285
304
  };
286
305
  }
287
306
  // typescript definition is missing getDisplayMedia: https://github.com/microsoft/TypeScript/issues/33232
@@ -348,9 +367,7 @@ class LocalParticipant extends Participant_1.default {
348
367
  // handle track actions
349
368
  track.on(events_1.TrackEvent.Muted, this.onTrackMuted);
350
369
  track.on(events_1.TrackEvent.Unmuted, this.onTrackUnmuted);
351
- track.on(events_1.TrackEvent.Ended, () => {
352
- this.unpublishTrack(track);
353
- });
370
+ track.on(events_1.TrackEvent.Ended, this.onTrackUnpublish);
354
371
  // create track publication from track
355
372
  const req = livekit_rtc_1.AddTrackRequest.fromPartial({
356
373
  // get local track id for use during publishing
@@ -387,7 +404,7 @@ class LocalParticipant extends Participant_1.default {
387
404
  if (!this.engine.publisher) {
388
405
  throw new errors_1.UnexpectedConnectionState('publisher is closed');
389
406
  }
390
- logger_1.default.debug('publishing with encodings', encodings);
407
+ logger_1.default.debug(`publishing ${track.kind} with encodings`, encodings, ti);
391
408
  const transceiverInit = { direction: 'sendonly' };
392
409
  if (encodings) {
393
410
  transceiverInit.sendEncodings = encodings;
@@ -396,9 +413,12 @@ class LocalParticipant extends Participant_1.default {
396
413
  this.engine.negotiate();
397
414
  // store RTPSender
398
415
  track.sender = transceiver.sender;
399
- const disableLayerPause = (_h = (_g = this.roomOptions) === null || _g === void 0 ? void 0 : _g.expDisableLayerPause) !== null && _h !== void 0 ? _h : false;
400
- if (track instanceof LocalVideoTrack_1.default && !disableLayerPause) {
401
- track.startMonitor(this.engine.client);
416
+ if (track instanceof LocalVideoTrack_1.default) {
417
+ const disableLayerPause = (_h = (_g = this.roomOptions) === null || _g === void 0 ? void 0 : _g.expDisableLayerPause) !== null && _h !== void 0 ? _h : false;
418
+ track.startMonitor(this.engine.client, disableLayerPause);
419
+ }
420
+ else if (track instanceof LocalAudioTrack_1.default) {
421
+ track.startMonitor();
402
422
  }
403
423
  if (opts.videoCodec) {
404
424
  this.setPreferredCodec(transceiver, track.kind, opts.videoCodec);
@@ -414,24 +434,18 @@ class LocalParticipant extends Participant_1.default {
414
434
  // look through all published tracks to find the right ones
415
435
  const publication = this.getPublicationForTrack(track);
416
436
  logger_1.default.debug('unpublishTrack', 'unpublishing track', track);
417
- if (!publication) {
437
+ if (!publication || !publication.track) {
418
438
  logger_1.default.warn('unpublishTrack', 'track was not unpublished because no publication was found', track);
419
439
  return null;
420
440
  }
421
- if (track instanceof LocalAudioTrack_1.default || track instanceof LocalVideoTrack_1.default) {
422
- track.removeListener(events_1.TrackEvent.Muted, this.onTrackMuted);
423
- track.removeListener(events_1.TrackEvent.Unmuted, this.onTrackUnmuted);
424
- }
441
+ track = publication.track;
442
+ track.off(events_1.TrackEvent.Muted, this.onTrackMuted);
443
+ track.off(events_1.TrackEvent.Unmuted, this.onTrackUnmuted);
444
+ track.off(events_1.TrackEvent.Ended, this.onTrackUnpublish);
425
445
  if ((_b = (_a = this.roomOptions) === null || _a === void 0 ? void 0 : _a.stopLocalTrackOnUnpublish) !== null && _b !== void 0 ? _b : true) {
426
446
  track.stop();
427
447
  }
428
- let mediaStreamTrack;
429
- if (track instanceof MediaStreamTrack) {
430
- mediaStreamTrack = track;
431
- }
432
- else {
433
- mediaStreamTrack = track.mediaStreamTrack;
434
- }
448
+ const { mediaStreamTrack } = track;
435
449
  if (this.engine.publisher) {
436
450
  const senders = this.engine.publisher.pc.getSenders();
437
451
  senders.forEach((sender) => {
@@ -459,6 +473,7 @@ class LocalParticipant extends Participant_1.default {
459
473
  default:
460
474
  break;
461
475
  }
476
+ publication.setTrack(undefined);
462
477
  this.emit(events_1.ParticipantEvent.LocalTrackUnpublished, publication);
463
478
  return publication;
464
479
  }
@@ -510,6 +525,26 @@ class LocalParticipant extends Participant_1.default {
510
525
  yield this.engine.sendDataPacket(packet, kind);
511
526
  });
512
527
  }
528
+ /**
529
+ * Control who can subscribe to LocalParticipant's published tracks.
530
+ *
531
+ * By default, all participants can subscribe. This allows fine-grained control over
532
+ * who is able to subscribe at a participant and track level.
533
+ *
534
+ * Note: if access is given at a track-level (i.e. both [allParticipantsAllowed] and
535
+ * [ParticipantTrackPermission.allTracksAllowed] are false), any newer published tracks
536
+ * will not grant permissions to any participants and will require a subsequent
537
+ * permissions update to allow subscription.
538
+ *
539
+ * @param allParticipantsAllowed Allows all participants to subscribe all tracks.
540
+ * Takes precedence over [[participantTrackPermissions]] if set to true.
541
+ * By default this is set to true.
542
+ * @param participantTrackPermissions Full list of individual permissions per
543
+ * participant/track. Any omitted participants will not receive any permissions.
544
+ */
545
+ setTrackSubscriptionPermissions(allParticipantsAllowed, participantTrackPermissions = []) {
546
+ this.engine.client.sendUpdateSubscriptionPermissions(allParticipantsAllowed, participantTrackPermissions.map((p) => ParticipantTrackPermission_1.trackPermissionToProto(p)));
547
+ }
513
548
  getPublicationForTrack(track) {
514
549
  let publication;
515
550
  this.tracks.forEach((pub) => {
@@ -554,6 +589,19 @@ class LocalParticipant extends Participant_1.default {
554
589
  transceiver.setCodecPreferences([selected]);
555
590
  }
556
591
  }
592
+ /** @internal */
593
+ publishedTracksInfo() {
594
+ const infos = [];
595
+ this.tracks.forEach((track) => {
596
+ if (track.track !== undefined) {
597
+ infos.push({
598
+ cid: track.track.mediaStreamTrack.id,
599
+ track: track.trackInfo,
600
+ });
601
+ }
602
+ });
603
+ return infos;
604
+ }
557
605
  }
558
606
  exports.default = LocalParticipant;
559
607
  //# sourceMappingURL=LocalParticipant.js.map