livekit-client 0.12.2 → 0.13.3

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 (82) hide show
  1. package/.eslintrc.js +1 -0
  2. package/.github/workflows/publish.yaml +1 -3
  3. package/README.md +76 -45
  4. package/dist/api/SignalClient.d.ts +3 -1
  5. package/dist/api/SignalClient.js +8 -0
  6. package/dist/api/SignalClient.js.map +1 -1
  7. package/dist/connect.d.ts +21 -0
  8. package/dist/connect.js +83 -0
  9. package/dist/connect.js.map +1 -0
  10. package/dist/index.d.ts +2 -1
  11. package/dist/index.js +2 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/options.d.ts +19 -13
  14. package/dist/options.js.map +1 -1
  15. package/dist/proto/livekit_models.d.ts +15 -0
  16. package/dist/proto/livekit_models.js +129 -1
  17. package/dist/proto/livekit_models.js.map +1 -1
  18. package/dist/proto/livekit_rtc.d.ts +16 -1
  19. package/dist/proto/livekit_rtc.js +116 -1
  20. package/dist/proto/livekit_rtc.js.map +1 -1
  21. package/dist/room/DeviceManager.d.ts +7 -0
  22. package/dist/room/DeviceManager.js +62 -0
  23. package/dist/room/DeviceManager.js.map +1 -0
  24. package/dist/room/RTCEngine.d.ts +1 -1
  25. package/dist/room/RTCEngine.js +8 -7
  26. package/dist/room/RTCEngine.js.map +1 -1
  27. package/dist/room/Room.d.ts +34 -2
  28. package/dist/room/Room.js +92 -2
  29. package/dist/room/Room.js.map +1 -1
  30. package/dist/room/defaults.d.ts +5 -0
  31. package/dist/room/defaults.js +29 -0
  32. package/dist/room/defaults.js.map +1 -0
  33. package/dist/room/events.d.ts +33 -4
  34. package/dist/room/events.js +32 -3
  35. package/dist/room/events.js.map +1 -1
  36. package/dist/room/participant/LocalParticipant.d.ts +25 -0
  37. package/dist/room/participant/LocalParticipant.js +162 -45
  38. package/dist/room/participant/LocalParticipant.js.map +1 -1
  39. package/dist/room/participant/Participant.d.ts +17 -0
  40. package/dist/room/participant/Participant.js +53 -0
  41. package/dist/room/participant/Participant.js.map +1 -1
  42. package/dist/room/participant/RemoteParticipant.d.ts +2 -0
  43. package/dist/room/participant/RemoteParticipant.js +23 -3
  44. package/dist/room/participant/RemoteParticipant.js.map +1 -1
  45. package/dist/room/track/LocalAudioTrack.d.ts +3 -0
  46. package/dist/room/track/LocalAudioTrack.js +37 -0
  47. package/dist/room/track/LocalAudioTrack.js.map +1 -1
  48. package/dist/room/track/LocalTrack.d.ts +6 -2
  49. package/dist/room/track/LocalTrack.js +39 -8
  50. package/dist/room/track/LocalTrack.js.map +1 -1
  51. package/dist/room/track/LocalTrackPublication.d.ts +6 -3
  52. package/dist/room/track/LocalTrackPublication.js +21 -2
  53. package/dist/room/track/LocalTrackPublication.js.map +1 -1
  54. package/dist/room/track/LocalVideoTrack.d.ts +3 -2
  55. package/dist/room/track/LocalVideoTrack.js +48 -16
  56. package/dist/room/track/LocalVideoTrack.js.map +1 -1
  57. package/dist/room/track/RemoteAudioTrack.d.ts +2 -0
  58. package/dist/room/track/RemoteAudioTrack.js +8 -0
  59. package/dist/room/track/RemoteAudioTrack.js.map +1 -1
  60. package/dist/room/track/RemoteVideoTrack.d.ts +1 -0
  61. package/dist/room/track/RemoteVideoTrack.js +6 -1
  62. package/dist/room/track/RemoteVideoTrack.js.map +1 -1
  63. package/dist/room/track/Track.d.ts +14 -2
  64. package/dist/room/track/Track.js +42 -0
  65. package/dist/room/track/Track.js.map +1 -1
  66. package/dist/room/track/TrackPublication.d.ts +1 -0
  67. package/dist/room/track/TrackPublication.js +2 -0
  68. package/dist/room/track/TrackPublication.js.map +1 -1
  69. package/dist/room/track/create.d.ts +23 -0
  70. package/dist/{livekit.js → room/track/create.js} +75 -110
  71. package/dist/room/track/create.js.map +1 -0
  72. package/dist/room/track/options.d.ts +76 -20
  73. package/dist/room/track/options.js +11 -6
  74. package/dist/room/track/options.js.map +1 -1
  75. package/dist/version.d.ts +2 -2
  76. package/dist/version.js +2 -2
  77. package/example/index.html +51 -20
  78. package/example/sample.ts +200 -87
  79. package/example/webpack.config.js +8 -2
  80. package/package.json +2 -2
  81. package/dist/livekit.d.ts +0 -44
  82. package/dist/livekit.js.map +0 -1
