livekit-client 2.0.6 → 2.0.7

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.
@@ -13473,7 +13473,7 @@ function getMatch(exp, ua) {
13473
13473
  return match && match.length >= id && match[id] || '';
13474
13474
  }
13475
13475
 
13476
- var version$1 = "2.0.6";
13476
+ var version$1 = "2.0.7";
13477
13477
 
13478
13478
  const version = version$1;
13479
13479
  const protocolVersion = 12;
@@ -14118,7 +14118,8 @@ function screenCaptureToDisplayMediaStreamOptions(options) {
14118
14118
  controller: options.controller,
14119
14119
  selfBrowserSurface: options.selfBrowserSurface,
14120
14120
  surfaceSwitching: options.surfaceSwitching,
14121
- systemAudio: options.systemAudio
14121
+ systemAudio: options.systemAudio,
14122
+ preferCurrentTab: options.preferCurrentTab
14122
14123
  };
14123
14124
  }
14124
14125
  function mimeTypeToVideoCodecString(mimeType) {
@@ -21522,7 +21523,17 @@ class LocalParticipant extends Participant {
21522
21523
  if (isSVCCodec(videoCodec)) {
21523
21524
  // vp9 svc with screenshare has problem to encode, always use L1T3 here
21524
21525
  if (track.source === Track.Source.ScreenShare && videoCodec === 'vp9') {
21525
- opts.scalabilityMode = 'L1T3';
21526
+ // Chrome does not allow more than 5 fps with L1T3, and it has encoding bugs with L3T3
21527
+ // It has a different path for screenshare handling and it seems to be untested/buggy
21528
+ // As a workaround, we are setting contentHint to force it to go through the same
21529
+ // path as regular camera video. While this is not optimal, it delivers the performance
21530
+ // that we need
21531
+ if ('contentHint' in track.mediaStreamTrack) {
21532
+ track.mediaStreamTrack.contentHint = 'motion';
21533
+ this.log.info('forcing contentHint to motion for screenshare with VP9', Object.assign(Object.assign({}, this.logContext), getLogContextFromTrack(track)));
21534
+ } else {
21535
+ opts.scalabilityMode = 'L1T3';
21536
+ }
21526
21537
  }
21527
21538
  // set scalabilityMode to 'L3T3_KEY' by default
21528
21539
  opts.scalabilityMode = (_e = opts.scalabilityMode) !== null && _e !== void 0 ? _e : 'L3T3_KEY';
@@ -22524,6 +22535,7 @@ class Room extends eventsExports.EventEmitter {
22524
22535
  }
22525
22536
  if (nextUrl) {
22526
22537
  this.log.info("Initial connection failed with ConnectionError: ".concat(e.message, ". Retrying with another region: ").concat(nextUrl), this.logContext);
22538
+ this.recreateEngine();
22527
22539
  yield connectFn(resolve, reject, nextUrl);
22528
22540
  } else {
22529
22541
  this.handleDisconnect(this.options.stopLocalTrackOnUnpublish);