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
@@ -14,8 +14,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const loglevel_1 = __importDefault(require("loglevel"));
16
16
  const livekit_rtc_1 = require("../../proto/livekit_rtc");
17
+ const defaults_1 = require("../defaults");
17
18
  const errors_1 = require("../errors");
18
19
  const events_1 = require("../events");
20
+ const create_1 = require("../track/create");
19
21
  const LocalAudioTrack_1 = __importDefault(require("../track/LocalAudioTrack"));
20
22
  const LocalTrackPublication_1 = __importDefault(require("../track/LocalTrackPublication"));
21
23
  const LocalVideoTrack_1 = __importDefault(require("../track/LocalVideoTrack"));
@@ -57,6 +59,13 @@ class LocalParticipant extends Participant_1.default {
57
59
  options_1.VideoPresets43.hd,
58
60
  options_1.VideoPresets43.fhd,
59
61
  ];
62
+ this.presetsScreenShare = [
63
+ options_1.ScreenSharePresets.vga,
64
+ options_1.ScreenSharePresets.hd_8,
65
+ options_1.ScreenSharePresets.hd_15,
66
+ options_1.ScreenSharePresets.fhd_15,
67
+ options_1.ScreenSharePresets.fhd_30,
68
+ ];
60
69
  this.audioTracks = new Map();
61
70
  this.videoTracks = new Map();
62
71
  this.tracks = new Map();
@@ -74,13 +83,90 @@ class LocalParticipant extends Participant_1.default {
74
83
  }
75
84
  });
76
85
  }
86
+ getTrack(source) {
87
+ const track = super.getTrack(source);
88
+ if (track) {
89
+ return track;
90
+ }
91
+ }
92
+ getTrackByName(name) {
93
+ const track = super.getTrackByName(name);
94
+ if (track) {
95
+ return track;
96
+ }
97
+ }
98
+ /**
99
+ * Enable or disable a participant's camera track.
100
+ *
101
+ * If a track has already published, it'll mute or unmute the track.
102
+ */
103
+ setCameraEnabled(enabled) {
104
+ return this.setTrackEnabled(Track_1.Track.Source.Camera, enabled);
105
+ }
106
+ /**
107
+ * Enable or disable a participant's microphone track.
108
+ *
109
+ * If a track has already published, it'll mute or unmute the track.
110
+ */
111
+ setMicrophoneEnabled(enabled) {
112
+ return this.setTrackEnabled(Track_1.Track.Source.Microphone, enabled);
113
+ }
114
+ /**
115
+ * Start or stop sharing a participant's screen
116
+ */
117
+ setScreenShareEnabled(enabled) {
118
+ return this.setTrackEnabled(Track_1.Track.Source.ScreenShare, enabled);
119
+ }
120
+ /**
121
+ * Enable or disable publishing for a track by source. This serves as a simple
122
+ * way to manage the common tracks (camera, mic, or screen share)
123
+ */
124
+ setTrackEnabled(source, enabled) {
125
+ return __awaiter(this, void 0, void 0, function* () {
126
+ const track = this.getTrack(source);
127
+ if (enabled) {
128
+ if (track) {
129
+ yield track.unmute();
130
+ }
131
+ else {
132
+ let localTrack;
133
+ switch (source) {
134
+ case Track_1.Track.Source.Camera:
135
+ localTrack = yield create_1.createLocalVideoTrack();
136
+ break;
137
+ case Track_1.Track.Source.Microphone:
138
+ localTrack = yield create_1.createLocalAudioTrack();
139
+ break;
140
+ case Track_1.Track.Source.ScreenShare:
141
+ [localTrack] = yield create_1.createLocalScreenTracks({ audio: false });
142
+ break;
143
+ default:
144
+ throw new errors_1.TrackInvalidError(source);
145
+ }
146
+ yield this.publishTrack(localTrack);
147
+ }
148
+ }
149
+ else if (track && track.track) {
150
+ // screenshare cannot be muted, unpublish instead
151
+ if (source === Track_1.Track.Source.ScreenShare) {
152
+ this.unpublishTrack(track.track);
153
+ }
154
+ else {
155
+ yield track.mute();
156
+ }
157
+ }
158
+ });
159
+ }
77
160
  /**
78
161
  * Publish a new track to the room
79
162
  * @param track
80
163
  * @param options
81
164
  */
