livekit-client 0.16.6 → 0.17.0

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 (88) hide show
  1. package/dist/api/RequestQueue.js +6 -6
  2. package/dist/api/RequestQueue.js.map +1 -1
  3. package/dist/api/SignalClient.d.ts +3 -0
  4. package/dist/api/SignalClient.js +23 -3
  5. package/dist/api/SignalClient.js.map +1 -1
  6. package/dist/connect.js +1 -1
  7. package/dist/connect.js.map +1 -1
  8. package/dist/options.d.ts +7 -2
  9. package/dist/proto/livekit_models.d.ts +33 -0
  10. package/dist/proto/livekit_models.js +213 -3
  11. package/dist/proto/livekit_models.js.map +1 -1
  12. package/dist/proto/livekit_rtc.d.ts +15 -1
  13. package/dist/proto/livekit_rtc.js +128 -2
  14. package/dist/proto/livekit_rtc.js.map +1 -1
  15. package/dist/room/RTCEngine.d.ts +3 -2
  16. package/dist/room/RTCEngine.js +12 -8
  17. package/dist/room/RTCEngine.js.map +1 -1
  18. package/dist/room/Room.js +19 -8
  19. package/dist/room/Room.js.map +1 -1
  20. package/dist/room/events.d.ts +6 -1
  21. package/dist/room/events.js +6 -1
  22. package/dist/room/events.js.map +1 -1
  23. package/dist/room/participant/LocalParticipant.d.ts +3 -1
  24. package/dist/room/participant/LocalParticipant.js +17 -1
  25. package/dist/room/participant/LocalParticipant.js.map +1 -1
  26. package/dist/room/participant/RemoteParticipant.d.ts +2 -1
  27. package/dist/room/participant/RemoteParticipant.js +3 -3
  28. package/dist/room/participant/RemoteParticipant.js.map +1 -1
  29. package/dist/room/participant/publishUtils.d.ts +6 -0
  30. package/dist/room/participant/publishUtils.js +65 -24
  31. package/dist/room/participant/publishUtils.js.map +1 -1
  32. package/dist/room/participant/publishUtils.test.js +35 -5
  33. package/dist/room/participant/publishUtils.test.js.map +1 -1
  34. package/dist/room/track/LocalAudioTrack.d.ts +2 -0
  35. package/dist/room/track/LocalAudioTrack.js +23 -0
  36. package/dist/room/track/LocalAudioTrack.js.map +1 -1
  37. package/dist/room/track/LocalTrack.d.ts +4 -0
  38. package/dist/room/track/LocalTrack.js +34 -0
  39. package/dist/room/track/LocalTrack.js.map +1 -1
  40. package/dist/room/track/LocalVideoTrack.d.ts +1 -0
  41. package/dist/room/track/LocalVideoTrack.js +13 -0
  42. package/dist/room/track/LocalVideoTrack.js.map +1 -1
  43. package/dist/room/track/RemoteTrack.d.ts +1 -0
  44. package/dist/room/track/RemoteTrack.js +1 -0
  45. package/dist/room/track/RemoteTrack.js.map +1 -1
  46. package/dist/room/track/RemoteVideoTrack.d.ts +4 -2
  47. package/dist/room/track/RemoteVideoTrack.js +25 -11
  48. package/dist/room/track/RemoteVideoTrack.js.map +1 -1
  49. package/dist/room/track/Track.d.ts +4 -1
  50. package/dist/room/track/Track.js +20 -1
  51. package/dist/room/track/Track.js.map +1 -1
  52. package/dist/room/track/defaults.js +2 -2
  53. package/dist/room/track/defaults.js.map +1 -1
  54. package/dist/room/track/options.d.ts +65 -15
  55. package/dist/room/track/options.js +38 -0
  56. package/dist/room/track/options.js.map +1 -1
  57. package/dist/room/track/types.d.ts +11 -0
  58. package/dist/room/track/utils.d.ts +10 -0
  59. package/dist/room/track/utils.js +46 -1
  60. package/dist/room/track/utils.js.map +1 -1
  61. package/dist/room/utils.d.ts +1 -0
  62. package/dist/room/utils.js +5 -1
  63. package/dist/room/utils.js.map +1 -1
  64. package/package.json +1 -1
  65. package/src/api/RequestQueue.ts +7 -7
  66. package/src/api/SignalClient.ts +31 -4
  67. package/src/connect.ts +1 -1
  68. package/src/options.ts +12 -3
  69. package/src/proto/livekit_models.ts +249 -0
  70. package/src/proto/livekit_rtc.ts +155 -0
  71. package/src/room/RTCEngine.ts +16 -9
  72. package/src/room/Room.ts +17 -7
  73. package/src/room/events.ts +6 -1
  74. package/src/room/participant/LocalParticipant.ts +23 -4
  75. package/src/room/participant/RemoteParticipant.ts +4 -4
  76. package/src/room/participant/publishUtils.test.ts +46 -6
  77. package/src/room/participant/publishUtils.ts +72 -27
  78. package/src/room/track/LocalAudioTrack.ts +19 -1
  79. package/src/room/track/LocalTrack.ts +36 -0
  80. package/src/room/track/LocalVideoTrack.ts +9 -1
  81. package/src/room/track/RemoteTrack.ts +2 -0
  82. package/src/room/track/RemoteVideoTrack.ts +20 -9
  83. package/src/room/track/Track.ts +14 -2
  84. package/src/room/track/defaults.ts +2 -2
  85. package/src/room/track/options.ts +55 -3
  86. package/src/room/track/types.ts +12 -0
  87. package/src/room/track/utils.ts +39 -0
  88. package/src/room/utils.ts +4 -0