package/dist/room/Room.js CHANGED
@@ -35,6 +35,8 @@ exports.RoomState = void 0;
35
35
  const events_1 = require("events");
36
36
  const loglevel_1 = __importDefault(require("loglevel"));
37
37
  const livekit_models_1 = require("../proto/livekit_models");
38
+ const defaults_1 = require("./defaults");
39
+ const DeviceManager_1 = __importDefault(require("./DeviceManager"));
38
40
  const errors_1 = require("./errors");
39
41
  const events_2 = require("./events");
40
42
  const LocalParticipant_1 = __importDefault(require("./participant/LocalParticipant"));
@@ -66,6 +68,8 @@ class Room extends events_1.EventEmitter {
66
68
  * a [[RoomEvent.ActiveSpeakersChanged]] event is fired
67
69
  */
68
70
  this.activeSpeakers = [];
71
+ /** room metadata */
72
+ this.metadata = undefined;
69
73
  this.audioEnabled = true;
70
74
  /** @internal */
71
75
  this.connect = (url, token, opts) => __awaiter(this, void 0, void 0, function* () {
@@ -94,6 +98,9 @@ class Room extends events_1.EventEmitter {
94
98
  this.localParticipant.on(events_2.ParticipantEvent.TrackUnmuted, (pub) => {
95
99
  this.emit(events_2.RoomEvent.TrackUnmuted, pub, this.localParticipant);
96
100
  });
101
+ this.localParticipant.on(events_2.ParticipantEvent.LocalTrackPublished, (pub) => {
102
+ this.emit(events_2.RoomEvent.LocalTrackPublished, pub, this.localParticipant);
103
+ });
97
104
  // populate remote participants, these should not trigger new events
98
105
  joinResponse.otherParticipants.forEach((info) => {
99
106
  this.getOrCreateParticipant(info.sid, info);
@@ -116,6 +123,7 @@ class Room extends events_1.EventEmitter {
116
123
  clearTimeout(connectTimeout);
117
124
  // also hook unload event
118
125
  window.addEventListener('beforeunload', this.disconnect);
126
+ navigator.mediaDevices.addEventListener('devicechange', this.handleDeviceChange);
119
127
  resolve(this);
120
128
  });
121
129
  });
@@ -212,6 +220,13 @@ class Room extends events_1.EventEmitter {
212
220
  this.audioEnabled = false;
213
221
  this.emit(events_2.RoomEvent.AudioPlaybackStatusChanged, false);
214
222
  };
223
+ this.handleDeviceChange = () => __awaiter(this, void 0, void 0, function* () {
224
+ this.emit(events_2.RoomEvent.MediaDevicesChanged);
225
+ });
226
+ this.handleRoomUpdate = (r) => {
227
+ this.metadata = r.metadata;
228
+ this.emit(events_2.RoomEvent.RoomMetadataChanged, r.metadata);
229
+ };
215
230
  this.participants = new Map();
216
231
  this.engine = new RTCEngine_1.default(client, config);
217
232
  this.acquireAudioContext();
@@ -224,6 +239,7 @@ class Room extends events_1.EventEmitter {
224
239
  this.engine.on(events_2.EngineEvent.ParticipantUpdate, (participants) => {
225
240
  this.handleParticipantUpdates(participants);
226
241
  });
242
+ this.engine.on(events_2.EngineEvent.RoomUpdate, this.handleRoomUpdate);
227
243
  this.engine.on(events_2.EngineEvent.ActiveSpeakersUpdate, this.handleActiveSpeakersUpdate);
228
244
  this.engine.on(events_2.EngineEvent.SpeakersChanged, this.handleSpeakersChanged);
229
245
  this.engine.on(events_2.EngineEvent.DataPacketReceived, this.handleDataPacket);
@@ -236,6 +252,32 @@ class Room extends events_1.EventEmitter {
236
252
  this.emit(events_2.RoomEvent.Reconnected);
237
253
  });
238
254
  }
255
+ /**
256
+ * getLocalDevices abstracts navigator.mediaDevices.enumerateDevices.
257
+ * In particular, it handles Chrome's unique behavior of creating `default`
258
+ * devices. When encountered, it'll be removed from the list of devices.
259
+ * The actual default device will be placed at top.
260
+ * @param kind
261
+ * @returns a list of available local devices
262
+ */
263
+ static getLocalDevices(kind) {
264
+ return DeviceManager_1.default.getInstance().getDevices(kind);
265
+ }
266
+ /**
267
+ * Set default publish options
268
+ */
269
+ set defaultPublishOptions(opts) {
270
+ defaults_1.setTrackPublishDefaults(opts);
271
+ }
272
+ get defaultPublishOptions() {
273
+ return defaults_1.getTrackPublishDefaults();
274
+ }
275
+ set defaultCaptureOptions(opts) {
276
+ defaults_1.setTrackCaptureDefaults(opts);
277
+ }
278
+ get defaultCaptureOptions() {
279
+ return defaults_1.getTrackCaptureDefaults();
280
+ }
239
281
  /**
240
282
  * Browsers have different policies regarding audio playback. Most requiring
241
283
  * some form of user interaction (click/tap/etc).
@@ -272,6 +314,52 @@ class Room extends events_1.EventEmitter {
272
314
  get canPlaybackAudio() {
273
315
  return this.audioEnabled;
274
316
  }
317
+ /**
318
+ * Switches all active device used in this room to the given device.
319
+ *
320
+ * Note: setting AudioOutput is not supported on some browsers. See [setSinkId](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/setSinkId#browser_compatibility)
321
+ *
322
+ * @param kind use `videoinput` for camera track,
323
+ * `audioinput` for microphone track,
324
+ * `audiooutput` to set speaker for all incoming audio tracks
325
+ * @param deviceId
326
+ */
327
+ switchActiveDevice(kind, deviceId) {
328
+ return __awaiter(this, void 0, void 0, function* () {
329
+ if (kind === 'audioinput') {
330
+ const tracks = Array
331
+ .from(this.localParticipant.audioTracks.values())
332
+ .filter((track) => track.source === Track_1.Track.Source.Microphone);
333
+ yield Promise.all(tracks.map((t) => { var _a; return (_a = t.audioTrack) === null || _a === void 0 ? void 0 : _a.setDeviceId(deviceId); }));
334
+ this.defaultCaptureOptions.audioDeviceId = deviceId;
335
+ }
336
+ else if (kind === 'videoinput') {
337
+ const tracks = Array
338
+ .from(this.localParticipant.videoTracks.values())
339
+ .filter((track) => track.source === Track_1.Track.Source.Camera);
340
+ yield Promise.all(tracks.map((t) => { var _a; return (_a = t.videoTrack) === null || _a === void 0 ? void 0 : _a.setDeviceId(deviceId); }));
341
+ this.defaultCaptureOptions.videoDeviceId = deviceId;
342
+ }
343
+ else if (kind === 'audiooutput') {
344
+ const elements = [];
345
+ this.participants.forEach((p) => {
346
+ p.audioTracks.forEach((t) => {
347
+ if (t.isSubscribed && t.track) {
348
+ t.track.attachedElements.forEach((e) => {
349
+ elements.push(e);
350
+ });
351
+ }
352
+ });
353
+ });
354
+ yield Promise.all(elements.map((e) => __awaiter(this, void 0, void 0, function* () {
355
+ if ('setSinkId' in e) {
356
+ /* @ts-ignore */
357
+ yield e.setSinkId(deviceId);
358
+ }
359
+ })));
360
+ }
361
+ });
362
+ }
275
363
  onTrackAdded(mediaTrack, stream, receiver) {
276
364
  const parts = utils_1.unpackStreamId(stream.id);
277
365
  const participantId = parts[0];
@@ -292,8 +380,8 @@ class Room extends events_1.EventEmitter {
292
380
  });
293
381
  this.localParticipant.tracks.forEach((pub) => {
294
382
  var _a, _b;
295
- (_a = pub.track) === null || _a === void 0 ? void 0 : _a.stop();
296
- (_b = pub.track) === null || _b === void 0 ? void 0 : _b.detach();
383
+ (_a = pub.track) === null || _a === void 0 ? void 0 : _a.detach();
384
+ (_b = pub.track) === null || _b === void 0 ? void 0 : _b.stop();
297
385
  });
298
386
  this.participants.clear();
299
387
  this.activeSpeakers = [];
@@ -302,6 +390,7 @@ class Room extends events_1.EventEmitter {
302
390
  this.audioContext = undefined;
303
391
  }
304
392
  window.removeEventListener('beforeunload', this.disconnect);
393
+ navigator.mediaDevices.removeEventListener('devicechange', this.handleDeviceChange);
305
394
  this.emit(events_2.RoomEvent.Disconnected);
306
395
  this.state = RoomState.Disconnected;
307
396
  }
@@ -395,6 +484,7 @@ class Room extends events_1.EventEmitter {
395
484
  this.emit(events_2.RoomEvent.TrackUnmuted, pub, participant);
396
485
  });
