@opentok/client 2.21.7 → 2.21.8

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.
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @license OpenTok.js 2.21.7 8db653cdf
2
+ * @license OpenTok.js 2.21.8 7aaf383c1
3
3
  *
4
4
  * Copyright (c) 2010-2022 TokBox, Inc.
5
5
  * Subject to the applicable Software Development Kit (SDK) License Agreement:
6
6
  * https://www.vonage.com/legal/communications-apis/terms-of-use/
7
7
  *
8
- * Date: Tue, 01 Feb 2022 03:14:35 GMT
8
+ * Date: Wed, 09 Feb 2022 18:59:53 GMT
9
9
  */
10
10
 
11
11
  (function webpackUniversalModuleDefinition(root, factory) {
@@ -6792,7 +6792,7 @@ const _require = __webpack_require__(138),
6792
6792
  /** @type builtInConfig */
6793
6793
 
6794
6794
 
6795
- const builtInConfig = cloneDeep({"version":"v2.21.7","buildHash":"8db653cdf","minimumVersion":{"firefox":52,"chrome":49},"debug":"false","websiteURL":"http://www.tokbox.com","configURL":"https://config.opentok.com","ipWhitelistConfigURL":"","cdnURL":"https://static.opentok.com","loggingURL":"https://hlg.tokbox.com/prod","apiURL":"https://anvil.opentok.com"});
6795
+ const builtInConfig = cloneDeep({"version":"v2.21.8","buildHash":"7aaf383c1","minimumVersion":{"firefox":52,"chrome":49},"debug":"false","websiteURL":"http://www.tokbox.com","configURL":"https://config.opentok.com","ipWhitelistConfigURL":"","cdnURL":"https://static.opentok.com","loggingURL":"https://hlg.tokbox.com/prod","apiURL":"https://anvil.opentok.com"});
6796
6796
  const whitelistAllowedRuntimeProperties = pick(['apiURL', 'assetURL', 'cdnURL', 'sessionInfoOverrides', 'loggingURL']);
6797
6797
  const liveConfigMap = {
6798
6798
  apiUrl: 'apiURL',
@@ -16325,8 +16325,8 @@ module.exports = function PublisherFactory(_ref) {
16325
16325
  // Further info: OPENTOK-44289
16326
16326
 
16327
16327
 
16328
- const staticContents = ['text', 'detail'];
16329
- const isStaticContent = staticContents.includes(properties.videoContentHint);
16328
+ const staticContentHints = ['text', 'detail'];
16329
+ const isStaticContent = staticContentHints.includes(properties.videoContentHint);
16330
16330
  return isCustomVideoTrack && isStaticContent;
16331
16331
  };
16332
16332
 
@@ -17177,9 +17177,18 @@ module.exports = function PublisherFactory(_ref) {
17177
17177
  const hasVideo = () => {
17178
17178
  if (!webRTCStream || webRTCStream.getVideoTracks().length === 0) {
17179
17179
  return false;
17180
- }
17180
+ } // On Chrome when screensharing/custom video is static, it is swapping between 'mute' and
17181
+ // 'unmute' states periodically for no reason OPENTOK-37818
17182
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=931033
17183
+ // We will ignore track.muted when screensharing and custom when videoContentHint
17184
+ // suggests video could be static, i.e. text or detail
17185
+
17181
17186
 
17182
- return webRTCStream.getVideoTracks().reduce((isEnabled, track) => isEnabled && !track.muted && track.enabled && track.readyState !== 'ended', properties.publishVideo);
17187
+ const staticContentHints = ['text', 'detail'];
17188
+ const isStaticContent = staticContentHints.includes(properties.videoContentHint);
17189
+ const isStaticCustom = isCustomVideoTrack && isStaticContent;
17190
+ const shouldIgnoreTrackMuteState = OTHelpers.env.isChrome && (isScreenSharing || isStaticCustom);
17191
+ return webRTCStream.getVideoTracks().reduce((isEnabled, track) => isEnabled && (!track.muted || !!shouldIgnoreTrackMuteState) && track.enabled && track.readyState !== 'ended', properties.publishVideo);
17183
17192
  };
17184
17193
 
17185
17194
  const hasAudio = () => {