@@ -20,7 +20,7 @@ const RemoteTrack_1 = __importDefault(require("./RemoteTrack"));
20
20
  const Track_1 = require("./Track");
21
21
  const REACTION_DELAY = 100;
22
22
  class RemoteVideoTrack extends RemoteTrack_1.default {
23
- constructor(mediaTrack, sid, receiver, adaptiveStream) {
23
+ constructor(mediaTrack, sid, receiver, adaptiveStreamSettings) {
24
24
  super(mediaTrack, sid, Track_1.Track.Kind.Video, receiver);
25
25
  this.elementInfos = [];
26
26
  this.monitorReceiver = () => __awaiter(this, void 0, void 0, function* () {
@@ -49,11 +49,10 @@ class RemoteVideoTrack extends RemoteTrack_1.default {
49
49
  this.debouncedHandleResize = ts_debounce_1.debounce(() => {
50
50
  this.updateDimensions();
51
51
  }, REACTION_DELAY);
52
- this.adaptiveStream = adaptiveStream;
52
+ this.adaptiveStreamSettings = adaptiveStreamSettings;
53
53
  }
54
54
  get isAdaptiveStream() {
55
- var _a;
56
- return (_a = this.adaptiveStream) !== null && _a !== void 0 ? _a : false;
55
+ return this.adaptiveStreamSettings !== undefined;
57
56
  }
58
57
  /** @internal */
59
58
  setMuted(muted) {
@@ -77,7 +76,7 @@ class RemoteVideoTrack extends RemoteTrack_1.default {
77
76
  }
78
77
  // It's possible attach is called multiple times on an element. When that's
79
78
  // the case, we'd want to avoid adding duplicate elementInfos
80
- if (this.adaptiveStream
79
+ if (this.adaptiveStreamSettings
81
80
  && this.elementInfos.find((info) => info.element === element) === undefined) {
82
81
  this.elementInfos.push({
83
82
  element,
@@ -144,9 +143,20 @@ class RemoteVideoTrack extends RemoteTrack_1.default {
144
143
  (_b = utils_1.getResizeObserver()) === null || _b === void 0 ? void 0 : _b.unobserve(element);
145
144
  this.elementInfos = this.elementInfos.filter((info) => info.element !== element);
146
145
  }
146
+ handleAppVisibilityChanged() {
147
+ const _super = Object.create(null, {
148
+ handleAppVisibilityChanged: { get: () => super.handleAppVisibilityChanged }
149
+ });
150
+ return __awaiter(this, void 0, void 0, function* () {
151
+ if (!this.isAdaptiveStream)
152
+ return;
153
+ yield _super.handleAppVisibilityChanged.call(this);
154
+ this.updateVisibility();
155
+ });
156
+ }
147
157
  updateVisibility() {
148
158
  const lastVisibilityChange = this.elementInfos.reduce((prev, info) => Math.max(prev, info.visibilityChangedAt || 0), 0);
149
- const isVisible = this.elementInfos.some((info) => info.visible);
159
+ const isVisible = this.elementInfos.some((info) => info.visible) && !this.isInBackground;
150
160
  if (this.lastVisible === isVisible) {
151
161
  return;
152
162
  }
@@ -161,16 +171,20 @@ class RemoteVideoTrack extends RemoteTrack_1.default {
161
171
  this.emit(events_1.TrackEvent.VisibilityChanged, isVisible, this);
162
172
  }
163
173
  updateDimensions() {
164
- var _a, _b;
174
+ var _a, _b, _c, _d;
165
175
  let maxWidth = 0;
166
176
  let maxHeight = 0;
167
177
  for (const info of this.elementInfos) {
168
- if (info.element.clientWidth + info.element.clientHeight > maxWidth + maxHeight) {
169
- maxWidth = info.element.clientWidth;
170
- maxHeight = info.element.clientHeight;
178
+ const pixelDensity = (_b = (_a = this.adaptiveStreamSettings) === null || _a === void 0 ? void 0 : _a.pixelDensity) !== null && _b !== void 0 ? _b : 1;
179
+ const pixelDensityValue = pixelDensity === 'screen' ? window.devicePixelRatio : pixelDensity;
180
+ const currentElementWidth = info.element.clientWidth * pixelDensityValue;
181
+ const currentElementHeight = info.element.clientHeight * pixelDensityValue;
182
+ if (currentElementWidth + currentElementHeight > maxWidth + maxHeight) {
183
+ maxWidth = currentElementWidth;
184
+ maxHeight = currentElementHeight;
171
185
  }
172
186
  }
173
- if (((_a = this.lastDimensions) === null || _a === void 0 ? void 0 : _a.width) === maxWidth && ((_b = this.lastDimensions) === null || _b === void 0 ? void 0 : _b.height) === maxHeight) {
187
+ if (((_c = this.lastDimensions) === null || _c === void 0 ? void 0 : _c.width) === maxWidth && ((_d = this.lastDimensions) === null || _d === void 0 ? void 0 : _d.height) === maxHeight) {
174
188
  return;
175
189
  }
176
190
  this.lastDimensions = {
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteVideoTrack.js","sourceRoot":"","sources":["../../../src/room/track/RemoteVideoTrack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RemoteVideoTrack.js","sourceRoot":"","sources":["../../../src/room/track/RemoteVideoTrack.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,8 @@ export declare class Track extends Track_base {
7
7
  mediaStreamTrack: MediaStreamTrack;
8
8
  attachedElements: HTMLMediaElement[];
9
9
  isMuted: boolean;
10
- streamState: Track.StreamState;
11
10
  source: Track.Source;
11
+ protected isInBackground: boolean;
12
12
  /**
13
13
  * sid is set after track is published to server, or if it's a remote track
14
14
  */
@@ -38,6 +38,8 @@ export declare class Track extends Track_base {
38
38
  protected enable(): void;
39
39
  protected disable(): void;
40
40
  private recycleElement;
41
+ appVisibilityChangedListener: () => void;
42
+ protected handleAppVisibilityChanged(): Promise<void>;
41
43
  }
42
44
  /** @internal */
43
45
  export declare function attachToElement(track: MediaStreamTrack, element: HTMLMediaElement): void;
@@ -86,6 +88,7 @@ export declare type TrackEventCallbacks = {
86
88
  updateSubscription: () => void;
87
89
  audioPlaybackStarted: () => void;
88
90
  audioPlaybackFailed: (error: Error) => void;
91
+ audioSilenceDetected: () => void;
89
92
  visibilityChanged: (visible: boolean, track?: any) => void;
90
93
  videoDimensionsChanged: (dimensions: Track.Dimensions, track?: any) => void;
91
94
  };
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.detachTrack = exports.attachToElement = exports.Track = void 0;
4
13
  const events_1 = require("events");
@@ -14,11 +23,15 @@ class Track extends events_1.EventEmitter {
14
23
  super();
15
24
  this.attachedElements = [];
16
25
  this.isMuted = false;
17
- this.streamState = Track.StreamState.Active;
18
26
  this._currentBitrate = 0;
27
+ this.appVisibilityChangedListener = () => {
28
+ this.handleAppVisibilityChanged();
29
+ };
19
30
  this.kind = kind;
20
31
  this.mediaStreamTrack = mediaTrack;
21
32
  this.source = Track.Source.Unknown;
33
+ this.isInBackground = document.visibilityState === 'hidden';
34
+ document.addEventListener('visibilitychange', this.appVisibilityChangedListener);
22
35
  }
23
36
  /** current receive bits per second */
24
37
  get currentBitrate() {
@@ -87,6 +100,7 @@ class Track extends events_1.EventEmitter {
87
100
  }
88
101
  stop() {
89
102
  this.mediaStreamTrack.stop();
103
+ document.removeEventListener('visibilitychange', this.appVisibilityChangedListener);
90
104
  }
91
105
  enable() {
92
106
  this.mediaStreamTrack.enabled = true;
@@ -109,6 +123,11 @@ class Track extends events_1.EventEmitter {
109
123
  }
110
124
  }
111
125
  }
126
+ handleAppVisibilityChanged() {
127
+ return __awaiter(this, void 0, void 0, function* () {
128
+ this.isInBackground = document.visibilityState === 'hidden';
129
+ });
130
+ }
112
131
  }
113
132
  exports.Track = Track;
114
133
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"Track.js","sourceRoot":"","sources":["../../../src/room/track/Track.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Track.js","sourceRoot":"","sources":["../../../src/room/track/Track.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ exports.publishDefaults = {
6
6
  audioBitrate: options_1.AudioPresets.speech.maxBitrate,
7
7
  dtx: true,
8
8
  simulcast: true,
9
- screenShareEncoding: options_1.ScreenSharePresets.hd_15.encoding,
9
+ screenShareEncoding: options_1.ScreenSharePresets.h720fps15.encoding,
10
10
  stopMicTrackOnMute: false,
11
11
  };
12
12
  exports.audioDefaults = {
@@ -16,6 +16,6 @@ exports.audioDefaults = {
16
16
  noiseSuppression: true,
17
17
  };
18
18
  exports.videoDefaults = {
19
- resolution: options_1.VideoPresets.qhd.resolution,
19
+ resolution: options_1.VideoPresets.h540.resolution,
20
20
  };
21
21
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/room/track/defaults.ts"],"names":[],"mappings":";;;AAAA,uCAGmB;AAEN,QAAA,eAAe,GAAyB;IACnD,YAAY,EAAE,sBAAY,CAAC,MAAM,CAAC,UAAU;IAC5C,GAAG,EAAE,IAAI;IACT,SAAS,EAAE,IAAI;IACf,mBAAmB,EAAE,4BAAkB,CAAC,KAAK,CAAC,QAAQ;IACtD,kBAAkB,EAAE,KAAK;CAC1B,CAAC;AAEW,QAAA,aAAa,GAAwB;IAChD,eAAe,EAAE,IAAI;IACrB,YAAY,EAAE,CAAC;IACf,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,IAAI;CACvB,CAAC;AAEW,QAAA,aAAa,GAAwB;IAChD,UAAU,EAAE,sBAAY,CAAC,GAAG,CAAC,UAAU;CACxC,CAAC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/room/track/defaults.ts"],"names":[],"mappings":";;;AAAA,uCAGmB;AAEN,QAAA,eAAe,GAAyB;IACnD,YAAY,EAAE,sBAAY,CAAC,MAAM,CAAC,UAAU;IAC5C,GAAG,EAAE,IAAI;IACT,SAAS,EAAE,IAAI;IACf,mBAAmB,EAAE,4BAAkB,CAAC,SAAS,CAAC,QAAQ;IAC1D,kBAAkB,EAAE,KAAK;CAC1B,CAAC;AAEW,QAAA,aAAa,GAAwB;IAChD,eAAe,EAAE,IAAI;IACrB,YAAY,EAAE,CAAC;IACf,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,IAAI;CACvB,CAAC;AAEW,QAAA,aAAa,GAAwB;IAChD,UAAU,EAAE,sBAAY,CAAC,IAAI,CAAC,UAAU;CACzC,CAAC"}
@@ -26,6 +26,18 @@ export interface TrackPublishDefaults {
26
26
  * at various resolutions.
27
27
  */
28
28
  simulcast?: boolean;
29
+ /**
30
+ * custom video simulcast layers for camera tracks, defaults to h180, h360, h540
31
+ * You can specify up to two custom layers that will be used instead of
32
+ * the LiveKit default layers.
33
+ * Note: the layers need to be ordered from lowest to highest quality
34
+ */
35
+ videoSimulcastLayers?: Array<VideoPreset>;
36
+ /**
37
+ * custom video simulcast layers for screen tracks
38
+ * Note: the layers need to be ordered from lowest to highest quality
39
+ */
40
+ screenShareSimulcastLayers?: Array<VideoPreset>;
29
41
  /**
30
42
  * For local tracks, stop the underlying MediaStreamTrack when the track is muted (or paused)
31
43
  * on some platforms, this option is necessary to disable the microphone recording indicator.
@@ -147,26 +159,64 @@ export declare namespace AudioPresets {
147
159
  * Sane presets for video resolution/encoding
148
160
  */
149
161
  export declare const VideoPresets: {
150
- qvga: VideoPreset;
151
- vga: VideoPreset;
152
- qhd: VideoPreset;
153
- hd: VideoPreset;
154
- fhd: VideoPreset;
162
+ readonly h90: VideoPreset;
163
+ readonly h180: VideoPreset;
164
+ readonly h216: VideoPreset;
165
+ readonly h360: VideoPreset;
166
+ readonly h540: VideoPreset;
167
+ readonly h720: VideoPreset;
168
+ readonly h1080: VideoPreset;
169
+ readonly h1440: VideoPreset;
170
+ readonly h2160: VideoPreset;
171
+ /** @deprecated */
172
+ readonly qvga: VideoPreset;
173
+ /** @deprecated */
174
+ readonly vga: VideoPreset;
175
+ /** @deprecated */
176
+ readonly qhd: VideoPreset;
177
+ /** @deprecated */
178
+ readonly hd: VideoPreset;
179
+ /** @deprecated */
180
+ readonly fhd: VideoPreset;
155
181
  };
156
182
  /**
157
183
  * Four by three presets
158
184
  */
159
185
  export declare const VideoPresets43: {
160
- qvga: VideoPreset;
161
- vga: VideoPreset;
162
- qhd: VideoPreset;
163
- hd: VideoPreset;
164
- fhd: VideoPreset;
186
+ readonly h120: VideoPreset;
187
+ readonly h180: VideoPreset;
188
+ readonly h240: VideoPreset;
189
+ readonly h360: VideoPreset;
190
+ readonly h480: VideoPreset;
191
+ readonly h540: VideoPreset;
192
+ readonly h720: VideoPreset;
193
+ readonly h1080: VideoPreset;
194
+ readonly h1440: VideoPreset;
195
+ /** @deprecated */
196
+ readonly qvga: VideoPreset;
197
+ /** @deprecated */
198
+ readonly vga: VideoPreset;
199
+ /** @deprecated */
200
+ readonly qhd: VideoPreset;
201
+ /** @deprecated */
202
+ readonly hd: VideoPreset;
203
+ /** @deprecated */
204
+ readonly fhd: VideoPreset;
165
205
  };
166
206
  export declare const ScreenSharePresets: {
167
- vga: VideoPreset;
168
- hd_8: VideoPreset;
169
- hd_15: VideoPreset;
170
- fhd_15: VideoPreset;
171
- fhd_30: VideoPreset;
207
+ readonly h360fps3: VideoPreset;
208
+ readonly h720fps5: VideoPreset;
209
+ readonly h720fps15: VideoPreset;
210
+ readonly h1080fps15: VideoPreset;
211
+ readonly h1080fps30: VideoPreset;
212
+ /** @deprecated */
213
+ readonly vga: VideoPreset;
214
+ /** @deprecated */
215
+ readonly hd_8: VideoPreset;
216
+ /** @deprecated */
217
+ readonly hd_15: VideoPreset;
218
+ /** @deprecated */
219
+ readonly fhd_15: VideoPreset;
220
+ /** @deprecated */
221
+ readonly fhd_30: VideoPreset;
172
222
  };
@@ -36,27 +36,65 @@ var AudioPresets;
36
36
  * Sane presets for video resolution/encoding
37
37
  */
38
38
  exports.VideoPresets = {
39
+ h90: new VideoPreset(160, 90, 60000, 15),
40
+ h180: new VideoPreset(320, 180, 120000, 15),
41
+ h216: new VideoPreset(384, 216, 180000, 15),
42
+ h360: new VideoPreset(640, 360, 300000, 20),
43
+ h540: new VideoPreset(960, 540, 600000, 25),
44
+ h720: new VideoPreset(1280, 720, 2000000, 30),
45
+ h1080: new VideoPreset(1920, 1080, 3000000, 30),
46
+ h1440: new VideoPreset(2560, 1440, 5000000, 30),
47
+ h2160: new VideoPreset(3840, 2160, 8000000, 30),
48
+ /** @deprecated */
39
49
  qvga: new VideoPreset(320, 180, 120000, 10),
50
+ /** @deprecated */
40
51
  vga: new VideoPreset(640, 360, 300000, 20),
52
+ /** @deprecated */
41
53
  qhd: new VideoPreset(960, 540, 600000, 25),
54
+ /** @deprecated */
42
55
  hd: new VideoPreset(1280, 720, 2000000, 30),
56
+ /** @deprecated */
43
57
  fhd: new VideoPreset(1920, 1080, 3000000, 30),
44
58
  };
45
59
  /**
46
60
  * Four by three presets
47
61
  */
48
62
  exports.VideoPresets43 = {
63
+ h120: new VideoPreset(160, 120, 80000, 15),
64
+ h180: new VideoPreset(240, 180, 100000, 15),
65
+ h240: new VideoPreset(320, 240, 150000, 15),
66
+ h360: new VideoPreset(480, 360, 225000, 20),
67
+ h480: new VideoPreset(640, 480, 300000, 20),
68
+ h540: new VideoPreset(720, 540, 450000, 25),
69
+ h720: new VideoPreset(960, 720, 1500000, 30),
70
+ h1080: new VideoPreset(1440, 1080, 2500000, 30),
71
+ h1440: new VideoPreset(1920, 1440, 3500000, 30),
72
+ /** @deprecated */
49
73
  qvga: new VideoPreset(240, 180, 90000, 10),
74
+ /** @deprecated */
50
75
  vga: new VideoPreset(480, 360, 225000, 20),
76
+ /** @deprecated */
51
77
  qhd: new VideoPreset(720, 540, 450000, 25),
78
+ /** @deprecated */
52
79
  hd: new VideoPreset(960, 720, 1500000, 30),
80
+ /** @deprecated */
53
81
  fhd: new VideoPreset(1440, 1080, 2800000, 30),
54
82
  };
55
83
  exports.ScreenSharePresets = {
84
+ h360fps3: new VideoPreset(640, 360, 200000, 3),
85
+ h720fps5: new VideoPreset(1280, 720, 400000, 5),
86
+ h720fps15: new VideoPreset(1280, 720, 1000000, 15),
87
+ h1080fps15: new VideoPreset(1920, 1080, 1500000, 15),
88
+ h1080fps30: new VideoPreset(1920, 1080, 3000000, 30),
89
+ /** @deprecated */
56
90
  vga: new VideoPreset(640, 360, 200000, 3),
91
+ /** @deprecated */
57
92
  hd_8: new VideoPreset(1280, 720, 400000, 5),
93
+ /** @deprecated */
58
94
  hd_15: new VideoPreset(1280, 720, 1000000, 15),
95
+ /** @deprecated */
59
96
  fhd_15: new VideoPreset(1920, 1080, 1500000, 15),
97
+ /** @deprecated */
60
98
  fhd_30: new VideoPreset(1920, 1080, 3000000, 30),
61
99
  };
62
100
  //# sourceMappingURL=options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/room/track/options.ts"],"names":[],"mappings":";;;AA4JA,MAAa,WAAW;IAOtB,YAAY,KAAa,EAAE,MAAc,EAAE,UAAkB,EAAE,YAAqB;QAClF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG;YACd,UAAU;YACV,YAAY;SACb,CAAC;IACJ,CAAC;IAED,IAAI,UAAU;QACZ,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY;YACrC,WAAW,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM;SACtC,CAAC;IACJ,CAAC;CACF;AAxBD,kCAwBC;AAQD,IAAiB,YAAY,CAU5B;AAVD,WAAiB,YAAY;IACd,sBAAS,GAAgB;QACpC,UAAU,EAAE,KAAM;KACnB,CAAC;IACW,mBAAM,GAAgB;QACjC,UAAU,EAAE,KAAM;KACnB,CAAC;IACW,kBAAK,GAAgB;QAChC,UAAU,EAAE,KAAM;KACnB,CAAC;AACJ,CAAC,EAVgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAU5B;AAED;;GAEG;AACU,QAAA,YAAY,GAAG;IAC1B,IAAI,EAAE,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,MAAO,EAAE,EAAE,CAAC;IAC5C,GAAG,EAAE,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,MAAO,EAAE,EAAE,CAAC;IAC3C,GAAG,EAAE,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,MAAO,EAAE,EAAE,CAAC;IAC3C,EAAE,EAAE,IAAI,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,OAAS,EAAE,EAAE,CAAC;IAC7C,GAAG,EAAE,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAS,EAAE,EAAE,CAAC;CAChD,CAAC;AAEF;;GAEG;AACU,QAAA,cAAc,GAAG;IAC5B,IAAI,EAAE,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,KAAM,EAAE,EAAE,CAAC;IAC3C,GAAG,EAAE,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,MAAO,EAAE,EAAE,CAAC;IAC3C,GAAG,EAAE,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,MAAO,EAAE,EAAE,CAAC;IAC3C,EAAE,EAAE,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,OAAS,EAAE,EAAE,CAAC;IAC5C,GAAG,EAAE,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAS,EAAE,EAAE,CAAC;CAChD,CAAC;AAEW,QAAA,kBAAkB,GAAG;IAChC,GAAG,EAAE,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,MAAO,EAAE,CAAC,CAAC;IAC1C,IAAI,EAAE,IAAI,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,MAAO,EAAE,CAAC,CAAC;IAC5C,KAAK,EAAE,IAAI,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,OAAS,EAAE,EAAE,CAAC;IAChD,MAAM,EAAE,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAS,EAAE,EAAE,CAAC;IAClD,MAAM,EAAE,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAS,EAAE,EAAE,CAAC;CACnD,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/room/track/options.ts"],"names":[],"mappings":"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"}
@@ -5,3 +5,14 @@ import type RemoteVideoTrack from './RemoteVideoTrack';
5
5
  export declare type RemoteTrack = RemoteAudioTrack | RemoteVideoTrack;
6
6
  export declare type AudioTrack = RemoteAudioTrack | LocalAudioTrack;
7
7
  export declare type VideoTrack = RemoteVideoTrack | LocalVideoTrack;
8
+ export declare type AdaptiveStreamSettings = {
9
+ /**
10
+ * Set a custom pixel density, defaults to 1
11
+ * When streaming videos on a ultra high definition screen this setting
12
+ * let's you account for the devicePixelRatio of those screens.
13
+ * Set it to `screen` to use the actual pixel density of the screen
14
+ * Note: this might significantly increase the bandwidth consumed by people
15
+ * streaming on high definition screens.
16
+ */
17
+ pixelDensity?: number | 'screen';
18
+ };
@@ -1,3 +1,13 @@
1
1
  import { AudioCaptureOptions, CreateLocalTracksOptions, VideoCaptureOptions } from './options';
2
+ import { AudioTrack } from './types';
2
3
  export declare function mergeDefaultOptions(options?: CreateLocalTracksOptions, audioDefaults?: AudioCaptureOptions, videoDefaults?: VideoCaptureOptions): CreateLocalTracksOptions;
3
4
  export declare function constraintsForOptions(options: CreateLocalTracksOptions): MediaStreamConstraints;
5
+ /**
6
+ * This function detects silence on a given [[Track]] instance.
7
+ * Returns true if the track seems to be entirely silent.
8
+ */
9
+ export declare function detectSilence(track: AudioTrack, timeOffset?: number): Promise<boolean>;
10
+ /**
11
+ * @internal
12
+ */
13
+ export declare function getNewAudioContext(): AudioContext | void;
@@ -1,6 +1,16 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.constraintsForOptions = exports.mergeDefaultOptions = void 0;
12
+ exports.getNewAudioContext = exports.detectSilence = exports.constraintsForOptions = exports.mergeDefaultOptions = void 0;
13
+ const utils_1 = require("../utils");
4
14
  function mergeDefaultOptions(options, audioDefaults, videoDefaults) {
5
15
  const opts = Object.assign({}, options);
6
16
  if (opts.audio === true)
@@ -65,4 +75,39 @@ function constraintsForOptions(options) {
65
75
  return constraints;
66
76
  }
67
77
  exports.constraintsForOptions = constraintsForOptions;
78
+ /**
79
+ * This function detects silence on a given [[Track]] instance.
80
+ * Returns true if the track seems to be entirely silent.
81
+ */
82
+ function detectSilence(track, timeOffset = 200) {
83
+ return __awaiter(this, void 0, void 0, function* () {
84
+ const ctx = getNewAudioContext();
85
+ if (ctx) {
86
+ const analyser = ctx.createAnalyser();
87
+ analyser.fftSize = 2048;
88
+ const bufferLength = analyser.frequencyBinCount;
89
+ const dataArray = new Uint8Array(bufferLength);
90
+ const source = ctx.createMediaStreamSource(new MediaStream([track.mediaStreamTrack]));
91
+ source.connect(analyser);
92
+ yield utils_1.sleep(timeOffset);
93
+ analyser.getByteTimeDomainData(dataArray);
94
+ const someNoise = dataArray.some((sample) => sample !== 128 && sample !== 0);
95
+ ctx.close();
96
+ return !someNoise;
97
+ }
98
+ return false;
99
+ });
100
+ }
101
+ exports.detectSilence = detectSilence;
102
+ /**
103
+ * @internal
104
+ */
105
+ function getNewAudioContext() {
106
+ // @ts-ignore
107
+ const AudioContext = window.AudioContext || window.webkitAudioContext;
108
+ if (AudioContext) {
109
+ return new AudioContext();
110
+ }
111
+ }
112
+ exports.getNewAudioContext = getNewAudioContext;
68
113
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/room/track/utils.ts"],"names":[],"mappings":";;;AAKA,SAAgB,mBAAmB,CACjC,OAAkC,EAClC,aAAmC,EACnC,aAAmC;IAEnC,MAAM,IAAI,qBACL,OAAO,CACX,CAAC;IACF,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;QAAE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACzC,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;QAAE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAEzC,eAAe;IACf,IAAI,IAAI,CAAC,KAAK,EAAE;QACd,6BAA6B,CAAC,IAAI,CAAC,KAAgC,EACjE,aAAwC,CAAC,CAAC;KAC7C;IACD,IAAI,IAAI,CAAC,KAAK,EAAE;QACd,6BAA6B,CAAC,IAAI,CAAC,KAAgC,EACjE,aAAwC,CAAC,CAAC;KAC7C;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AArBD,kDAqBC;AAED,SAAS,6BAA6B,CACpC,UAAmC,EACnC,aAAsC;IAEtC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACzC,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,UAAU,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAgB,qBAAqB,CAAC,OAAiC;IACrE,MAAM,WAAW,GAA2B,EAAE,CAAC;IAE/C,IAAI,OAAO,CAAC,KAAK,EAAE;QACjB,wBAAwB;QACxB,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE;YACrC,MAAM,YAAY,GAA0B,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,YAAuC,CAAC;YACvD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAgC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClC,QAAQ,GAAG,EAAE;oBACX,KAAK,YAAY;wBACf,iCAAiC;wBACjC,6BAA6B,CAAC,MAAM,EAAE,MAAM,CAAC,UAAqC,CAAC,CAAC;wBACpF,MAAM;oBACR;wBACE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;iBAC7B;YACH,CAAC,CAAC,CAAC;YACH,WAAW,CAAC,KAAK,GAAG,YAAY,CAAC;SAClC;aAAM;YACL,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;SACnC;KACF;SAAM;QACL,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;KAC3B;IAED,IAAI,OAAO,CAAC,KAAK,EAAE;QACjB,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE;YACrC,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;SACnC;aAAM;YACL,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC;SAC1B;KACF;SAAM;QACL,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;KAC3B;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AArCD,sDAqCC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/room/track/utils.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export declare function unpackStreamId(packed: string): string[];
3
3
  export declare function sleep(duration: number): Promise<void>;
4
4
  export declare function isFireFox(): boolean;
5
5
  export declare function isSafari(): boolean;
6
+ export declare function isMobile(): boolean;
6
7
  export declare const getResizeObserver: () => ResizeObserver;
7
8
  export declare const getIntersectionObserver: () => IntersectionObserver;
8
9
  export interface ObservableMediaElement extends HTMLMediaElement {
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.getClientInfo = exports.getIntersectionObserver = exports.getResizeObserver = exports.isSafari = exports.isFireFox = exports.sleep = exports.unpackStreamId = void 0;
12
+ exports.getClientInfo = exports.getIntersectionObserver = exports.getResizeObserver = exports.isMobile = exports.isSafari = exports.isFireFox = exports.sleep = exports.unpackStreamId = void 0;
13
13
  const livekit_models_1 = require("../proto/livekit_models");
14
14
  const version_1 = require("../version");
15
15
  const separator = '|';
@@ -35,6 +35,10 @@ function isSafari() {
35
35
  return /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
36
36
  }
37
37
  exports.isSafari = isSafari;
38
+ function isMobile() {
39
+ return /Tablet|iPad|Mobile|Android|BlackBerry/.test(navigator.userAgent);
40
+ }
41
+ exports.isMobile = isMobile;
38
42
  function roDispatchCallback(entries) {
39
43
  for (const entry of entries) {
40
44
  entry.target.handleResize(entry);
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/room/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4DAAqE;AACrE,wCAAsD;AAEtD,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB,SAAgB,cAAc,CAAC,MAAc;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACpB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;KACvD;IACD,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtB,CAAC;AAND,wCAMC;AAED,SAAsB,KAAK,CAAC,QAAgB;;QAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjE,CAAC;CAAA;AAFD,sBAEC;AAED,SAAgB,SAAS;IACvB,OAAO,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD,CAAC;AAFD,8BAEC;AAED,SAAgB,QAAQ;IACtB,OAAO,gCAAgC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AACpE,CAAC;AAFD,4BAEC;AAED,SAAS,kBAAkB,CAAC,OAA8B;IACxD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;QAC1B,KAAK,CAAC,MAAiC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;KAC9D;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAoC;IAC9D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;QAC1B,KAAK,CAAC,MAAiC,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;KACzE;AACH,CAAC;AAED,IAAI,cAAc,GAA0B,IAAI,CAAC;AAC1C,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,IAAI,CAAC,cAAc;QAAE,cAAc,GAAG,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAC7E,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAHW,QAAA,iBAAiB,qBAG5B;AAEF,IAAI,oBAAoB,GAAgC,IAAI,CAAC;AACtD,MAAM,uBAAuB,GAAG,GAAG,EAAE;IAC1C,IAAI,CAAC,oBAAoB;QAAE,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAC/F,OAAO,oBAAoB,CAAC;AAC9B,CAAC,CAAC;AAHW,QAAA,uBAAuB,2BAGlC;AAOF,SAAgB,aAAa;IAC3B,MAAM,IAAI,GAAG,2BAAU,CAAC,WAAW,CAAC;QAClC,GAAG,EAAE,+BAAc,CAAC,EAAE;QACtB,QAAQ,EAAE,yBAAe;QACzB,OAAO,EAAP,iBAAO;KACR,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAPD,sCAOC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/room/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4DAAqE;AACrE,wCAAsD;AAEtD,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB,SAAgB,cAAc,CAAC,MAAc;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACpB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;KACvD;IACD,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtB,CAAC;AAND,wCAMC;AAED,SAAsB,KAAK,CAAC,QAAgB;;QAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjE,CAAC;CAAA;AAFD,sBAEC;AAED,SAAgB,SAAS;IACvB,OAAO,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD,CAAC;AAFD,8BAEC;AAED,SAAgB,QAAQ;IACtB,OAAO,gCAAgC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AACpE,CAAC;AAFD,4BAEC;AAED,SAAgB,QAAQ;IACtB,OAAO,uCAAuC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAC3E,CAAC;AAFD,4BAEC;AAED,SAAS,kBAAkB,CAAC,OAA8B;IACxD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;QAC1B,KAAK,CAAC,MAAiC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;KAC9D;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAoC;IAC9D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;QAC1B,KAAK,CAAC,MAAiC,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;KACzE;AACH,CAAC;AAED,IAAI,cAAc,GAA0B,IAAI,CAAC;AAC1C,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,IAAI,CAAC,cAAc;QAAE,cAAc,GAAG,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAC7E,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAHW,QAAA,iBAAiB,qBAG5B;AAEF,IAAI,oBAAoB,GAAgC,IAAI,CAAC;AACtD,MAAM,uBAAuB,GAAG,GAAG,EAAE;IAC1C,IAAI,CAAC,oBAAoB;QAAE,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAC/F,OAAO,oBAAoB,CAAC;AAC9B,CAAC,CAAC;AAHW,QAAA,uBAAuB,2BAGlC;AAOF,SAAgB,aAAa;IAC3B,MAAM,IAAI,GAAG,2BAAU,CAAC,WAAW,CAAC;QAClC,GAAG,EAAE,+BAAc,CAAC,EAAE;QACtB,QAAQ,EAAE,yBAAe;QACzB,OAAO,EAAP,iBAAO;KACR,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAPD,sCAOC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "livekit-client",
3
- "version": "0.16.6",
3
+ "version": "0.17.0",
4
4
  "description": "JavaScript/TypeScript client SDK for LiveKit",
5
5
  "main": "dist/index.js",
6
6
  "source": "src/index.ts",
@@ -1,4 +1,4 @@
1
- import logger from '../logger';
1
+ import log from '../logger';
2
2
 
3
3
  export default class Queue {
4
4
  private queue: Array<() => void>;
@@ -11,34 +11,34 @@ export default class Queue {
11
11
  }
12
12
 
13
13
  enqueue(cb: () => void) {
14
- logger.debug('enqueuing request to fire later');
14
+ log.trace('enqueuing request to fire later');
15
15
  this.queue.push(cb);
16
16
  }
17
17
 
18
18
  dequeue() {
19
19
  const evt = this.queue.shift();
20
20
  if (evt) evt();
21
- logger.debug('firing request from queue');
21
+ log.trace('firing request from queue');
22
22
  }
23
23
 
24
24
  async run() {
25
25
  if (this.running) return;
26
- logger.debug('start queue');
26
+ log.trace('start queue');
27
27
  this.running = true;
28
28
  while (this.running && this.queue.length > 0) {
29
29
  this.dequeue();
30
30
  }
31
31
  this.running = false;
32
- logger.debug('queue finished');
32
+ log.trace('queue finished');
33
33
  }
34
34
 
35
35
  pause() {
36
- logger.debug('pausing queue');
36
+ log.trace('pausing queue');
37
37
  this.running = false;
38
38
  }
39
39
 
40
40
  reset() {
41
- logger.debug('resetting queue');
41
+ log.trace('resetting queue');
42
42
  this.running = false;
43
43
  this.queue = [];
44
44
  }