livekit-client 0.13.0 → 0.13.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 (38) hide show
  1. package/README.md +76 -45
  2. package/dist/connect.d.ts +4 -6
  3. package/dist/connect.js +19 -29
  4. package/dist/connect.js.map +1 -1
  5. package/dist/options.d.ts +19 -15
  6. package/dist/options.js.map +1 -1
  7. package/dist/room/DeviceManager.d.ts +0 -3
  8. package/dist/room/DeviceManager.js +0 -15
  9. package/dist/room/DeviceManager.js.map +1 -1
  10. package/dist/room/Room.d.ts +5 -16
  11. package/dist/room/Room.js +14 -30
  12. package/dist/room/Room.js.map +1 -1
  13. package/dist/room/defaults.d.ts +5 -3
  14. package/dist/room/defaults.js +24 -8
  15. package/dist/room/defaults.js.map +1 -1
  16. package/dist/room/events.d.ts +10 -2
  17. package/dist/room/events.js +10 -2
  18. package/dist/room/events.js.map +1 -1
  19. package/dist/room/participant/LocalParticipant.d.ts +0 -3
  20. package/dist/room/participant/LocalParticipant.js +50 -47
  21. package/dist/room/participant/LocalParticipant.js.map +1 -1
  22. package/dist/room/participant/Participant.d.ts +3 -0
  23. package/dist/room/participant/Participant.js +14 -0
  24. package/dist/room/participant/Participant.js.map +1 -1
  25. package/dist/room/participant/RemoteParticipant.js +9 -3
  26. package/dist/room/participant/RemoteParticipant.js.map +1 -1
  27. package/dist/room/track/LocalTrack.js +9 -7
  28. package/dist/room/track/LocalTrack.js.map +1 -1
  29. package/dist/room/track/LocalVideoTrack.js +14 -11
  30. package/dist/room/track/LocalVideoTrack.js.map +1 -1
  31. package/dist/room/track/create.js +3 -1
  32. package/dist/room/track/create.js.map +1 -1
  33. package/dist/room/track/options.d.ts +38 -7
  34. package/dist/room/track/options.js.map +1 -1
  35. package/dist/version.d.ts +1 -1
  36. package/dist/version.js +1 -1
  37. package/example/sample.ts +19 -22
  38. package/package.json +1 -1
package/README.md CHANGED
@@ -6,6 +6,8 @@
6
6
 
