twilio-video 2.27.0 → 2.28.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.
- package/CHANGELOG.md +9 -0
- package/README.md +1 -1
- package/dist/twilio-video.js +25 -24
- package/dist/twilio-video.min.js +9 -9
- package/es5/localparticipant.js +3 -1
- package/es5/localparticipant.js.map +1 -1
- package/es5/media/track/localmediatrack.js +17 -7
- package/es5/media/track/localmediatrack.js.map +1 -1
- package/es5/media/track/localvideotrack.js +0 -2
- package/es5/media/track/localvideotrack.js.map +1 -1
- package/es5/util/index.js +0 -11
- package/es5/util/index.js.map +1 -1
- package/lib/localparticipant.js +3 -1
- package/lib/media/track/localmediatrack.js +24 -9
- package/lib/media/track/localvideotrack.js +0 -2
- package/lib/util/index.js +0 -13
- package/package.json +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@ The Twilio Programmable Video SDKs use [Semantic Versioning](http://www.semver.o
|
|
|
2
2
|
|
|
3
3
|
**Version 1.x reached End of Life on September 8th, 2021.** See the changelog entry [here](https://www.twilio.com/changelog/end-of-life-complete-for-unsupported-versions-of-the-programmable-video-sdk). Support for the 1.x version ended on December 4th, 2020.
|
|
4
4
|
|
|
5
|
+
2.28.0 (September 14, 2023)
|
|
6
|
+
===========================
|
|
7
|
+
|
|
8
|
+
Bug Fixes
|
|
9
|
+
---------
|
|
10
|
+
|
|
11
|
+
- Fixed a bug where a Chrome iOS 17 Participant's audio with Krisp Noise Cancellation did not recover after interacting with a system popup. (VIDEO-13012)
|
|
12
|
+
- Fixed a bug where a Chrome iOS 17 Participant's audio with Krisp Noise Cancellation did not recover after invoking Siri. (VIDEO-13013)
|
|
13
|
+
|
|
5
14
|
2.27.0 (March 21, 2023)
|
|
6
15
|
=======================
|
|
7
16
|
|
package/README.md
CHANGED
|
@@ -74,7 +74,7 @@ Releases of twilio-video.js are hosted on a CDN, and you can include these
|
|
|
74
74
|
directly in your web app using a <script> tag.
|
|
75
75
|
|
|
76
76
|
```html
|
|
77
|
-
<script src="//sdk.twilio.com/js/video/releases/2.
|
|
77
|
+
<script src="//sdk.twilio.com/js/video/releases/2.28.0/twilio-video.min.js"></script>
|
|
78
78
|
```
|
|
79
79
|
|
|
80
80
|
Using this method, twilio-video.js will set a browser global:
|
package/dist/twilio-video.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! twilio-video.js 2.
|
|
1
|
+
/*! twilio-video.js 2.28.0
|
|
2
2
|
|
|
3
3
|
The following license applies to all parts of this software except as
|
|
4
4
|
documented below.
|
|
@@ -2627,7 +2627,9 @@ var LocalParticipant = /** @class */ (function (_super) {
|
|
|
2627
2627
|
* @event LocalParticipant#trackPublicationFailed
|
|
2628
2628
|
*/
|
|
2629
2629
|
/**
|
|
2630
|
-
* A {@link LocalTrack} was successfully published.
|
|
2630
|
+
* A {@link LocalTrack} that was added using {@link LocalParticipant#publishTrack} was successfully published. This event
|
|
2631
|
+
* is not raised for {@link LocalTrack}s added in {@link ConnectOptions}<code>.tracks</code> or auto-created within
|
|
2632
|
+
* <a href="module-twilio-video.html#.connect__anchor"><code>{@link connect}</code></a>.
|
|
2631
2633
|
* @param {LocalTrackPublication} publication - The resulting
|
|
2632
2634
|
* {@link LocalTrackPublication} for the published {@link LocalTrack}
|
|
2633
2635
|
* @event LocalParticipant#trackPublished
|
|
@@ -3593,7 +3595,7 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
3593
3595
|
})();
|
|
3594
3596
|
var getUserMedia = require('../../webrtc').getUserMedia;
|
|
3595
3597
|
var isIOS = require('../../util/browserdetection').isIOS;
|
|
3596
|
-
var _a = require('../../util'), capitalize = _a.capitalize, defer = _a.defer,
|
|
3598
|
+
var _a = require('../../util'), capitalize = _a.capitalize, defer = _a.defer, waitForSometime = _a.waitForSometime, waitForEvent = _a.waitForEvent;
|
|
3597
3599
|
var ILLEGAL_INVOKE = require('../../util/constants').typeErrors.ILLEGAL_INVOKE;
|
|
3598
3600
|
var detectSilentAudio = require('../../util/detectsilentaudio');
|
|
3599
3601
|
var detectSilentVideo = require('../../util/detectsilentvideo');
|
|
@@ -3622,7 +3624,6 @@ function mixinLocalMediaTrack(AudioOrVideoTrack) {
|
|
|
3622
3624
|
function LocalMediaTrack(mediaStreamTrack, options) {
|
|
3623
3625
|
var _this = this;
|
|
3624
3626
|
var workaroundWebKitBug1208516 = isIOS()
|
|
3625
|
-
&& isUserMediaTrack(mediaStreamTrack)
|
|
3626
3627
|
&& typeof document === 'object'
|
|
3627
3628
|
&& typeof document.addEventListener === 'function'
|
|
3628
3629
|
&& typeof document.visibilityState === 'string';
|
|
@@ -3668,6 +3669,9 @@ function mixinLocalMediaTrack(AudioOrVideoTrack) {
|
|
|
3668
3669
|
_isCreatedByCreateLocalTracks: {
|
|
3669
3670
|
value: options.isCreatedByCreateLocalTracks
|
|
3670
3671
|
},
|
|
3672
|
+
_noiseCancellation: {
|
|
3673
|
+
value: options.noiseCancellation || null
|
|
3674
|
+
},
|
|
3671
3675
|
_trackSender: {
|
|
3672
3676
|
value: mediaTrackSender
|
|
3673
3677
|
},
|
|
@@ -3856,9 +3860,16 @@ function mixinLocalMediaTrack(AudioOrVideoTrack) {
|
|
|
3856
3860
|
* @returns {function} Clean up listeners attached by the workaround
|
|
3857
3861
|
*/
|
|
3858
3862
|
function restartWhenInadvertentlyStopped(localMediaTrack) {
|
|
3859
|
-
var log = localMediaTrack._log, kind = localMediaTrack.kind;
|
|
3860
|
-
var detectSilence = {
|
|
3861
|
-
|
|
3863
|
+
var log = localMediaTrack._log, kind = localMediaTrack.kind, noiseCancellation = localMediaTrack._noiseCancellation;
|
|
3864
|
+
var detectSilence = {
|
|
3865
|
+
audio: detectSilentAudio,
|
|
3866
|
+
video: detectSilentVideo
|
|
3867
|
+
}[kind];
|
|
3868
|
+
var getSourceMediaStreamTrack = function () { return noiseCancellation
|
|
3869
|
+
? noiseCancellation.sourceTrack
|
|
3870
|
+
: localMediaTrack.mediaStreamTrack; };
|
|
3871
|
+
var el = localMediaTrack._dummyEl;
|
|
3872
|
+
var mediaStreamTrack = getSourceMediaStreamTrack();
|
|
3862
3873
|
var trackChangeInProgress = null;
|
|
3863
3874
|
function checkSilence() {
|
|
3864
3875
|
// The dummy element is paused, so play it and then detect silence.
|
|
@@ -3880,8 +3891,9 @@ function restartWhenInadvertentlyStopped(localMediaTrack) {
|
|
|
3880
3891
|
});
|
|
3881
3892
|
}
|
|
3882
3893
|
function shouldReacquireTrack() {
|
|
3883
|
-
var _workaroundWebKitBug1208516Cleanup = localMediaTrack._workaroundWebKitBug1208516Cleanup, isStopped = localMediaTrack.isStopped
|
|
3894
|
+
var _workaroundWebKitBug1208516Cleanup = localMediaTrack._workaroundWebKitBug1208516Cleanup, isStopped = localMediaTrack.isStopped;
|
|
3884
3895
|
var isInadvertentlyStopped = isStopped && !!_workaroundWebKitBug1208516Cleanup;
|
|
3896
|
+
var muted = getSourceMediaStreamTrack().muted;
|
|
3885
3897
|
// NOTE(mmalavalli): Restart the LocalMediaTrack if:
|
|
3886
3898
|
// 1. The app is foregrounded, and
|
|
3887
3899
|
// 2. A restart is not already in progress, and
|
|
@@ -3902,7 +3914,7 @@ function restartWhenInadvertentlyStopped(localMediaTrack) {
|
|
|
3902
3914
|
localMediaTrack._restart().finally(function () {
|
|
3903
3915
|
el = localMediaTrack._dummyEl;
|
|
3904
3916
|
removeMediaStreamTrackListeners();
|
|
3905
|
-
mediaStreamTrack =
|
|
3917
|
+
mediaStreamTrack = getSourceMediaStreamTrack();
|
|
3906
3918
|
addMediaStreamTrackListeners();
|
|
3907
3919
|
trackChangeInProgress.resolve();
|
|
3908
3920
|
trackChangeInProgress = null;
|
|
@@ -4146,7 +4158,6 @@ var isIOS = require('../../util/browserdetection').isIOS;
|
|
|
4146
4158
|
var detectSilentVideo = require('../../util/detectsilentvideo');
|
|
4147
4159
|
var mixinLocalMediaTrack = require('./localmediatrack');
|
|
4148
4160
|
var VideoTrack = require('./videotrack');
|
|
4149
|
-
var isUserMediaTrack = require('../../util').isUserMediaTrack;
|
|
4150
4161
|
var LocalMediaVideoTrack = mixinLocalMediaTrack(VideoTrack);
|
|
4151
4162
|
/**
|
|
4152
4163
|
* A {@link LocalVideoTrack} is a {@link VideoTrack} representing video that
|
|
@@ -4180,7 +4191,6 @@ var LocalVideoTrack = /** @class */ (function (_super) {
|
|
|
4180
4191
|
var _this = this;
|
|
4181
4192
|
options = Object.assign({
|
|
4182
4193
|
workaroundSilentLocalVideo: isIOS()
|
|
4183
|
-
&& isUserMediaTrack(mediaStreamTrack)
|
|
4184
4194
|
&& typeof document !== 'undefined'
|
|
4185
4195
|
&& typeof document.createElement === 'function'
|
|
4186
4196
|
}, options);
|
|
@@ -4494,7 +4504,7 @@ function workaroundSilentLocalVideo(localVideoTrack, doc) {
|
|
|
4494
4504
|
*/
|
|
4495
4505
|
module.exports = LocalVideoTrack;
|
|
4496
4506
|
|
|
4497
|
-
},{"../../util
|
|
4507
|
+
},{"../../util/browserdetection":123,"../../util/detectsilentvideo":127,"./localmediatrack":24,"./videotrack":43}],27:[function(require,module,exports){
|
|
4498
4508
|
'use strict';
|
|
4499
4509
|
var __extends = (this && this.__extends) || (function () {
|
|
4500
4510
|
var extendStatics = function (d, b) {
|
|
@@ -22664,16 +22674,6 @@ function isChromeScreenShareTrack(track) {
|
|
|
22664
22674
|
// we will check for label that starts with "screen:D" where D being a digit.
|
|
22665
22675
|
return util.guessBrowser() === 'chrome' && track.kind === 'video' && 'displaySurface' in track.getSettings();
|
|
22666
22676
|
}
|
|
22667
|
-
/**
|
|
22668
|
-
* returns true if given MediaStreamTrack is a user media track
|
|
22669
|
-
* @private
|
|
22670
|
-
* @param {MediaStreamTrack} track
|
|
22671
|
-
* @returns {boolean}
|
|
22672
|
-
*/
|
|
22673
|
-
function isUserMediaTrack(track) {
|
|
22674
|
-
// NOTE(mpatwardhan): tracks obtained from getUserMedia have a deviceId in its settings.
|
|
22675
|
-
return typeof track.getSettings().deviceId === 'string';
|
|
22676
|
-
}
|
|
22677
22677
|
/**
|
|
22678
22678
|
* Returns a promise that resolve after timeoutMS have passed.
|
|
22679
22679
|
* @param {number} timeoutMS - time to wait in milliseconds.
|
|
@@ -22729,7 +22729,6 @@ exports.trackPublicationClass = trackPublicationClass;
|
|
|
22729
22729
|
exports.valueToJSON = valueToJSON;
|
|
22730
22730
|
exports.withJitter = withJitter;
|
|
22731
22731
|
exports.isChromeScreenShareTrack = isChromeScreenShareTrack;
|
|
22732
|
-
exports.isUserMediaTrack = isUserMediaTrack;
|
|
22733
22732
|
exports.waitForSometime = waitForSometime;
|
|
22734
22733
|
exports.waitForEvent = waitForEvent;
|
|
22735
22734
|
|
|
@@ -30152,7 +30151,7 @@ module.exports={
|
|
|
30152
30151
|
"name": "twilio-video",
|
|
30153
30152
|
"title": "Twilio Video",
|
|
30154
30153
|
"description": "Twilio Video JavaScript Library",
|
|
30155
|
-
"version": "2.
|
|
30154
|
+
"version": "2.28.0",
|
|
30156
30155
|
"homepage": "https://twilio.com",
|
|
30157
30156
|
"author": "Mark Andrus Roberts <mroberts@twilio.com>",
|
|
30158
30157
|
"contributors": [
|
|
@@ -30174,6 +30173,8 @@ module.exports={
|
|
|
30174
30173
|
},
|
|
30175
30174
|
"devDependencies": {
|
|
30176
30175
|
"@babel/core": "^7.14.2",
|
|
30176
|
+
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
|
30177
|
+
"@babel/plugin-proposal-object-rest-spread": "^7.20.7",
|
|
30177
30178
|
"@babel/preset-env": "^7.14.2",
|
|
30178
30179
|
"@babel/preset-typescript": "^7.13.0",
|
|
30179
30180
|
"@types/express": "^4.11.0",
|