82
165
  publishTrack(track, options) {
166
+ var _a, _b, _c, _d, _e;
83
167
  return __awaiter(this, void 0, void 0, function* () {
168
+ const opts = {};
169
+ Object.assign(opts, defaults_1.getTrackPublishDefaults(), options);
84
170
  // convert raw media track into audio or video track
85
171
  if (track instanceof MediaStreamTrack) {
86
172
  switch (track.kind) {
@@ -106,6 +192,9 @@ class LocalParticipant extends Participant_1.default {
106
192
  });
107
193
  if (existingPublication)
108
194
  return existingPublication;
195
+ if (opts.source) {
196
+ track.source = opts.source;
197
+ }
109
198
  // handle track actions
110
199
  track.on(events_1.TrackEvent.Muted, this.onTrackMuted);
111
200
  track.on(events_1.TrackEvent.Unmuted, this.onTrackUnmuted);
@@ -120,6 +209,8 @@ class LocalParticipant extends Participant_1.default {
120
209
  name: track.name,
121
210
  type: Track_1.Track.kindToProto(track.kind),
122
211
  muted: track.isMuted,
212
+ source: Track_1.Track.sourceToProto(track.source),
213
+ disableDtx: !((_a = opts === null || opts === void 0 ? void 0 : opts.dtx) !== null && _a !== void 0 ? _a : true),
123
214
  });
124
215
  if (track.dimensions) {
125
216
  req.width = track.dimensions.width;
@@ -133,12 +224,14 @@ class LocalParticipant extends Participant_1.default {
133
224
  if (track.kind === Track_1.Track.Kind.Video) {
134
225
  // TODO: support react native, which doesn't expose getSettings
135
226
  const settings = track.mediaStreamTrack.getSettings();
136
- encodings = this.computeVideoEncodings(settings.width, settings.height, options);
227
+ const width = (_b = settings.width) !== null && _b !== void 0 ? _b : (_c = track.dimensions) === null || _c === void 0 ? void 0 : _c.width;
228
+ const height = (_d = settings.height) !== null && _d !== void 0 ? _d : (_e = track.dimensions) === null || _e === void 0 ? void 0 : _e.height;
229
+ encodings = this.computeVideoEncodings(track.source === Track_1.Track.Source.ScreenShare, width, height, opts);
137
230
  }
138
- else if (track.kind === Track_1.Track.Kind.Audio && (options === null || options === void 0 ? void 0 : options.audioBitrate)) {
231
+ else if (track.kind === Track_1.Track.Kind.Audio && opts.audioBitrate) {
139
232
  encodings = [
140
233
  {
141
- maxBitrate: options === null || options === void 0 ? void 0 : options.audioBitrate,
234
+ maxBitrate: opts.audioBitrate,
142
235
  },
143
236
  ];
144
237
  }
@@ -157,12 +250,12 @@ class LocalParticipant extends Participant_1.default {
157
250
  if (track instanceof LocalVideoTrack_1.default) {
158
251
  track.startMonitor(this.engine.client);
159
252
  }
160
- if (options === null || options === void 0 ? void 0 : options.videoCodec) {
161
- this.setPreferredCodec(transceiver, track.kind, options.videoCodec);
253
+ if (opts.videoCodec) {
254
+ this.setPreferredCodec(transceiver, track.kind, opts.videoCodec);
162
255
  }
163
256
  this.addTrackPublication(publication);
164
257
  // send event for publication
165
- this.emit(events_1.ParticipantEvent.TrackPublished, publication);
258
+ this.emit(events_1.ParticipantEvent.LocalTrackPublished, publication);
166
259
  return publication;
167
260
  });
168
261
  }
@@ -307,57 +400,78 @@ class LocalParticipant extends Participant_1.default {
307
400
  transceiver.setCodecPreferences([selected]);
308
401
  }
309
402
  }
310
- computeVideoEncodings(width, height, options) {
403
+ computeVideoEncodings(isScreenShare, width, height, options) {
311
404
  let encodings;
312
405
  let videoEncoding = options === null || options === void 0 ? void 0 : options.videoEncoding;
313
- if ((!videoEncoding && !(options === null || options === void 0 ? void 0 : options.simulcast)) || !width || !height) {
406
+ if (isScreenShare) {
407
+ videoEncoding = options === null || options === void 0 ? void 0 : options.screenShareEncoding;
408
+ }
409
+ const useSimulcast = !isScreenShare && (options === null || options === void 0 ? void 0 : options.simulcast);
410
+ if ((!videoEncoding && !useSimulcast) || !width || !height) {
314
411
  // don't set encoding when we are not simulcasting and user isn't restricting
315
412
  // encoding parameters
316
413
  return undefined;
317
414
  }
318
415
  if (!videoEncoding) {
319
416
  // find the right encoding based on width/height
320
- videoEncoding = this.determineAppropriateEncoding(width, height);
417
+ videoEncoding = this.determineAppropriateEncoding(isScreenShare, width, height);
321
418
  loglevel_1.default.debug('using video encoding', videoEncoding);
322
419
  }
323
- if (options === null || options === void 0 ? void 0 : options.simulcast) {
324
- encodings = [
325
- {
326
- rid: 'f',
327
- maxBitrate: videoEncoding.maxBitrate,
328
- /* @ts-ignore */
329
- maxFramerate: videoEncoding.maxFramerate,
330
- },
331
- ];
332
- const presets = this.presetsForResolution(width, height);
420
+ if (useSimulcast) {
421
+ const presets = this.presetsForResolution(isScreenShare, width, height);
333
422
  const midPreset = presets[1];
334
423
  const lowPreset = presets[0];
335
- // if resolution is high enough, we would send both h and q res..
336
- // otherwise only send h
424
+ // if resolution is high enough, we would send [q, h, f] res..
425
+ // otherwise only send [q, h]
426
+ // NOTE:
427
+ // 1. Ordering of these encodings is important. Chrome seems
428
+ // to use the index into encodings to decide which layer
429
+ // to disable when constrained (bandwidth or CPU). So,
430
+ // encodings should be ordered in increasing spatial
431
+ // resolution order.
432
+ // 2. ion-sfu translates rids into layers. So, all encodings
433
+ // should have the base layer `q` and then more added
434
+ // based on other conditions.
337
435
  if (width >= 960) {
338
- encodings.push({
339
- rid: 'h',
340
- scaleResolutionDownBy: height / midPreset.height,
341
- maxBitrate: midPreset.encoding.maxBitrate,
342
- /* @ts-ignore */
343
- maxFramerate: midPreset.encoding.maxFramerate,
344
- });
345
- encodings.push({
346
- rid: 'q',
347
- scaleResolutionDownBy: height / lowPreset.height,
348
- maxBitrate: lowPreset.encoding.maxBitrate,
349
- /* @ts-ignore */
350
- maxFramerate: lowPreset.encoding.maxFramerate,
351
- });
436
+ encodings = [
437
+ {
438
+ rid: 'q',
439
+ scaleResolutionDownBy: height / lowPreset.height,
440
+ maxBitrate: lowPreset.encoding.maxBitrate,
441
+ /* @ts-ignore */
442
+ maxFramerate: lowPreset.encoding.maxFramerate,
443
+ },
444
+ {
445
+ rid: 'h',
446
+ scaleResolutionDownBy: height / midPreset.height,
447
+ maxBitrate: midPreset.encoding.maxBitrate,
448
+ /* @ts-ignore */
449
+ maxFramerate: midPreset.encoding.maxFramerate,
450
+ },
451
+ {
452
+ rid: 'f',
453
+ maxBitrate: videoEncoding.maxBitrate,
454
+ /* @ts-ignore */
455
+ maxFramerate: videoEncoding.maxFramerate,
456
+ },
457
+ ];
352
458
  }
353
459
  else {
354
- encodings.push({
355
- rid: 'h',
356
- scaleResolutionDownBy: height / lowPreset.height,
357
- maxBitrate: lowPreset.encoding.maxBitrate,
358
- /* @ts-ignore */
359
- maxFramerate: lowPreset.encoding.maxFramerate,
360
- });
460
+ encodings = [
461
+ {
462
+ rid: 'q',
463
+ scaleResolutionDownBy: height / lowPreset.height,
464
+ maxBitrate: lowPreset.encoding.maxBitrate,
465
+ /* @ts-ignore */
466
+ maxFramerate: lowPreset.encoding.maxFramerate,
467
+ },
468
+ {
469
+ rid: 'h',
470
+ maxBitrate: videoEncoding.maxBitrate,
471
+ /* @ts-ignore */
472
+ maxFramerate: videoEncoding.maxFramerate,
473
+ },
474
+ ];
361
475
  }
362
476
  }
363
477
  else {
@@ -365,8 +479,8 @@ class LocalParticipant extends Participant_1.default {
365
479
  }
366
480
  return encodings;
367
481
  }
368
- determineAppropriateEncoding(width, height) {
369
- const presets = this.presetsForResolution(width, height);
482
+ determineAppropriateEncoding(isScreenShare, width, height) {
483
+ const presets = this.presetsForResolution(isScreenShare, width, height);
370
484
  let { encoding } = presets[0];
371
485
  for (let i = 0; i < presets.length; i += 1) {
372
486
  const preset = presets[i];
@@ -376,7 +490,10 @@ class LocalParticipant extends Participant_1.default {
376
490
  }
377
491
  return encoding;
378
492
  }
379
- presetsForResolution(width, height) {
493
+ presetsForResolution(isScreenShare, width, height) {
494
+ if (isScreenShare) {
495
+ return this.presetsScreenShare;
496
+ }
380
497
  const aspect = width / height;
381
498
  if (Math.abs(aspect - 16.0 / 9) < Math.abs(aspect - 4.0 / 3)) {
382
499
  return this.presets169;
@@ -1 +1 @@
1
- {"version":3,"file":"LocalParticipant.js","sourceRoot":"","sources":["../../../src/room/participant/LocalParticipant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalParticipant.js","sourceRoot":"","sources":["../../../src/room/participant/LocalParticipant.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import { EventEmitter } from 'events';
3
3
  import { ParticipantInfo } from '../../proto/livekit_models';
4
+ import { Track } from '../track/Track';
4
5
  import TrackPublication from '../track/TrackPublication';
5
6
  export declare type AudioTrackMap = {
6
7
  [key: string]: TrackPublication;
@@ -28,6 +29,22 @@ export default class Participant extends EventEmitter {
28
29
  /** @internal */
29
30
  constructor(sid: string, identity: string);
30
31
  getTracks(): TrackPublication[];
32
+ /**
33
+ * Finds the first track that matches the source filter, for example, getting
34
+ * the user's camera track with getTrackBySource(Track.Source.Camera).
35
+ * @param source
36
+ * @returns
37
+ */
38
+ getTrack(source: Track.Source): TrackPublication | undefined;
39
+ /**
40
+ * Finds the first track that matches the track's name.
41
+ * @param name
42
+ * @returns
43
+ */
44
+ getTrackByName(name: string): TrackPublication | undefined;
45
+ get isCameraEnabled(): boolean;
46
+ get isMicrophoneEnabled(): boolean;
47
+ get isScreenShareEnabled(): boolean;
31
48
  /** when participant joined the room */
32
49
  get joinedAt(): Date | undefined;
33
50
  /** @internal */
@@ -20,6 +20,59 @@ class Participant extends events_1.EventEmitter {
20
20
  getTracks() {
21
21
  return Array.from(this.tracks.values());
22
22
  }
23
+ /**
24
+ * Finds the first track that matches the source filter, for example, getting
25
+ * the user's camera track with getTrackBySource(Track.Source.Camera).
26
+ * @param source
27
+ * @returns
28
+ */
29
+ getTrack(source) {
30
+ if (source === Track_1.Track.Source.Unknown) {
31
+ return;
32
+ }
33
+ for (const [, pub] of this.tracks) {
34
+ if (pub.source === source) {
35
+ return pub;
36
+ }
37
+ if (pub.source === Track_1.Track.Source.Unknown) {
38
+ if (source === Track_1.Track.Source.Microphone && pub.kind === Track_1.Track.Kind.Audio) {
39
+ return pub;
40
+ }
41
+ if (source === Track_1.Track.Source.Camera && pub.kind === Track_1.Track.Kind.Video && pub.trackName !== 'screen') {
42
+ return pub;
43
+ }
44
+ if (source === Track_1.Track.Source.ScreenShare && pub.kind === Track_1.Track.Kind.Video && pub.trackName === 'screen') {
45
+ return pub;
46
+ }
47
+ }
48
+ }
49
+ }
50
+ /**
51
+ * Finds the first track that matches the track's name.
52
+ * @param name
53
+ * @returns
54
+ */
55
+ getTrackByName(name) {
56
+ for (const [, pub] of this.tracks) {
57
+ if (pub.trackName === name) {
58
+ return pub;
59
+ }
60
+ }
61
+ }
62
+ get isCameraEnabled() {
63
+ var _a;
64
+ const track = this.getTrack(Track_1.Track.Source.Camera);
65
+ return !((_a = track === null || track === void 0 ? void 0 : track.isMuted) !== null && _a !== void 0 ? _a : true);
66
+ }
67
+ get isMicrophoneEnabled() {
68
+ var _a;
69
+ const track = this.getTrack(Track_1.Track.Source.Microphone);
70
+ return !((_a = track === null || track === void 0 ? void 0 : track.isMuted) !== null && _a !== void 0 ? _a : true);
71
+ }
72
+ get isScreenShareEnabled() {
73
+ const track = this.getTrack(Track_1.Track.Source.ScreenShare);
74
+ return !!track;
75
+ }
23
76
  /** when participant joined the room */
24
77
  get joinedAt() {
25
78
  if (this.participantInfo) {
@@ -1 +1 @@
1
- {"version":3,"file":"Participant.js","sourceRoot":"","sources":["../../../src/room/participant/Participant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Participant.js","sourceRoot":"","sources":["../../../src/room/participant/Participant.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ export default class RemoteParticipant extends Participant {
14
14
  /** @internal */
15
15
  constructor(signalClient: SignalClient, id: string, name?: string);
16
16
  protected addTrackPublication(publication: TrackPublication): void;
17
+ getTrack(source: Track.Source): RemoteTrackPublication | undefined;
18
+ getTrackByName(name: string): RemoteTrackPublication | undefined;
17
19
  /** @internal */
18
20
  addSubscribedMediaTrack(mediaTrack: MediaStreamTrack, sid: Track.SID, receiver?: RTCRtpReceiver, triesLeft?: number): RemoteTrackPublication | undefined;
19
21
  /** @internal */
@@ -35,6 +35,18 @@ class RemoteParticipant extends Participant_1.default {
35
35
  this.signalClient.sendUpdateSubscription(sub);
36
36
  });
37
37
  }
38
+ getTrack(source) {
39
+ const track = super.getTrack(source);
40
+ if (track) {
41
+ return track;
42
+ }
43
+ }
44
+ getTrackByName(name) {
45
+ const track = super.getTrackByName(name);
46
+ if (track) {
47
+ return track;
48
+ }
49
+ }
38
50
  /** @internal */
39
51
  addSubscribedMediaTrack(mediaTrack, sid, receiver, triesLeft) {
40
52
  // find the track publication
@@ -75,14 +87,19 @@ class RemoteParticipant extends Participant_1.default {
75
87
  else {
76
88
  track = new RemoteAudioTrack_1.default(mediaTrack, sid, receiver);
77
89
  }
90
+ track.start();
78
91
  publication.setTrack(track);
79
92
  // set track name etc
80
93
  track.name = publication.trackName;
81
94
  track.sid = publication.trackSid;
95
+ track.source = publication.source;
82
96
  // keep publication's muted status
83
97
  track.isMuted = publication.isMuted;
84
98
  // when media track is ended, fire the event
85
99
  mediaTrack.onended = () => {
100
+ if (publication) {
101
+ publication.track = undefined;
102
+ }
86
103
  this.emit(events_1.ParticipantEvent.TrackUnsubscribed, track, publication);
87
104
  };
88
105
  this.emit(events_1.ParticipantEvent.TrackSubscribed, track, publication);
@@ -155,12 +172,15 @@ class RemoteParticipant extends Participant_1.default {
155
172
  break;
156
173
  }
157
174
  // also send unsubscribe, if track is actively subscribed
158
- if (publication.track) {
159
- const { track } = publication;
175
+ const { track } = publication;
176
+ if (track) {
177
+ const { isSubscribed } = publication;
160
178
  track.stop();
161
179
  publication.setTrack(undefined);
162
180
  // always send unsubscribed, since apps may rely on this
163
- this.emit(events_1.ParticipantEvent.TrackUnsubscribed, track, publication);
181
+ if (isSubscribed) {
182
+ this.emit(events_1.ParticipantEvent.TrackUnsubscribed, track, publication);
183
+ }
164
184
  }
165
185
  if (sendUnpublish) {
166
186
  this.emit(events_1.ParticipantEvent.TrackUnpublished, publication);
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteParticipant.js","sourceRoot":"","sources":["../../../src/room/participant/RemoteParticipant.ts"],"names":[],"mappings":";;;;;AAAA,wDAA2B;AAO3B,sCAAyD;AACzD,iFAAyD;AACzD,6FAAqE;AACrE,iFAAyD;AACzD,0CAAuC;AAGvC,gEAAwC;AAExC,MAAqB,iBAAkB,SAAQ,qBAAW;IAmBxD,gBAAgB;IAChB,YAAY,YAA0B,EAAE,EAAU,EAAE,IAAa;QAC/D,KAAK,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;IAC/B,CAAC;IAjBD,gBAAgB;IAChB,MAAM,CAAC,mBAAmB,CACxB,YAA0B,EAC1B,EAAmB;QAEnB,MAAM,EAAE,GAAG,IAAI,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;QACpE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,EAAE,CAAC;IACZ,CAAC;IAWS,mBAAmB,CAAC,WAA6B;QACzD,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAEvC,yBAAyB;QACzB,WAAW,CAAC,EAAE,CACZ,mBAAU,CAAC,cAAc,EACzB,CAAC,QAA6B,EAAE,EAAE;YAChC,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC,CACF,CAAC;QACF,WAAW,CAAC,EAAE,CAAC,mBAAU,CAAC,kBAAkB,EAAE,CAAC,GAAuB,EAAE,EAAE;YACxE,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;IAChB,uBAAuB,CACrB,UAA4B,EAC5B,GAAc,EACd,QAAyB,EACzB,SAAkB;QAElB,6BAA6B;QAC7B,sEAAsE;QACtE,IAAI,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAEhD,yEAAyE;QACzE,kEAAkE;QAClE,IAAI,CAAC,WAAW,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBACzB,yCAAyC;gBACzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBACxB,IAAI,CAAC,WAAW,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;wBACzD,WAAW,GAAG,CAAC,CAAC;qBACjB;gBACH,CAAC,CAAC,CAAC;aACJ;SACF;QAED,4EAA4E;QAC5E,oEAAoE;QACpE,IAAI,CAAC,WAAW,EAAE;YAChB,IAAI,SAAS,KAAK,CAAC,EAAE;gBACnB,kBAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC3D,IAAI,CAAC,IAAI,CAAC,yBAAgB,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;gBACzD,OAAO;aACR;YAED,IAAI,SAAS,KAAK,SAAS;gBAAE,SAAS,GAAG,EAAE,CAAC;YAC5C,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAU,GAAG,CAAC,CAAC,CAAC;YAC1E,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,OAAO;SACR;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC;QAC5C,IAAI,KAAkB,CAAC;QACvB,IAAI,OAAO,EAAE;YACX,KAAK,GAAG,IAAI,0BAAgB,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;SACzD;aAAM;YACL,KAAK,GAAG,IAAI,0BAAgB,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;SACzD;QAED,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5B,qBAAqB;QACrB,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC;QACnC,KAAK,CAAC,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC;QACjC,kCAAkC;QAClC,KAAK,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QAEpC,4CAA4C;QAC5C,UAAU,CAAC,OAAO,GAAG,GAAG,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,yBAAgB,CAAC,iBAAiB,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QACpE,CAAC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,yBAAgB,CAAC,eAAe,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAEhE,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,gBAAgB;IAChB,IAAI,WAAW;QACb,OAAO,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,mBAAmB,CAAC,GAAc;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,gBAAgB;IAChB,UAAU,CAAC,IAAqB;QAC9B,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC;QAE5C,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAEvB,mEAAmE;QACnE,kCAAkC;QAElC,iFAAiF;QACjF,sDAAsD;QACtD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkC,CAAC;QAC9D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkC,CAAC;QAE5D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACzB,IAAI,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACnD,IAAI,CAAC,WAAW,EAAE;gBAChB,kBAAkB;gBAClB,MAAM,IAAI,GAAG,aAAK,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC1C,IAAI,CAAC,IAAI,EAAE;oBACT,OAAO;iBACR;gBACD,WAAW,GAAG,IAAI,gCAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;gBAChE,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAC3B,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;gBACnC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;aACvC;iBAAM;gBACL,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;aAC5B;YACD,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,kBAAkB;QAClB,IAAI,kBAAkB,EAAE;YACtB,SAAS,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;gBAChC,IAAI,CAAC,IAAI,CAAC,yBAAgB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;SACJ;QAED,wBAAwB;QACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YAClC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;gBAC1C,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;IAChB,cAAc,CAAC,GAAc,EAAE,aAAuB;QACpD,MAAM,WAAW,GAA4B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClE,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO;SACR;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAExB,iCAAiC;QACjC,QAAQ,WAAW,CAAC,IAAI,EAAE;YACxB,KAAK,aAAK,CAAC,IAAI,CAAC,KAAK;gBACnB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7B,MAAM;YACR,KAAK,aAAK,CAAC,IAAI,CAAC,KAAK;gBACnB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7B,MAAM;YACR;gBACE,MAAM;SACT;QAED,yDAAyD;QACzD,IAAI,WAAW,CAAC,KAAK,EAAE;YACrB,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;YAC9B,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAChC,wDAAwD;YACxD,IAAI,CAAC,IAAI,CAAC,yBAAgB,CAAC,iBAAiB,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;SACnE;QACD,IAAI,aAAa,EAAE;YAAE,IAAI,CAAC,IAAI,CAAC,yBAAgB,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;SAAE;IACnF,CAAC;IAED,gBAAgB;IAChB,IAAI,CAAC,KAAsB,EAAE,GAAG,IAAW;QACzC,kBAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;QACzD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;CACF;AAxMD,oCAwMC"}
1
+ {"version":3,"file":"RemoteParticipant.js","sourceRoot":"","sources":["../../../src/room/participant/RemoteParticipant.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,8 @@ import { CreateAudioTrackOptions } from './options';
3
3
  export default class LocalAudioTrack extends LocalTrack {
4
4
  sender?: RTCRtpSender;
5
5
  constructor(mediaTrack: MediaStreamTrack, name?: string, constraints?: MediaTrackConstraints);
6
+ setDeviceId(deviceId: string): Promise<void>;
7
+ mute(): Promise<LocalAudioTrack>;
8
+ unmute(): Promise<LocalAudioTrack>;
6
9
  restartTrack(options?: CreateAudioTrackOptions): Promise<void>;
7
10
  }
@@ -18,6 +18,43 @@ class LocalAudioTrack extends LocalTrack_1.default {
18
18
  constructor(mediaTrack, name, constraints) {
19
19
  super(mediaTrack, Track_1.Track.Kind.Audio, name, constraints);
20
20
  }
21
+ setDeviceId(deviceId) {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ if (this.constraints.deviceId === deviceId) {
24
+ return;
25
+ }
26
+ this.constraints.deviceId = deviceId;
27
+ yield this.restartTrack();
28
+ if (this.isMuted) {
29
+ this.mediaStreamTrack.enabled = false;
30
+ }
31
+ });
32
+ }
33
+ mute() {
34
+ const _super = Object.create(null, {
35
+ mute: { get: () => super.mute }
36
+ });
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ if (this.source === Track_1.Track.Source.Microphone) {
39
+ // also stop the track, so that camera indicator is turned off
40
+ this.mediaStreamTrack.stop();
41
+ }
42
+ yield _super.mute.call(this);
43
+ return this;
44
+ });
45
+ }
46
+ unmute() {
47
+ const _super = Object.create(null, {
48
+ unmute: { get: () => super.unmute }
49
+ });
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ if (this.source === Track_1.Track.Source.Microphone) {
52
+ yield this.restartTrack();
53
+ }
54
+ yield _super.unmute.call(this);
55
+ return this;
56
+ });
57
+ }
21
58
  restartTrack(options) {
22
59
  return __awaiter(this, void 0, void 0, function* () {
23
60
  let constraints;
@@ -1 +1 @@
1
- {"version":3,"file":"LocalAudioTrack.js","sourceRoot":"","sources":["../../../src/room/track/LocalAudioTrack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,8DAAsC;AAEtC,mCAAgC;AAEhC,MAAqB,eAAgB,SAAQ,oBAAU;IAGrD,YACE,UAA4B,EAC5B,IAAa,EACb,WAAmC;QAEnC,KAAK,CAAC,UAAU,EAAE,aAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IAEK,YAAY,CAAC,OAAiC;;YAClD,IAAI,WAA8C,CAAC;YACnD,IAAI,OAAO,EAAE;gBACX,MAAM,iBAAiB,GAAG,oBAAU,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC/E,IAAI,OAAO,iBAAiB,CAAC,KAAK,KAAK,SAAS,EAAE;oBAChD,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC;iBACvC;aACF;YACD,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;KAAA;CACF;AArBD,kCAqBC"}
1
+ {"version":3,"file":"LocalAudioTrack.js","sourceRoot":"","sources":["../../../src/room/track/LocalAudioTrack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,8DAAsC;AAEtC,mCAAgC;AAEhC,MAAqB,eAAgB,SAAQ,oBAAU;IAGrD,YACE,UAA4B,EAC5B,IAAa,EACb,WAAmC;QAEnC,KAAK,CAAC,UAAU,EAAE,aAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IAEK,WAAW,CAAC,QAAgB;;YAChC,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBAC1C,OAAO;aACR;YACD,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACrC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;aACvC;QACH,CAAC;KAAA;IAEK,IAAI;;;;;YACR,IAAI,IAAI,CAAC,MAAM,KAAK,aAAK,CAAC,MAAM,CAAC,UAAU,EAAE;gBAC3C,8DAA8D;gBAC9D,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;aAC9B;YACD,MAAM,OAAM,IAAI,WAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEK,MAAM;;;;;YACV,IAAI,IAAI,CAAC,MAAM,KAAK,aAAK,CAAC,MAAM,CAAC,UAAU,EAAE;gBAC3C,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;aAC3B;YACD,MAAM,OAAM,MAAM,WAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEK,YAAY,CAAC,OAAiC;;YAClD,IAAI,WAA8C,CAAC;YACnD,IAAI,OAAO,EAAE;gBACX,MAAM,iBAAiB,GAAG,oBAAU,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC/E,IAAI,OAAO,iBAAiB,CAAC,KAAK,KAAK,SAAS,EAAE;oBAChD,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC;iBACvC;aACF;YACD,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;KAAA;CACF;AAjDD,kCAiDC"}
@@ -8,8 +8,12 @@ export default class LocalTrack extends Track {
8
8
  get id(): string;
9
9
  get dimensions(): Track.Dimensions | undefined;
10
10
  static constraintsForOptions(options: CreateLocalTracksOptions): MediaStreamConstraints;
11
- mute(): LocalTrack;
12
- unmute(): LocalTrack;
11
+ /**
12
+ * @returns DeviceID of the device that is currently being used for this track
13
+ */
14
+ getDeviceId(): Promise<string | undefined>;
15
+ mute(): Promise<LocalTrack>;
16
+ unmute(): Promise<LocalTrack>;
13
17
  protected restart(constraints?: MediaTrackConstraints): Promise<LocalTrack>;
14
18
  protected setTrackMuted(muted: boolean): void;
15
19
  }