7
7
  Docs and guides at [https://docs.livekit.io](https://docs.livekit.io)
8
8
 
9
+ [SDK reference](https://docs.livekit.io/client-sdk-js/)
10
+
9
11
  ## Installation
10
12
 
11
13
  ### Yarn
@@ -90,23 +92,88 @@ In order to connect to a room, you need to first create an access token.
90
92
 
91
93
  See [access token docs](https://docs.livekit.io/guides/access-tokens) for details
92
94
 
93
- ### Manually publish, mute, unpublish
95
+ ### Handling common track types
94
96
 
95
- When a video track is muted, the camera indicator will be turned off. When the video is unmuted, the same camera source and capture settings will be re-aquired.
97
+ While LiveKit is designed to be flexible, we've added a few shortcuts that makes working with common track types simple. For a user's camera, microphone, and screen share, you can enable them with the following `LocalParticipant` methods:
96
98
 
97
99
  ```typescript
98
- import { createLocalVideoTrack } from 'livekit-client';
100
+ const p = room.localParticipant;
101
+ // turn on the local user's camera and mic, this may trigger a browser prompt
102
+ // to ensure permissions are granted
103
+ await p.setCameraEnabled(true);
104
+ await p.setMicrophoneEnabled(true);
105
+
106
+ // start sharing the user's screen, this will trigger a browser prompt to select
107
+ // the screen to share.
108
+ await p.setScreenShareEnabled(true);
109
+
110
+ // disable camera to mute them, when muted, the user's camera indicator will be turned off
111
+ await p.setCameraEnabled(false);
112
+ ```
99
113
 
100
- const videoTrack = await createLocalVideoTrack();
114
+ Similarly, you can access these common track types on the other participants' end.
101
115
 
102
- const publication = await room.localParticipant.publishTrack(videoTrack, {
116
+ ```typescript
117
+ // get a RemoteParticipant by their sid
118
+ const p = room.participants.get('participant-sid');
119
+ if (p) {
120
+ // if the other user has enabled their camera, attach it to a new HTMLVideoElement
121
+ if (p.isCameraEnabled) {
122
+ const track = p.getTrack(Track.Source.Camera);
123
+ if (track?.isSubscribed) {
124
+ const videoElement = track.attach()
125
+ // do something with the element
126
+ }
127
+ }
128
+ }
129
+ ```
130
+
131
+ ### Advanced track manipulation
132
+
133
+ LiveKit lets you publish any track as long as it can be represented by a MediaStreamTrack. You can specify a name on the track in order to identify it later.
134
+
135
+ ```typescript
136
+
137
+ const pub = await room.localParticipant.publishTrack(mediaStreamTrack, {
103
138
  name: 'mytrack',
104
139
  simulcast: true,
105
- });
140
+ // if this should be treated like a camera feed, tag it as such
141
+ // supported known sources are .Camera, .Microphone, .ScreenShare
142
+ source: Track.Source.Camera,
143
+ })
106
144
 
107
- videoTrack.mute();
145
+ // you may mute or unpublish the track later
146
+ pub.setMuted(true);
108
147
 
109
- room.localParticipant.unpublishTrack(videoTrack);
148
+ room.localParticipant.unpublishTrack(mediaStreamTrack)
149
+ ```
150
+
151
+ ### Device management APIs
152
+
153
+ Users may have multiple input and output devices available. LiveKit will automatically use the one that's deemed as the `default` device on the system. You may also list and specify an alternative device to use.
154
+
155
+ We use the same deviceId as one returned by [MediaDevices.enumerateDevices()](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices).
156
+
157
+ #### Example listing and selecting a camera device
158
+
159
+ ```typescript
160
+ // list all microphone devices
161
+ const devices = await Room.getLocalDevices('audioinput');
162
+
163
+ // select last device
164
+ const device = devices[devices.length-1];
165
+
166
+ // in the current room, switch to the selected device and set
167
+ // it as default audioinput in the future.
168
+ await room.switchActiveDevice('audioinput', device.deviceId);
169
+ ```
170
+
171
+ You can also switch devices given a constraint. This could be useful on mobile devices to switch to a back-facing camera:
172
+
173
+ ```typescript
174
+ await videoTrack.restartTrack({
175
+ facingMode: 'environment',
176
+ });
110
177
  ```
111
178
 
112
179
  ### Audio playback
@@ -123,7 +190,7 @@ room.on(RoomEvent.AudioPlaybackStatusChanged, () => {
123
190
  // UI is necessary.
124
191
  ...
125
192
  button.onclick = () => {
126
- // this function *must* be triggered in an click/tap handler.
193
+ // startAudio *must* be called in an click/tap handler.
127
194
  room.startAudio().then(() => {
128
195
  // successful, UI can be removed now
129
196
  button.remove();
@@ -133,42 +200,6 @@ room.on(RoomEvent.AudioPlaybackStatusChanged, () => {
133
200
  });
134
201
  ```
135
202
 
136
- ### Screen share
137
-
138
- On desktop browsers, you may also share your screen with others. Refer to [browser compatibility](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getDisplayMedia#browser_compatibility).
139
-
140
- Audio capture is supported only a subset of desktop browsers.
141
-
142
- ```typescript
143
- const tracks = await createLocalScreenTracks({
144
- // set to true in order to capture audio
145
- audio: true,
146
- // defaults to 1080p
147
- resolution: VideoPresets.fhd.resolution,
148
- });
149
-
150
- tracks.forEach((track) => {
151
- // publish video and audio of the screenshare
152
- room.localParticipant.publishTrack(track);
153
- });
154
- ```
155
-
156
- ### Switching input devices
157
-
158
- At any point after publishing, you can switch the input devices and other capture settings on both audio and video tracks. For example, switching between regular and selfie camera or changing microphone inputs. This is performed with `restartTrack` on the `LocalAudioTrack` or `LocalVideoTrack`.
159
-
160
- ```typescript
161
- await room.localParticipant.publishTrack(videoTrack);
162
- await room.localParticipant.publishTrack(audioTrack);
163
-
164
- await videoTrack.restartTrack({
165
- facingMode: 'environment',
166
- });
167
- await audioTrack.restartTrack({
168
- deviceId: 'microphoneId',
169
- });
170
- ```
171
-
172
203
  ### Configuring logging
173
204
 
174
205
  This library uses [loglevel](https://github.com/pimterry/loglevel) for its internal logs. You can change the effective log level with the `logLevel` field in `ConnectOptions`.
package/dist/connect.d.ts CHANGED
@@ -8,12 +8,10 @@ export { version } from './version';
8
8
  * connect('wss://myhost.livekit.io', token, {
9
9
  * // publish audio and video tracks on joining
10
10
  * audio: true,
11
- * video: {
12
- * resolution: VideoPresets.hd,
13
- * facingMode: {
14
- * ideal: "user",
15
- * }
16
- * }
11
+ * video: true,
12
+ * captureDefaults: {
13
+ * facingMode: 'user',
14
+ * },
17
15
  * })
18
16
  * ```
19
17
  * @param url URL to LiveKit server
package/dist/connect.js CHANGED
@@ -27,12 +27,10 @@ Object.defineProperty(exports, "version", { enumerable: true, get: function () {
27
27
  * connect('wss://myhost.livekit.io', token, {
28
28
  * // publish audio and video tracks on joining
29
29
  * audio: true,
30
- * video: {
31
- * resolution: VideoPresets.hd,
32
- * facingMode: {
33
- * ideal: "user",
34
- * }
35
- * }
30
+ * video: true,
31
+ * captureDefaults: {
32
+ * facingMode: 'user',
33
+ * },
36
34
  * })
37
35
  * ```
38
36
  * @param url URL to LiveKit server
@@ -61,30 +59,22 @@ function connect(url, token, options) {
61
59
  autoSubscribe: options === null || options === void 0 ? void 0 : options.autoSubscribe,
62
60
  });
63
61
  // save default publish options
64
- const defaultOptions = room.defaultTrackOptions;
65
- if (options.audioBitrate)
66
- defaultOptions.audioBitrate = options.audioBitrate;
67
- if (options.dtx)
68
- defaultOptions.dtx = options.dtx;
69
- if (options.simulcast)
70
- defaultOptions.simulcast = options.simulcast;
71
- if (options.videoEncoding)
72
- defaultOptions.videoEncoding = options.videoEncoding;
73
- if (options.videoCodec)
74
- defaultOptions.videoCodec = options.videoCodec;
75
- room.defaultTrackOptions = defaultOptions;
76
- // add tracks if available
77
- let { tracks } = options;
78
- if (!tracks) {
79
- if (options.audio || options.video) {
80
- tracks = yield create_1.createLocalTracks({
81
- audio: options.audio,
82
- video: options.video,
83
- });
84
- }
62
+ if (options.publishDefaults) {
63
+ room.defaultPublishOptions = options.publishDefaults;
64
+ }
65
+ if (options.captureDefaults) {
66
+ room.defaultCaptureOptions = options.captureDefaults;
85
67
  }
86
- if (tracks) {
87
- yield Promise.all(tracks.map((track) => room.localParticipant.publishTrack(track)));
68
+ const publishAudio = options.audio;
69
+ const publishVideo = options.video;
70
+ if (publishAudio || publishVideo) {
71
+ setTimeout(() => __awaiter(this, void 0, void 0, function* () {
72
+ const tracks = yield create_1.createLocalTracks({
73
+ audio: publishAudio,
74
+ video: publishVideo,
75
+ });
76
+ yield Promise.all(tracks.map((track) => room.localParticipant.publishTrack(track)));
77
+ }));
88
78
  }
89
79
  return room;
90
80
  });
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wDAA2B;AAC3B,qDAAoD;AACpD,uCAGmB;AACnB,uDAA+B;AAC/B,gDAAwD;AAGxD,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAEhB;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAsB,OAAO,CAC3B,GAAW,EACX,KAAa,EACb,OAAwB;;;QAExB,eAAe;QACf,OAAO,KAAP,OAAO,GAAK,EAAE,EAAC;QACf,OAAO,CAAC,QAAQ,KAAhB,OAAO,CAAC,QAAQ,GAAK,kBAAQ,CAAC,IAAI,EAAC;QACnC,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACvD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QAEvD,kBAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE/B,MAAM,MAAM,GAAqB,MAAA,OAAO,CAAC,SAAS,mCAAI,EAAE,CAAC;QACzD,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;SACxC;QAED,MAAM,MAAM,GAAG,IAAI,6BAAc,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,cAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEtC,kBAAkB;QAClB,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE;YAC7B,aAAa,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa;SACtC,CAAC,CAAC;QAEH,+BAA+B;QAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAChD,IAAI,OAAO,CAAC,YAAY;YAAE,cAAc,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QAC7E,IAAI,OAAO,CAAC,GAAG;YAAE,cAAc,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QAClD,IAAI,OAAO,CAAC,SAAS;YAAE,cAAc,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACpE,IAAI,OAAO,CAAC,aAAa;YAAE,cAAc,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAChF,IAAI,OAAO,CAAC,UAAU;YAAE,cAAc,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAEvE,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC;QAE1C,0BAA0B;QAC1B,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAEzB,IAAI,CAAC,MAAM,EAAE;YACX,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE;gBAClC,MAAM,GAAG,MAAM,0BAAiB,CAAC;oBAC/B,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,KAAK,EAAE,OAAO,CAAC,KAAK;iBACrB,CAAC,CAAC;aACJ;SACF;QAED,IAAI,MAAM,EAAE;YACV,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAC1B,CAAC,KAAoC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,CACpF,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,CAAC;;CACb;AAvDD,0BAuDC"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wDAA2B;AAC3B,qDAAoD;AACpD,uCAGmB;AACnB,uDAA+B;AAC/B,gDAAwD;AAGxD,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAEhB;;;;;;;;;;;;;;;;GAgBG;AACH,SAAsB,OAAO,CAC3B,GAAW,EACX,KAAa,EACb,OAAwB;;;QAExB,eAAe;QACf,OAAO,KAAP,OAAO,GAAK,EAAE,EAAC;QACf,OAAO,CAAC,QAAQ,KAAhB,OAAO,CAAC,QAAQ,GAAK,kBAAQ,CAAC,IAAI,EAAC;QACnC,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACvD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QAEvD,kBAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE/B,MAAM,MAAM,GAAqB,MAAA,OAAO,CAAC,SAAS,mCAAI,EAAE,CAAC;QACzD,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;SACxC;QAED,MAAM,MAAM,GAAG,IAAI,6BAAc,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,cAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEtC,kBAAkB;QAClB,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE;YAC7B,aAAa,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa;SACtC,CAAC,CAAC;QAEH,+BAA+B;QAC/B,IAAI,OAAO,CAAC,eAAe,EAAE;YAC3B,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC;SACtD;QACD,IAAI,OAAO,CAAC,eAAe,EAAE;YAC3B,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC;SACtD;QAED,MAAM,YAAY,GAAY,OAAO,CAAC,KAAK,CAAC;QAC5C,MAAM,YAAY,GAAY,OAAO,CAAC,KAAK,CAAC;QAC5C,IAAI,YAAY,IAAI,YAAY,EAAE;YAChC,UAAU,CAAC,GAAS,EAAE;gBACpB,MAAM,MAAM,GAAG,MAAM,0BAAiB,CAAC;oBACrC,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,YAAY;iBACpB,CAAC,CAAC;gBACH,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAC1B,CAAC,KAAoC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,CACpF,CAAC,CAAC;YACL,CAAC,CAAA,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,CAAC;;CACb;AAjDD,0BAiDC"}
package/dist/options.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- import LocalTrack from './room/track/LocalTrack';
2
- import { CreateLocalTracksOptions, VideoCodec, VideoEncoding } from './room/track/options';
1
+ import { CreateLocalTracksOptions, TrackCaptureDefaults, TrackPublishDefaults } from './room/track/options';
3
2
  /**
4
3
  * if video or audio tracks are created as part of [[connect]], it'll automatically
5
4
  * publish those tracks to the room.
@@ -18,20 +17,25 @@ export interface ConnectOptions extends CreateLocalTracksOptions {
18
17
  */
19
18
  rtcConfig?: RTCConfiguration;
20
19
  /**
21
- * Tracks to publish to the room after joining. These can be obtained by calling
22
- * [[createLocalTracks]]. when this is passed in, it'll ignore audio and video options
20
+ * capture and publish audio track on connect, defaults to false
21
+ *
22
+ * If this option is used, you will not be notified if user denies capture permission.
23
23
  */
24
- tracks?: LocalTrack[] | MediaStreamTrack[];
25
- /** default [[TrackPublishOptions.videoEncoding]] for published tracks */
26
- videoEncoding?: VideoEncoding;
27
- /** default [[TrackPublishOptions.videoCodec]] for published tracks */
28
- videoCodec?: VideoCodec;
29
- /** default [[TrackPublishOptions.audioBitrate]] for published tracks */
30
- audioBitrate?: number;
31
- /** see [[TrackPublishOptions.dtx]] */
32
- dtx?: boolean;
33
- /** see [[TrackPublishOptions.simulcast]] */
34
- simulcast?: boolean;
24
+ audio?: boolean;
25
+ /**
26
+ * capture and publish video track on connect, defaults to false
27
+ *
28
+ * If this option is used, you will not be notified if user denies capture permission.
29
+ */
30
+ video?: boolean;
31
+ /**
32
+ * default options to use when capturing user media
33
+ */
34
+ captureDefaults?: TrackCaptureDefaults;
35
+ /**
36
+ * default options to use when publishing tracks
37
+ */
38
+ publishDefaults?: TrackPublishDefaults;
35
39
  }
36
40
  export declare enum LogLevel {
37
41
  trace = "trace",
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":";;;AA8CA,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,6BAAiB,CAAA;AACnB,CAAC,EAPW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAOnB"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":";;;AAkDA,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,6BAAiB,CAAA;AACnB,CAAC,EAPW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAOnB"}
@@ -1,10 +1,7 @@
1
1
  export default class DeviceManager {
2
2
  private static instance?;
3
3
  static mediaDeviceKinds: MediaDeviceKind[];
4
- defaultDevices: Map<MediaDeviceKind, string>;
5
4
  static getInstance(): DeviceManager;
6
5
  getDevices(kind: MediaDeviceKind): Promise<MediaDeviceInfo[]>;
7
6
  normalizeDeviceId(kind: MediaDeviceKind, deviceId?: string, groupId?: string): Promise<string | undefined>;
8
- setDefaultDevice(kind: MediaDeviceKind, deviceId: string | undefined): void;
9
- getDefaultDevice(kind: MediaDeviceKind): string | undefined;
10
7
  }
@@ -11,10 +11,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const defaultId = 'default';
13
13
  class DeviceManager {
14
- constructor() {
15
- // kind => deviceId
16
- this.defaultDevices = new Map();
17
- }
18
14
  static getInstance() {
19
15
  if (this.instance === undefined) {
20
16
  this.instance = new DeviceManager();
@@ -56,17 +52,6 @@ class DeviceManager {
56
52
  return device === null || device === void 0 ? void 0 : device.deviceId;
57
53
  });
58
54
  }
59
- setDefaultDevice(kind, deviceId) {
60
- if (deviceId === undefined) {
61
- this.defaultDevices.delete(kind);
62
- }
63
- else {
64
- this.defaultDevices.set(kind, deviceId);
65
- }
66
- }
67
- getDefaultDevice(kind) {
68
- return this.defaultDevices.get(kind);
69
- }
70
55
  }
71
56
  exports.default = DeviceManager;
72
57
  DeviceManager.mediaDeviceKinds = [
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceManager.js","sourceRoot":"","sources":["../../src/room/DeviceManager.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,MAAM,SAAS,GAAG,SAAS,CAAC;AAE5B,MAAqB,aAAa;IAAlC;QASE,mBAAmB;QACnB,mBAAc,GAAiC,IAAI,GAAG,EAAE,CAAC;IA2D3D,CAAC;IAzDC,MAAM,CAAC,WAAW;QAChB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;SACrC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEK,UAAU,CAAC,IAAqB;;YACpC,IAAI,OAAO,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;YAC9D,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YAC3D,kFAAkF;YAClF,kBAAkB;YAClB,+DAA+D;YAC/D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,EAAE;gBAC3D,iEAAiE;gBACjE,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;oBAC1C,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,OAAO,EAAE;wBAChD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;wBACxB,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;wBACxB,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;wBAClB,MAAM;qBACP;iBACF;gBACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC;aAC7D;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAEK,iBAAiB,CACrB,IAAqB,EAAE,QAAiB,EAAE,OAAgB;;YAE1D,IAAI,QAAQ,KAAK,SAAS,EAAE;gBAC1B,OAAO,QAAQ,CAAC;aACjB;YAED,wEAAwE;YACxE,yBAAyB;YACzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAE5C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;YAEtF,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAC;QAC1B,CAAC;KAAA;IAED,gBAAgB,CAAC,IAAqB,EAAE,QAA4B;QAClE,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SACzC;IACH,CAAC;IAED,gBAAgB,CAAC,IAAqB;QACpC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;;AApEH,gCAqEC;AAlEQ,8BAAgB,GAAsB;IAC3C,YAAY;IACZ,aAAa;IACb,YAAY;CACb,CAAC"}
1
+ {"version":3,"file":"DeviceManager.js","sourceRoot":"","sources":["../../src/room/DeviceManager.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,MAAM,SAAS,GAAG,SAAS,CAAC;AAE5B,MAAqB,aAAa;IAShC,MAAM,CAAC,WAAW;QAChB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;SACrC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEK,UAAU,CAAC,IAAqB;;YACpC,IAAI,OAAO,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;YAC9D,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YAC3D,kFAAkF;YAClF,kBAAkB;YAClB,+DAA+D;YAC/D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,EAAE;gBAC3D,iEAAiE;gBACjE,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;oBAC1C,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,OAAO,EAAE;wBAChD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;wBACxB,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;wBACxB,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;wBAClB,MAAM;qBACP;iBACF;gBACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC;aAC7D;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAEK,iBAAiB,CACrB,IAAqB,EAAE,QAAiB,EAAE,OAAgB;;YAE1D,IAAI,QAAQ,KAAK,SAAS,EAAE;gBAC1B,OAAO,QAAQ,CAAC;aACjB;YAED,wEAAwE;YACxE,yBAAyB;YACzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAE5C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;YAEtF,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAC;QAC1B,CAAC;KAAA;;AArDH,gCAsDC;AAnDQ,8BAAgB,GAAsB;IAC3C,YAAY;IACZ,aAAa;IACb,YAAY;CACb,CAAC"}
@@ -5,7 +5,7 @@ import LocalParticipant from './participant/LocalParticipant';
5
5
  import Participant from './participant/Participant';
6
6
  import RemoteParticipant from './participant/RemoteParticipant';
7
7
  import RTCEngine from './RTCEngine';
8
- import { TrackPublishDefaults } from './track/options';
8
+ import { TrackCaptureDefaults, TrackPublishDefaults } from './track/options';
9
9
  export declare enum RoomState {
10
10
  Disconnected = "disconnected",
11
11
  Connected = "connected",
@@ -51,19 +51,6 @@ declare class Room extends EventEmitter {
51
51
  * @returns a list of available local devices
52
52
  */
53
53
  static getLocalDevices(kind: MediaDeviceKind): Promise<MediaDeviceInfo[]>;
54
- /**
55
- * Sets the default device to use for the MediaDeviceKind. Subsequent tracks
56
- * created will be using the specified device.
57
- *
58
- * @param kind
59
- * @param deviceId set to undefined to clear the default
60
- * @returns
61
- */
62
- static setDefaultDevice(kind: MediaDeviceKind, deviceId: string | undefined): void;
63
- /**
64
- * @returns the default device set by the user. If no device is explicitly set, returns undefined
65
- */
66
- static getDefaultDevice(kind: MediaDeviceKind): string | undefined;
67
54
  /** @internal */
68
55
  connect: (url: string, token: string, opts?: SignalOptions | undefined) => Promise<Room>;
69
56
  /**
@@ -73,8 +60,10 @@ declare class Room extends EventEmitter {
73
60
  /**
74
61
  * Set default publish options
75
62
  */
76
- set defaultTrackOptions(opts: TrackPublishDefaults);
77
- get defaultTrackOptions(): TrackPublishDefaults;
63
+ set defaultPublishOptions(opts: TrackPublishDefaults);
64
+ get defaultPublishOptions(): TrackPublishDefaults;
65
+ set defaultCaptureOptions(opts: TrackCaptureDefaults);
66
+ get defaultCaptureOptions(): TrackCaptureDefaults;
78
67
  /**
79
68
  * Browsers have different policies regarding audio playback. Most requiring
80
69
  * some form of user interaction (click/tap/etc).
package/dist/room/Room.js CHANGED
@@ -98,6 +98,9 @@ class Room extends events_1.EventEmitter {
98
98
  this.localParticipant.on(events_2.ParticipantEvent.TrackUnmuted, (pub) => {
99
99
  this.emit(events_2.RoomEvent.TrackUnmuted, pub, this.localParticipant);
100
100
  });
101
+ this.localParticipant.on(events_2.ParticipantEvent.LocalTrackPublished, (pub) => {
102
+ this.emit(events_2.RoomEvent.LocalTrackPublished, pub, this.localParticipant);
103
+ });
101
104
  // populate remote participants, these should not trigger new events
102
105
  joinResponse.otherParticipants.forEach((info) => {
103
106
  this.getOrCreateParticipant(info.sid, info);
@@ -218,16 +221,6 @@ class Room extends events_1.EventEmitter {
218
221
  this.emit(events_2.RoomEvent.AudioPlaybackStatusChanged, false);
219
222
  };
220
223
  this.handleDeviceChange = () => __awaiter(this, void 0, void 0, function* () {
221
- // ensure default devices still exist, if not, clear them out
222
- const mananger = DeviceManager_1.default.getInstance();
223
- const devices = yield navigator.mediaDevices.enumerateDevices();
224
- DeviceManager_1.default.mediaDeviceKinds.forEach((kind) => __awaiter(this, void 0, void 0, function* () {
225
- const deviceId = mananger.getDefaultDevice(kind);
226
- const device = devices.find((d) => d.deviceId === deviceId && d.kind === kind);
227
- if (!device) {
228
- mananger.setDefaultDevice(kind, undefined);
229
- }
230
- }));
231
224
  this.emit(events_2.RoomEvent.MediaDevicesChanged);
232
225
  });
233
226
  this.handleRoomUpdate = (r) => {
@@ -271,30 +264,19 @@ class Room extends events_1.EventEmitter {
271
264
  return DeviceManager_1.default.getInstance().getDevices(kind);
272
265
  }
273
266
  /**
274
- * Sets the default device to use for the MediaDeviceKind. Subsequent tracks
275
- * created will be using the specified device.
276
- *
277
- * @param kind
278
- * @param deviceId set to undefined to clear the default
279
- * @returns
267
+ * Set default publish options
280
268
  */
281
- static setDefaultDevice(kind, deviceId) {
282
- return DeviceManager_1.default.getInstance().setDefaultDevice(kind, deviceId);
269
+ set defaultPublishOptions(opts) {
270
+ defaults_1.setTrackPublishDefaults(opts);
283
271
  }
284
- /**
285
- * @returns the default device set by the user. If no device is explicitly set, returns undefined
286
- */
287
- static getDefaultDevice(kind) {
288
- return DeviceManager_1.default.getInstance().getDefaultDevice(kind);
272
+ get defaultPublishOptions() {
273
+ return defaults_1.getTrackPublishDefaults();
289
274
  }
290
- /**
291
- * Set default publish options
292
- */
293
- set defaultTrackOptions(opts) {
294
- defaults_1.setTrackDefaults(opts);
275
+ set defaultCaptureOptions(opts) {
276
+ defaults_1.setTrackCaptureDefaults(opts);
295
277
  }
296
- get defaultTrackOptions() {
297
- return defaults_1.getTrackDefaults();
278
+ get defaultCaptureOptions() {
279
+ return defaults_1.getTrackCaptureDefaults();
298
280
  }
299
281
  /**
300
282
  * Browsers have different policies regarding audio playback. Most requiring
@@ -349,12 +331,14 @@ class Room extends events_1.EventEmitter {
349
331
  .from(this.localParticipant.audioTracks.values())
350
332
  .filter((track) => track.source === Track_1.Track.Source.Microphone);
351
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;
352
335
  }
353
336
  else if (kind === 'videoinput') {
354
337
  const tracks = Array
355
338
  .from(this.localParticipant.videoTracks.values())
356
339
  .filter((track) => track.source === Track_1.Track.Source.Camera);
357
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;
358
342
  }
359
343
  else if (kind === 'audiooutput') {
360
344
  const elements = [];
@@ -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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"}
@@ -1,3 +1,5 @@
1
- import { TrackPublishDefaults } from './track/options';
2
- export declare function getTrackDefaults(): TrackPublishDefaults;
3
- export declare function setTrackDefaults(defaults: TrackPublishDefaults): void;
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;
@@ -1,13 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setTrackDefaults = exports.getTrackDefaults = void 0;
4
- let trackDefaults = {};
5
- function getTrackDefaults() {
6
- return trackDefaults;
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;
7
15
  }
8
- exports.getTrackDefaults = getTrackDefaults;
9
- function setTrackDefaults(defaults) {
10
- trackDefaults = defaults;
16
+ exports.getTrackPublishDefaults = getTrackPublishDefaults;
17
+ function setTrackPublishDefaults(defaults) {
18
+ publishDefaults = defaults;
11
19
  }
12
- exports.setTrackDefaults = setTrackDefaults;
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;
13
29
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/room/defaults.ts"],"names":[],"mappings":";;;AAEA,IAAI,aAAa,GAAyB,EAAE,CAAC;AAE7C,SAAgB,gBAAgB;IAC9B,OAAO,aAAa,CAAC;AACvB,CAAC;AAFD,4CAEC;AAED,SAAgB,gBAAgB,CAAC,QAA8B;IAC7D,aAAa,GAAG,QAAQ,CAAC;AAC3B,CAAC;AAFD,4CAEC"}
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"}