397
486
  participant.on(events_2.ParticipantEvent.MetadataChanged, (metadata, p) => {
487
+ this.emit(events_2.RoomEvent.ParticipantMetadataChanged, metadata, p);
398
488
  this.emit(events_2.RoomEvent.MetadataChanged, metadata, p);
399
489
  });
400
490
  }
@@ -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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"}
@@ -0,0 +1,5 @@
1
+ import { TrackCaptureDefaults, TrackPublishDefaults } from './track/options';
2
+ export declare function getTrackPublishDefaults(): TrackPublishDefaults;
3
+ export declare function setTrackPublishDefaults(defaults: TrackPublishDefaults): void;
4
+ export declare function getTrackCaptureDefaults(): TrackCaptureDefaults;
5
+ export declare function setTrackCaptureDefaults(defaults: TrackCaptureDefaults): void;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setTrackCaptureDefaults = exports.getTrackCaptureDefaults = exports.setTrackPublishDefaults = exports.getTrackPublishDefaults = void 0;
4
+ const options_1 = require("./track/options");
5
+ let publishDefaults = {};
6
+ let captureDefaults = {
7
+ autoGainControl: true,
8
+ channelCount: 1,
9
+ echoCancellation: true,
10
+ noiseSuppression: true,
11
+ videoResolution: options_1.VideoPresets.qhd.resolution,
12
+ };
13
+ function getTrackPublishDefaults() {
14
+ return publishDefaults;
15
+ }
16
+ exports.getTrackPublishDefaults = getTrackPublishDefaults;
17
+ function setTrackPublishDefaults(defaults) {
18
+ publishDefaults = defaults;
19
+ }
20
+ exports.setTrackPublishDefaults = setTrackPublishDefaults;
21
+ function getTrackCaptureDefaults() {
22
+ return captureDefaults;
23
+ }
24
+ exports.getTrackCaptureDefaults = getTrackCaptureDefaults;
25
+ function setTrackCaptureDefaults(defaults) {
26
+ captureDefaults = defaults;
27
+ }
28
+ exports.setTrackCaptureDefaults = setTrackCaptureDefaults;
29
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/room/defaults.ts"],"names":[],"mappings":";;;AAAA,6CAA2F;AAE3F,IAAI,eAAe,GAAyB,EAAE,CAAC;AAE/C,IAAI,eAAe,GAAyB;IAC1C,eAAe,EAAE,IAAI;IACrB,YAAY,EAAE,CAAC;IACf,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,sBAAY,CAAC,GAAG,CAAC,UAAU;CAC7C,CAAC;AAEF,SAAgB,uBAAuB;IACrC,OAAO,eAAe,CAAC;AACzB,CAAC;AAFD,0DAEC;AAED,SAAgB,uBAAuB,CAAC,QAA8B;IACpE,eAAe,GAAG,QAAQ,CAAC;AAC7B,CAAC;AAFD,0DAEC;AAED,SAAgB,uBAAuB;IACrC,OAAO,eAAe,CAAC;AACzB,CAAC;AAFD,0DAEC;AAED,SAAgB,uBAAuB,CAAC,QAA8B;IACpE,eAAe,GAAG,QAAQ,CAAC;AAC7B,CAAC;AAFD,0DAEC"}
@@ -22,6 +22,10 @@ export declare enum RoomEvent {
22
22
  * when an unrecoverable connection issue had occured
23
23
  */
24
24
  Disconnected = "disconnected",
25
+ /**
26
+ * When input or output devices on the machine have changed.
27
+ */
28
+ MediaDevicesChanged = "mediaDevicesChanged",
25
29
  /**
26
30
  * When a [[RemoteParticipant]] joins *after* the local
27
31
  * participant. It will not emit events for participants that are already
@@ -39,7 +43,10 @@ export declare enum RoomEvent {
39
43
  ParticipantDisconnected = "participantDisconnected",
40
44
  /**
41
45
  * When a new track is published to room *after* the local
42
- * participant has joined. It will not fire for tracks that are already published
46
+ * participant has joined. It will not fire for tracks that are already published.
47
+ *
48
+ * A track published doesn't mean the participant has subscribed to it. It's
49
+ * simply reflecting the state of the room.
43
50
  *
44
51
  * args: ([[RemoteTrackPublication]], [[RemoteParticipant]])
45
52
  */
@@ -67,7 +74,7 @@ export declare enum RoomEvent {
67
74
  * A subscribed track is no longer available. Clients should listen to this
68
75
  * event and ensure they detach tracks.
69
76
  *
70
- * args: ([[RemoteTrackPublication]], [[RemoteParticipant]])
77
+ * args: ([[Track]], [[RemoteTrackPublication]], [[RemoteParticipant]])
71
78
  */
72
79
  TrackUnsubscribed = "trackUnsubscribed",
73
80
  /**
@@ -82,6 +89,10 @@ export declare enum RoomEvent {
82
89
  * args: ([[TrackPublication]], [[Participant]])
83
90
  */
84
91
  TrackUnmuted = "trackUnmuted",
92
+ /**
93
+ * A track was published successfully
94
+ */
95
+ LocalTrackPublished = "localTrackPublished",
85
96
  /**
86
97
  * Active speakers changed. List of speakers are ordered by their audio level.
87
98
  * loudest speakers first. This will include the LocalParticipant too.
@@ -89,6 +100,11 @@ export declare enum RoomEvent {
89
100
  * args: (Array<[[Participant]]>)
90
101
  */
91
102
  ActiveSpeakersChanged = "activeSpeakersChanged",
103
+ /**
104
+ * @deprecated Use ParticipantMetadataChanged instead
105
+ * @internal
106
+ */
107
+ MetadataChanged = "metadataChanged",
92
108
  /**
93
109
  * Participant metadata is a simple way for app-specific state to be pushed to
94
110
  * all users.
@@ -96,8 +112,18 @@ export declare enum RoomEvent {
96
112
  * state, *all* participants in the room will fire this event.
97
113
  *
98
114
  * args: (prevMetadata: string, [[Participant]])
115
+ *
99
116
  */
100
- MetadataChanged = "metadataChanged",
117
+ ParticipantMetadataChanged = "participantMetaDataChanged",
118
+ /**
119
+ * Room metadata is a simple way for app-specific state to be pushed to
120
+ * all users.
121
+ * When RoomService.UpdateRoomMetadata is called to change a room's state,
122
+ * *all* participants in the room will fire this event.
123
+ *
124
+ * args: (string)
125
+ */
126
+ RoomMetadataChanged = "roomMetadataChanged",
101
127
  /**
102
128
  * Data received from another participant.
103
129
  * Data packets provides the ability to use LiveKit to send/receive arbitrary payloads.
@@ -116,7 +142,9 @@ export declare enum ParticipantEvent {
116
142
  TrackUnsubscribed = "trackUnsubscribed",
117
143
  TrackMuted = "trackMuted",
118
144
  TrackUnmuted = "trackUnmuted",
145
+ LocalTrackPublished = "localTrackPublished",
119
146
  MetadataChanged = "metadataChanged",
147
+ ParticipantMetadataChanged = "participantMetadataChanged",
120
148
  DataReceived = "dataReceived",
121
149
  IsSpeakingChanged = "isSpeakingChanged"
122
150
  }
@@ -131,7 +159,8 @@ export declare enum EngineEvent {
131
159
  ActiveSpeakersUpdate = "activeSpeakersUpdate",
132
160
  SpeakersChanged = "speakersChanged",
133
161
  DataPacketReceived = "dataPacketReceived",
134
- RemoteMuteChanged = "remoteMuteChanged"
162
+ RemoteMuteChanged = "remoteMuteChanged",
163
+ RoomUpdate = "roomUpdate"
135
164
  }
136
165
  export declare enum TrackEvent {
137
166
  Message = "message",
@@ -26,6 +26,10 @@ var RoomEvent;
26
26
  * when an unrecoverable connection issue had occured
27
27
  */
28
28
  RoomEvent["Disconnected"] = "disconnected";
29
+ /**
30
+ * When input or output devices on the machine have changed.
31
+ */
32
+ RoomEvent["MediaDevicesChanged"] = "mediaDevicesChanged";
29
33
  /**
30
34
  * When a [[RemoteParticipant]] joins *after* the local
31
35
  * participant. It will not emit events for participants that are already
@@ -43,7 +47,10 @@ var RoomEvent;
43
47
  RoomEvent["ParticipantDisconnected"] = "participantDisconnected";
44
48
  /**
45
49
  * When a new track is published to room *after* the local
46
- * participant has joined. It will not fire for tracks that are already published
50
+ * participant has joined. It will not fire for tracks that are already published.
51
+ *
52
+ * A track published doesn't mean the participant has subscribed to it. It's
53
+ * simply reflecting the state of the room.
47
54
  *
48
55
  * args: ([[RemoteTrackPublication]], [[RemoteParticipant]])
49
56
  */
@@ -71,7 +78,7 @@ var RoomEvent;
71
78
  * A subscribed track is no longer available. Clients should listen to this
72
79
  * event and ensure they detach tracks.
73
80
  *
74
- * args: ([[RemoteTrackPublication]], [[RemoteParticipant]])
81
+ * args: ([[Track]], [[RemoteTrackPublication]], [[RemoteParticipant]])
75
82
  */
76
83
  RoomEvent["TrackUnsubscribed"] = "trackUnsubscribed";
77
84
  /**
@@ -86,6 +93,10 @@ var RoomEvent;
86
93
  * args: ([[TrackPublication]], [[Participant]])
87
94
  */
88
95
  RoomEvent["TrackUnmuted"] = "trackUnmuted";
96
+ /**
97
+ * A track was published successfully
98
+ */
99
+ RoomEvent["LocalTrackPublished"] = "localTrackPublished";
89
100
  /**
90
101
  * Active speakers changed. List of speakers are ordered by their audio level.
91
102
  * loudest speakers first. This will include the LocalParticipant too.
@@ -93,6 +104,11 @@ var RoomEvent;
93
104
  * args: (Array<[[Participant]]>)
94
105
  */
95
106
  RoomEvent["ActiveSpeakersChanged"] = "activeSpeakersChanged";
107
+ /**
108
+ * @deprecated Use ParticipantMetadataChanged instead
109
+ * @internal
110
+ */
111
+ RoomEvent["MetadataChanged"] = "metadataChanged";
96
112
  /**
97
113
  * Participant metadata is a simple way for app-specific state to be pushed to
98
114
  * all users.
@@ -100,8 +116,18 @@ var RoomEvent;
100
116
  * state, *all* participants in the room will fire this event.
101
117
  *
102
118
  * args: (prevMetadata: string, [[Participant]])
119
+ *
103
120
  */
104
- RoomEvent["MetadataChanged"] = "metadataChanged";
121
+ RoomEvent["ParticipantMetadataChanged"] = "participantMetaDataChanged";
122
+ /**
123
+ * Room metadata is a simple way for app-specific state to be pushed to
124
+ * all users.
125
+ * When RoomService.UpdateRoomMetadata is called to change a room's state,
126
+ * *all* participants in the room will fire this event.
127
+ *
128
+ * args: (string)
129
+ */
130
+ RoomEvent["RoomMetadataChanged"] = "roomMetadataChanged";
105
131
  /**
106
132
  * Data received from another participant.
107
133
  * Data packets provides the ability to use LiveKit to send/receive arbitrary payloads.
@@ -121,7 +147,9 @@ var ParticipantEvent;
121
147
  ParticipantEvent["TrackUnsubscribed"] = "trackUnsubscribed";
122
148
  ParticipantEvent["TrackMuted"] = "trackMuted";
123
149
  ParticipantEvent["TrackUnmuted"] = "trackUnmuted";
150
+ ParticipantEvent["LocalTrackPublished"] = "localTrackPublished";
124
151
  ParticipantEvent["MetadataChanged"] = "metadataChanged";
152
+ ParticipantEvent["ParticipantMetadataChanged"] = "participantMetadataChanged";
125
153
  ParticipantEvent["DataReceived"] = "dataReceived";
126
154
  ParticipantEvent["IsSpeakingChanged"] = "isSpeakingChanged";
127
155
  })(ParticipantEvent = exports.ParticipantEvent || (exports.ParticipantEvent = {}));
@@ -138,6 +166,7 @@ var EngineEvent;
138
166
  EngineEvent["SpeakersChanged"] = "speakersChanged";
139
167
  EngineEvent["DataPacketReceived"] = "dataPacketReceived";
140
168
  EngineEvent["RemoteMuteChanged"] = "remoteMuteChanged";
169
+ EngineEvent["RoomUpdate"] = "roomUpdate";
141
170
  })(EngineEvent = exports.EngineEvent || (exports.EngineEvent = {}));
142
171
  var TrackEvent;
143
172
  (function (TrackEvent) {
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/room/events.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;GAQG;AACH,IAAY,SAmHX;AAnHD,WAAY,SAAS;IACnB;;;OAGG;IACH,0CAA6B,CAAA;IAE7B;;OAEG;IACH,wCAA2B,CAAA;IAE3B;;;OAGG;IACH,0CAA6B,CAAA;IAE7B;;;;;;OAMG;IACH,0DAA6C,CAAA;IAE7C;;;;;OAKG;IACH,gEAAmD,CAAA;IAEnD;;;;;OAKG;IACH,8CAAiC,CAAA;IAEjC;;;;;OAKG;IACH,gDAAmC,CAAA;IAEnC;;;;OAIG;IACH,gEAAmD,CAAA;IAEnD;;;;OAIG;IACH,kDAAqC,CAAA;IAErC;;;;;OAKG;IACH,oDAAuC,CAAA;IAEvC;;;;OAIG;IACH,sCAAyB,CAAA;IAEzB;;;;OAIG;IACH,0CAA6B,CAAA;IAE7B;;;;;OAKG;IACH,4DAA+C,CAAA;IAE/C;;;;;;;OAOG;IACH,gDAAmC,CAAA;IAEnC;;;;;;OAMG;IACH,0CAA6B,CAAA;IAE7B,gEAAmD,CAAA;AACrD,CAAC,EAnHW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAmHpB;AAED,IAAY,gBAWX;AAXD,WAAY,gBAAgB;IAC1B,qDAAiC,CAAA;IACjC,uDAAmC,CAAA;IACnC,uEAAmD,CAAA;IACnD,yDAAqC,CAAA;IACrC,2DAAuC,CAAA;IACvC,6CAAyB,CAAA;IACzB,iDAA6B,CAAA;IAC7B,uDAAmC,CAAA;IACnC,iDAA6B,CAAA;IAC7B,2DAAuC,CAAA;AACzC,CAAC,EAXW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAW3B;AAED,gBAAgB;AAChB,IAAY,WAWX;AAXD,WAAY,WAAW;IACrB,sCAAuB,CAAA;IACvB,4CAA6B,CAAA;IAC7B,4CAA6B,CAAA;IAC7B,0CAA2B,CAAA;IAC3B,sDAAuC,CAAA;IACvC,kDAAmC,CAAA;IACnC,4DAA6C,CAAA;IAC7C,kDAAmC,CAAA;IACnC,wDAAyC,CAAA;IACzC,sDAAuC,CAAA;AACzC,CAAC,EAXW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAWtB;AAED,IAAY,UAYX;AAZD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,6BAAe,CAAA;IACf,iCAAmB,CAAA;IACnB,gBAAgB;IAChB,+CAAiC,CAAA;IACjC,gBAAgB;IAChB,uDAAyC,CAAA;IACzC,gBAAgB;IAChB,2DAA6C,CAAA;IAC7C,gBAAgB;IAChB,yDAA2C,CAAA;AAC7C,CAAC,EAZW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAYrB"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/room/events.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;GAQG;AACH,IAAY,SAiJX;AAjJD,WAAY,SAAS;IACnB;;;OAGG;IACH,0CAA6B,CAAA;IAE7B;;OAEG;IACH,wCAA2B,CAAA;IAE3B;;;OAGG;IACH,0CAA6B,CAAA;IAE7B;;OAEG;IACH,wDAA2C,CAAA;IAE3C;;;;;;OAMG;IACH,0DAA6C,CAAA;IAE7C;;;;;OAKG;IACH,gEAAmD,CAAA;IAEnD;;;;;;;;OAQG;IACH,8CAAiC,CAAA;IAEjC;;;;;OAKG;IACH,gDAAmC,CAAA;IAEnC;;;;OAIG;IACH,gEAAmD,CAAA;IAEnD;;;;OAIG;IACH,kDAAqC,CAAA;IAErC;;;;;OAKG;IACH,oDAAuC,CAAA;IAEvC;;;;OAIG;IACH,sCAAyB,CAAA;IAEzB;;;;OAIG;IACH,0CAA6B,CAAA;IAE7B;;OAEG;IACH,wDAA2C,CAAA;IAE3C;;;;;OAKG;IACH,4DAA+C,CAAA;IAE/C;;;OAGG;IACH,gDAAmC,CAAA;IAEnC;;;;;;;;OAQG;IACH,sEAAyD,CAAA;IAEzD;;;;;;;OAOG;IACH,wDAA2C,CAAA;IAE3C;;;;;;OAMG;IACH,0CAA6B,CAAA;IAE7B,gEAAmD,CAAA;AACrD,CAAC,EAjJW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAiJpB;AAED,IAAY,gBAaX;AAbD,WAAY,gBAAgB;IAC1B,qDAAiC,CAAA;IACjC,uDAAmC,CAAA;IACnC,uEAAmD,CAAA;IACnD,yDAAqC,CAAA;IACrC,2DAAuC,CAAA;IACvC,6CAAyB,CAAA;IACzB,iDAA6B,CAAA;IAC7B,+DAA2C,CAAA;IAC3C,uDAAmC,CAAA;IACnC,6EAAyD,CAAA;IACzD,iDAA6B,CAAA;IAC7B,2DAAuC,CAAA;AACzC,CAAC,EAbW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAa3B;AAED,gBAAgB;AAChB,IAAY,WAYX;AAZD,WAAY,WAAW;IACrB,sCAAuB,CAAA;IACvB,4CAA6B,CAAA;IAC7B,4CAA6B,CAAA;IAC7B,0CAA2B,CAAA;IAC3B,sDAAuC,CAAA;IACvC,kDAAmC,CAAA;IACnC,4DAA6C,CAAA;IAC7C,kDAAmC,CAAA;IACnC,wDAAyC,CAAA;IACzC,sDAAuC,CAAA;IACvC,wCAAyB,CAAA;AAC3B,CAAC,EAZW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAYtB;AAED,IAAY,UAYX;AAZD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,6BAAe,CAAA;IACf,iCAAmB,CAAA;IACnB,gBAAgB;IAChB,+CAAiC,CAAA;IACjC,gBAAgB;IAChB,uDAAyC,CAAA;IACzC,gBAAgB;IAChB,2DAA6C,CAAA;IAC7C,gBAAgB;IAChB,yDAA2C,CAAA;AAC7C,CAAC,EAZW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAYrB"}
@@ -3,6 +3,7 @@ import RTCEngine from '../RTCEngine';
3
3
  import LocalTrack from '../track/LocalTrack';
4
4
  import LocalTrackPublication from '../track/LocalTrackPublication';
5
5
  import { TrackPublishOptions } from '../track/options';
6
+ import { Track } from '../track/Track';
6
7
  import Participant from './Participant';
7
8
  import RemoteParticipant from './RemoteParticipant';
8
9
  export default class LocalParticipant extends Participant {
@@ -13,6 +14,29 @@ export default class LocalParticipant extends Participant {
13
14
  tracks: Map<string, LocalTrackPublication>;
14
15
  /** @internal */
15
16
  constructor(sid: string, identity: string, engine: RTCEngine);
17
+ getTrack(source: Track.Source): LocalTrackPublication | undefined;
18
+ getTrackByName(name: string): LocalTrackPublication | undefined;
19
+ /**
20
+ * Enable or disable a participant's camera track.
21
+ *
22
+ * If a track has already published, it'll mute or unmute the track.
23
+ */
24
+ setCameraEnabled(enabled: boolean): Promise<void>;
25
+ /**
26
+ * Enable or disable a participant's microphone track.
27
+ *
28
+ * If a track has already published, it'll mute or unmute the track.
29
+ */
30
+ setMicrophoneEnabled(enabled: boolean): Promise<void>;
31
+ /**
32
+ * Start or stop sharing a participant's screen
33
+ */
34
+ setScreenShareEnabled(enabled: boolean): Promise<void>;
35
+ /**
36
+ * Enable or disable publishing for a track by source. This serves as a simple
37
+ * way to manage the common tracks (camera, mic, or screen share)
38
+ */
39
+ private setTrackEnabled;
16
40
  /**
17
41
  * Publish a new track to the room
18
42
  * @param track
@@ -43,6 +67,7 @@ export default class LocalParticipant extends Participant {
43
67
  private computeVideoEncodings;
44
68
  private presets169;
45
69
  private presets43;
70
+ private presetsScreenShare;
46
71
  private determineAppropriateEncoding;
47
72
  private presetsForResolution;
48
73
  }