twilio-video 2.24.3 → 2.26.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 (82) hide show
  1. package/CHANGELOG.md +172 -0
  2. package/README.md +1 -2
  3. package/dist/twilio-video.js +1651 -1174
  4. package/dist/twilio-video.min.js +21 -21
  5. package/es5/createlocaltrack.js +10 -2
  6. package/es5/createlocaltrack.js.map +1 -1
  7. package/es5/createlocaltracks.js +20 -8
  8. package/es5/createlocaltracks.js.map +1 -1
  9. package/es5/media/track/localaudiotrack.js +140 -7
  10. package/es5/media/track/localaudiotrack.js.map +1 -1
  11. package/es5/media/track/localmediatrack.js +32 -6
  12. package/es5/media/track/localmediatrack.js.map +1 -1
  13. package/es5/media/track/localvideotrack.js +33 -12
  14. package/es5/media/track/localvideotrack.js.map +1 -1
  15. package/es5/media/track/mediatrack.js +3 -3
  16. package/es5/media/track/mediatrack.js.map +1 -1
  17. package/es5/media/track/remotemediatrack.js +2 -2
  18. package/es5/media/track/remotemediatrack.js.map +1 -1
  19. package/es5/media/track/sender.js +39 -1
  20. package/es5/media/track/sender.js.map +1 -1
  21. package/es5/room.js +50 -1
  22. package/es5/room.js.map +1 -1
  23. package/es5/transceiver.js +3 -3
  24. package/es5/transceiver.js.map +1 -1
  25. package/es5/util/browserdetection.js +16 -15
  26. package/es5/util/browserdetection.js.map +1 -1
  27. package/es5/webrtc/getstats.js +75 -58
  28. package/es5/webrtc/getstats.js.map +1 -1
  29. package/es5/webrtc/getusermedia.js +1 -1
  30. package/es5/webrtc/getusermedia.js.map +1 -1
  31. package/es5/webrtc/index.js.map +1 -1
  32. package/es5/webrtc/rtcpeerconnection/chrome.js +339 -286
  33. package/es5/webrtc/rtcpeerconnection/chrome.js.map +1 -1
  34. package/es5/webrtc/rtcpeerconnection/firefox.js +225 -179
  35. package/es5/webrtc/rtcpeerconnection/firefox.js.map +1 -1
  36. package/es5/webrtc/rtcpeerconnection/index.js.map +1 -1
  37. package/es5/webrtc/rtcpeerconnection/safari.js +276 -236
  38. package/es5/webrtc/rtcpeerconnection/safari.js.map +1 -1
  39. package/es5/webrtc/rtcrtpsender.js +12 -9
  40. package/es5/webrtc/rtcrtpsender.js.map +1 -1
  41. package/es5/webrtc/rtcsessiondescription/chrome.js +29 -22
  42. package/es5/webrtc/rtcsessiondescription/chrome.js.map +1 -1
  43. package/es5/webrtc/rtcsessiondescription/index.js.map +1 -1
  44. package/es5/webrtc/util/index.js +32 -15
  45. package/es5/webrtc/util/index.js.map +1 -1
  46. package/es5/webrtc/util/latch.js +83 -82
  47. package/es5/webrtc/util/latch.js.map +1 -1
  48. package/es5/webrtc/util/sdp.js +12 -19
  49. package/es5/webrtc/util/sdp.js.map +1 -1
  50. package/lib/createlocaltrack.js +10 -2
  51. package/lib/createlocaltracks.ts +32 -11
  52. package/lib/media/track/localaudiotrack.js +142 -8
  53. package/lib/media/track/localmediatrack.js +31 -5
  54. package/lib/media/track/localvideotrack.js +35 -13
  55. package/lib/media/track/mediatrack.js +2 -2
  56. package/lib/media/track/remotemediatrack.js +2 -2
  57. package/lib/media/track/sender.js +42 -1
  58. package/lib/room.js +41 -1
  59. package/lib/transceiver.js +3 -3
  60. package/lib/util/browserdetection.js +16 -15
  61. package/lib/webrtc/getstats.js +155 -171
  62. package/lib/webrtc/getusermedia.js +1 -2
  63. package/lib/webrtc/index.js +1 -1
  64. package/lib/webrtc/rtcpeerconnection/chrome.js +284 -316
  65. package/lib/webrtc/rtcpeerconnection/firefox.js +173 -197
  66. package/lib/webrtc/rtcpeerconnection/index.js +1 -1
  67. package/lib/webrtc/rtcpeerconnection/safari.js +228 -256
  68. package/lib/webrtc/rtcrtpsender.js +10 -8
  69. package/lib/webrtc/rtcsessiondescription/chrome.js +24 -24
  70. package/lib/webrtc/rtcsessiondescription/index.js +1 -1
  71. package/lib/webrtc/util/index.js +26 -33
  72. package/lib/webrtc/util/latch.js +78 -83
  73. package/lib/webrtc/util/sdp.js +32 -41
  74. package/package.json +3 -3
  75. package/tsdef/LocalAudioTrack.d.ts +3 -0
  76. package/tsdef/LocalVideoTrack.d.ts +3 -0
  77. package/tsdef/Room.d.ts +1 -0
  78. package/tsdef/index.d.ts +1 -0
  79. package/tsdef/types.d.ts +2 -0
  80. package/es5/webrtc/util/eventtarget.js +0 -34
  81. package/es5/webrtc/util/eventtarget.js.map +0 -1
  82. package/lib/webrtc/util/eventtarget.js +0 -39
@@ -114,8 +114,16 @@ var NoiseCancellationVendor = {
114
114
  * @property {boolean} [workaroundWebKitBug180748=false] - setting this
115
115
  * attempts to workaround WebKit Bug 180748, where, in Safari, getUserMedia may return a silent audio
116
116
  * MediaStreamTrack.
117
- * @property {NoiseCancellationOptions} [noiseCancellationOptions] - This property enables using 3rd party plugins
118
- * for noise cancellation. This is a beta feature.
117
+ * @property {DefaultDeviceCaptureMode} [defaultDeviceCaptureMode="auto"] - This optional property only applies if the
118
+ * {@link LocalAudioTrack} is capturing from the default audio input device connected to a desktop or laptop. When the
119
+ * property is set to "auto", the LocalAudioTrack restarts whenever the default audio input device changes, in order to
120
+ * capture audio from the new default audio input device. For example, when a bluetooth audio headset is connected to a
121
+ * Macbook, the LocalAudioTrack will start capturing audio from the headset microphone. When the headset is disconnected,
122
+ * the LocalAudioTrack will start capturing audio from the Macbook microphone. When the property is set to "manual", the
123
+ * LocalAudioTrack continues to capture from the same audio input device even after the default audio input device changes.
124
+ * When the property is not specified, it defaults to "auto".
125
+ * @property {NoiseCancellationOptions} [noiseCancellationOptions] - This optional property enables using 3rd party plugins
126
+ * for noise cancellation.
119
127
  */
120
128
  /**
121
129
  * Create {@link LocalTrack} options. Apart from the properties listed here, you can
@@ -1 +1 @@
1
- {"version":3,"file":"createlocaltrack.js","sourceRoot":"","sources":["../lib/createlocaltrack.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEP,IAAA,KAA6C,OAAO,CAAC,kBAAkB,CAAC,EAAtE,iBAAiB,uBAAA,EAAE,mBAAmB,yBAAgC,CAAC;AAE/E;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,IAAI,EAAE,OAAO;IACrC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QACtB,UAAU,EAAE,mBAAmB;QAC/B,QAAQ,EAAE,iBAAiB;KAC5B,EAAE,OAAO,CAAC,CAAC;IAEZ,IAAM,aAAa,GAAG,EAAE,CAAC;IACzB,aAAa,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAC9C,aAAa,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC1C,OAAO,OAAO,CAAC,UAAU,CAAC;IAC1B,OAAO,OAAO,CAAC,QAAQ,CAAC;IAExB,IAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IACpD,OAAO,OAAO,CAAC,iBAAiB,CAAC;IACjC,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAEvE,OAAO,iBAAiB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAA,WAAW,IAAI,OAAA,WAAW,CAAC,CAAC,CAAC,EAAd,CAAc,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,SAAS,qBAAqB,CAAC,OAAO;IACpC,OAAO,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,SAAS,qBAAqB,CAAC,OAAO;IACpC,OAAO,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,2BAA2B;AAC3B,IAAM,uBAAuB,GAAG;IAC9B;;OAEG;IACH,KAAK,EAAE,OAAO;CACf,CAAC;AAEF;;;;;;;;GAQG;AAEH;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,CAAC,OAAO,GAAG;IACf,KAAK,EAAE,qBAAqB;IAC5B,KAAK,EAAE,qBAAqB;CAC7B,CAAC"}
1
+ {"version":3,"file":"createlocaltrack.js","sourceRoot":"","sources":["../lib/createlocaltrack.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEP,IAAA,KAA6C,OAAO,CAAC,kBAAkB,CAAC,EAAtE,iBAAiB,uBAAA,EAAE,mBAAmB,yBAAgC,CAAC;AAE/E;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,IAAI,EAAE,OAAO;IACrC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QACtB,UAAU,EAAE,mBAAmB;QAC/B,QAAQ,EAAE,iBAAiB;KAC5B,EAAE,OAAO,CAAC,CAAC;IAEZ,IAAM,aAAa,GAAG,EAAE,CAAC;IACzB,aAAa,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAC9C,aAAa,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC1C,OAAO,OAAO,CAAC,UAAU,CAAC;IAC1B,OAAO,OAAO,CAAC,QAAQ,CAAC;IAExB,IAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IACpD,OAAO,OAAO,CAAC,iBAAiB,CAAC;IACjC,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAEvE,OAAO,iBAAiB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAA,WAAW,IAAI,OAAA,WAAW,CAAC,CAAC,CAAC,EAAd,CAAc,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,SAAS,qBAAqB,CAAC,OAAO;IACpC,OAAO,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,SAAS,qBAAqB,CAAC,OAAO;IACpC,OAAO,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,2BAA2B;AAC3B,IAAM,uBAAuB,GAAG;IAC9B;;OAEG;IACH,KAAK,EAAE,OAAO;CACf,CAAC;AAEF;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,CAAC,OAAO,GAAG;IACf,KAAK,EAAE,qBAAqB;IAC5B,KAAK,EAAE,qBAAqB;CAC7B,CAAC"}
@@ -75,7 +75,7 @@ var buildLogLevels = require('./util').buildLogLevels;
75
75
  var _a = require('./webrtc'), getUserMedia = _a.getUserMedia, MediaStreamTrack = _a.MediaStreamTrack;
76
76
  var _b = require('./media/track/es5'), LocalAudioTrack = _b.LocalAudioTrack, LocalDataTrack = _b.LocalDataTrack, LocalVideoTrack = _b.LocalVideoTrack;
77
77
  var Log = require('./util/log');
78
- var _c = require('./util/constants'), DEFAULT_LOG_LEVEL = _c.DEFAULT_LOG_LEVEL, DEFAULT_LOGGER_NAME = _c.DEFAULT_LOGGER_NAME;
78
+ var _c = require('./util/constants'), DEFAULT_LOG_LEVEL = _c.DEFAULT_LOG_LEVEL, DEFAULT_LOGGER_NAME = _c.DEFAULT_LOGGER_NAME, INVALID_VALUE = _c.typeErrors.INVALID_VALUE;
79
79
  var workaround180748 = require('./webaudio/workaround180748');
80
80
  // This is used to make out which createLocalTracks() call a particular Log
81
81
  // statement belongs to. Each call to createLocalTracks() increments this
@@ -174,19 +174,31 @@ function createLocalTracks(options) {
174
174
  extraLocalTrackOptions = {
175
175
  audio: typeof fullOptions.audio === 'object' && fullOptions.audio.name
176
176
  ? { name: fullOptions.audio.name }
177
- : {},
177
+ : { defaultDeviceCaptureMode: 'auto' },
178
178
  video: typeof fullOptions.video === 'object' && fullOptions.video.name
179
179
  ? { name: fullOptions.video.name }
180
180
  : {}
181
181
  };
182
182
  extraLocalTrackOptions.audio.isCreatedByCreateLocalTracks = true;
183
183
  extraLocalTrackOptions.video.isCreatedByCreateLocalTracks = true;
184
- if (typeof fullOptions.audio === 'object' && typeof fullOptions.audio.workaroundWebKitBug1208516 === 'boolean') {
185
- extraLocalTrackOptions.audio.workaroundWebKitBug1208516 = fullOptions.audio.workaroundWebKitBug1208516;
186
- }
187
- if (typeof fullOptions.audio === 'object' && 'noiseCancellationOptions' in fullOptions.audio) {
188
- noiseCancellationOptions = fullOptions.audio.noiseCancellationOptions;
189
- delete fullOptions.audio.noiseCancellationOptions;
184
+ if (typeof fullOptions.audio === 'object') {
185
+ if (typeof fullOptions.audio.workaroundWebKitBug1208516 === 'boolean') {
186
+ extraLocalTrackOptions.audio.workaroundWebKitBug1208516 = fullOptions.audio.workaroundWebKitBug1208516;
187
+ }
188
+ if ('noiseCancellationOptions' in fullOptions.audio) {
189
+ noiseCancellationOptions = fullOptions.audio.noiseCancellationOptions;
190
+ delete fullOptions.audio.noiseCancellationOptions;
191
+ }
192
+ if (!('defaultDeviceCaptureMode' in fullOptions.audio)) {
193
+ extraLocalTrackOptions.audio.defaultDeviceCaptureMode = 'auto';
194
+ }
195
+ else if (['auto', 'manual'].every(function (mode) { return mode !== fullOptions.audio.defaultDeviceCaptureMode; })) {
196
+ // eslint-disable-next-line new-cap
197
+ throw INVALID_VALUE('CreateLocalAudioTrackOptions.defaultDeviceCaptureMode', ['auto', 'manual']);
198
+ }
199
+ else {
200
+ extraLocalTrackOptions.audio.defaultDeviceCaptureMode = fullOptions.audio.defaultDeviceCaptureMode;
201
+ }
190
202
  }
191
203
  if (typeof fullOptions.video === 'object' && typeof fullOptions.video.workaroundWebKitBug1208516 === 'boolean') {
192
204
  extraLocalTrackOptions.video.workaroundWebKitBug1208516 = fullOptions.video.workaroundWebKitBug1208516;
@@ -1 +1 @@
1
- {"version":3,"file":"createlocaltracks.js","sourceRoot":"","sources":["../lib/createlocaltracks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createlocaltracks.js","sourceRoot":"","sources":["../lib/createlocaltracks.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
+ var isIOS = require('../../util/browserdetection').isIOS;
17
18
  var AudioTrack = require('./audiotrack');
18
19
  var mixinLocalMediaTrack = require('./localmediatrack');
19
20
  var LocalMediaAudioTrack = mixinLocalMediaTrack(AudioTrack);
@@ -25,6 +26,10 @@ var LocalMediaAudioTrack = mixinLocalMediaTrack(AudioTrack);
25
26
  * {@link LocalAudioTrack#stop}.
26
27
  * @extends AudioTrack
27
28
  * @property {Track.ID} id - The {@link LocalAudioTrack}'s ID
29
+ * @property {boolean} isMuted - Whether or not the audio source has stopped sending samples to the
30
+ * {@link LocalAudioTrack}; This can happen when the microphone is taken over by another application,
31
+ * mainly on mobile devices; When this property toggles, then <code>muted</code> and <code>unmuted</code>
32
+ * events are fired appropriately
28
33
  * @property {boolean} isStopped - Whether or not the {@link LocalAudioTrack} is
29
34
  * stopped
30
35
  * @property {NoiseCancellation?} noiseCancellation - When a LocalAudioTrack is created
@@ -32,8 +37,10 @@ var LocalMediaAudioTrack = mixinLocalMediaTrack(AudioTrack);
32
37
  * to enable or disable the noise cancellation at runtime.
33
38
  * @emits LocalAudioTrack#disabled
34
39
  * @emits LocalAudioTrack#enabled
40
+ * @emits LocalAudioTrack#muted
35
41
  * @emits LocalAudioTrack#started
36
42
  * @emits LocalAudioTrack#stopped
43
+ * @emits LocalAudioTrack#unmuted
37
44
  */
38
45
  var LocalAudioTrack = /** @class */ (function (_super) {
39
46
  __extends(LocalAudioTrack, _super);
@@ -46,13 +53,61 @@ var LocalAudioTrack = /** @class */ (function (_super) {
46
53
  var _this = this;
47
54
  var noiseCancellation = (options === null || options === void 0 ? void 0 : options.noiseCancellation) || null;
48
55
  _this = _super.call(this, mediaStreamTrack, options) || this;
56
+ var log = _this._log;
57
+ var _a = mediaStreamTrack.label, defaultDeviceLabel = _a === void 0 ? '' : _a;
58
+ var _b = mediaStreamTrack.getSettings(), _c = _b.deviceId, defaultDeviceId = _c === void 0 ? '' : _c, _d = _b.groupId, defaultGroupId = _d === void 0 ? '' : _d;
49
59
  Object.defineProperties(_this, {
60
+ _currentDefaultDeviceInfo: {
61
+ value: { deviceId: defaultDeviceId, groupId: defaultGroupId, label: defaultDeviceLabel },
62
+ writable: true
63
+ },
64
+ _defaultDeviceCaptureMode: {
65
+ value: !isIOS()
66
+ && _this._isCreatedByCreateLocalTracks
67
+ && typeof navigator === 'object'
68
+ && typeof navigator.mediaDevices === 'object'
69
+ && typeof navigator.mediaDevices.addEventListener === 'function'
70
+ && typeof navigator.mediaDevices.enumerateDevices === 'function'
71
+ ? (options === null || options === void 0 ? void 0 : options.defaultDeviceCaptureMode) || 'auto'
72
+ : 'manual'
73
+ },
74
+ _onDeviceChange: {
75
+ value: function () {
76
+ navigator.mediaDevices.enumerateDevices().then(function (deviceInfos) {
77
+ // NOTE(mmalavalli): In Chrome, when the default device changes, and we restart the LocalAudioTrack with
78
+ // device ID "default", it will not switch to the new default device unless all LocalAudioTracks capturing
79
+ // from the old default device are stopped. So, we restart the LocalAudioTrack with the actual device ID of
80
+ // the new default device instead.
81
+ var defaultDeviceInfo = deviceInfos.find(function (_a) {
82
+ var deviceId = _a.deviceId, kind = _a.kind;
83
+ return kind === 'audioinput' && deviceId !== 'default';
84
+ });
85
+ if (defaultDeviceInfo && ['deviceId', 'groupId'].some(function (prop) {
86
+ return defaultDeviceInfo[prop] !== _this._currentDefaultDeviceInfo[prop];
87
+ })) {
88
+ log.info('Default device changed, restarting the LocalAudioTrack');
89
+ log.debug("Old default device: \"" + _this._currentDefaultDeviceInfo.deviceId + "\" => \"" + _this._currentDefaultDeviceInfo.label + "\"");
90
+ log.debug("New default device: \"" + defaultDeviceInfo.deviceId + "\" => \"" + defaultDeviceInfo.label + "\"");
91
+ _this._currentDefaultDeviceInfo = defaultDeviceInfo;
92
+ _this._restartDefaultDevice().catch(function (error) { return log.warn("Failed to restart: " + error.message); });
93
+ }
94
+ }, function (error) {
95
+ log.warn("Failed to run enumerateDevices(): " + error.message);
96
+ });
97
+ }
98
+ },
99
+ _restartOnDefaultDeviceChangeCleanup: {
100
+ value: null,
101
+ writable: true
102
+ },
50
103
  noiseCancellation: {
51
104
  enumerable: true,
52
105
  value: noiseCancellation,
53
106
  writable: false
54
107
  },
55
108
  });
109
+ log.debug('defaultDeviceCaptureMode:', _this._defaultDeviceCaptureMode);
110
+ _this._maybeRestartOnDefaultDeviceChange();
56
111
  return _this;
57
112
  }
58
113
  LocalAudioTrack.prototype.toString = function () {
@@ -69,6 +124,51 @@ var LocalAudioTrack = /** @class */ (function (_super) {
69
124
  LocalAudioTrack.prototype._end = function () {
70
125
  return _super.prototype._end.apply(this, arguments);
71
126
  };
127
+ /**
128
+ * @private
129
+ */
130
+ LocalAudioTrack.prototype._maybeRestartOnDefaultDeviceChange = function () {
131
+ var _this = this;
132
+ var _a = this, constraints = _a._constraints, defaultDeviceCaptureMode = _a._defaultDeviceCaptureMode, log = _a._log;
133
+ var mediaStreamTrack = this.noiseCancellation ? this.noiseCancellation.sourceTrack : this.mediaStreamTrack;
134
+ var deviceId = mediaStreamTrack.getSettings().deviceId;
135
+ var isNotEqualToCapturedDeviceIdOrEqualToDefault = function (requestedDeviceId) {
136
+ return requestedDeviceId !== deviceId || requestedDeviceId === 'default';
137
+ };
138
+ var isCapturingFromDefaultDevice = (function checkIfCapturingFromDefaultDevice(deviceIdConstraint) {
139
+ if (deviceIdConstraint === void 0) { deviceIdConstraint = {}; }
140
+ if (typeof deviceIdConstraint === 'string') {
141
+ return isNotEqualToCapturedDeviceIdOrEqualToDefault(deviceIdConstraint);
142
+ }
143
+ else if (Array.isArray(deviceIdConstraint)) {
144
+ return deviceIdConstraint.every(isNotEqualToCapturedDeviceIdOrEqualToDefault);
145
+ }
146
+ else if (deviceIdConstraint.exact) {
147
+ return checkIfCapturingFromDefaultDevice(deviceIdConstraint.exact);
148
+ }
149
+ else if (deviceIdConstraint.ideal) {
150
+ return checkIfCapturingFromDefaultDevice(deviceIdConstraint.ideal);
151
+ }
152
+ return true;
153
+ }(constraints.deviceId));
154
+ if (defaultDeviceCaptureMode === 'auto' && isCapturingFromDefaultDevice) {
155
+ if (!this._restartOnDefaultDeviceChangeCleanup) {
156
+ log.info('LocalAudioTrack will be restarted if the default device changes');
157
+ navigator.mediaDevices.addEventListener('devicechange', this._onDeviceChange);
158
+ this._restartOnDefaultDeviceChangeCleanup = function () {
159
+ log.info('Cleaning up the listener to restart the LocalAudioTrack if the default device changes');
160
+ navigator.mediaDevices.removeEventListener('devicechange', _this._onDeviceChange);
161
+ _this._restartOnDefaultDeviceChangeCleanup = null;
162
+ };
163
+ }
164
+ }
165
+ else {
166
+ log.info('LocalAudioTrack will NOT be restarted if the default device changes');
167
+ if (this._restartOnDefaultDeviceChangeCleanup) {
168
+ this._restartOnDefaultDeviceChangeCleanup();
169
+ }
170
+ }
171
+ };
72
172
  /**
73
173
  * @private
74
174
  */
@@ -83,7 +183,22 @@ var LocalAudioTrack = /** @class */ (function (_super) {
83
183
  return _super.prototype._reacquireTrack.call(this, constraints);
84
184
  };
85
185
  /**
86
- * Disable the {@link LocalAudioTrack}. This is effectively "mute".
186
+ * @private
187
+ */
188
+ LocalAudioTrack.prototype._restartDefaultDevice = function () {
189
+ var _this = this;
190
+ var constraints = Object.assign({}, this._constraints);
191
+ var restartConstraints = Object.assign({}, constraints, { deviceId: this._currentDefaultDeviceInfo.deviceId });
192
+ return this.restart(restartConstraints).then(function () {
193
+ // NOTE(mmalavalli): Since we used the new default device's ID while restarting the LocalAudioTrack,
194
+ // we reset the constraints to the original constraints so that the default device detection logic in
195
+ // _maybeRestartOnDefaultDeviceChange() still works.
196
+ _this._constraints = constraints;
197
+ _this._maybeRestartOnDefaultDeviceChange();
198
+ });
199
+ };
200
+ /**
201
+ * Disable the {@link LocalAudioTrack}. This is equivalent to muting the audio source.
87
202
  * @returns {this}
88
203
  * @fires LocalAudioTrack#disabled
89
204
  */
@@ -91,13 +206,13 @@ var LocalAudioTrack = /** @class */ (function (_super) {
91
206
  return _super.prototype.disable.apply(this, arguments);
92
207
  };
93
208
  /**
94
- * Enable the {@link LocalAudioTrack}. This is effectively "unmute".
209
+ * Enable the {@link LocalAudioTrack}. This is equivalent to unmuting the audio source.
95
210
  * @returns {this}
96
211
  * @fires LocalAudioTrack#enabled
97
212
  */ /**
98
- * Enable or disable the {@link LocalAudioTrack}. This is effectively "unmute"
99
- * or "mute".
100
- * @param {boolean} [enabled] - Specify false to mute the
213
+ * Enable or disable the {@link LocalAudioTrack}. This is equivalent to unmuting or muting
214
+ * the audio source respectively.
215
+ * @param {boolean} [enabled] - Specify false to disable the
101
216
  * {@link LocalAudioTrack}
102
217
  * @returns {this}
103
218
  * @fires LocalAudioTrack#disabled
@@ -153,21 +268,30 @@ var LocalAudioTrack = /** @class */ (function (_super) {
153
268
  if (this.noiseCancellation) {
154
269
  this.noiseCancellation.stop();
155
270
  }
271
+ if (this._restartOnDefaultDeviceChangeCleanup) {
272
+ this._restartOnDefaultDeviceChangeCleanup();
273
+ }
156
274
  return _super.prototype.stop.apply(this, arguments);
157
275
  };
158
276
  return LocalAudioTrack;
159
277
  }(LocalMediaAudioTrack));
160
278
  /**
161
- * The {@link LocalAudioTrack} was disabled, i.e. "muted".
279
+ * The {@link LocalAudioTrack} was disabled, i.e. the audio source was muted by the user.
162
280
  * @param {LocalAudioTrack} track - The {@link LocalAudioTrack} that was
163
281
  * disabled
164
282
  * @event LocalAudioTrack#disabled
165
283
  */
166
284
  /**
167
- * The {@link LocalAudioTrack} was enabled, i.e. "unmuted".
285
+ * The {@link LocalAudioTrack} was enabled, i.e. the audio source was unmuted by the user.
168
286
  * @param {LocalAudioTrack} track - The {@link LocalAudioTrack} that was enabled
169
287
  * @event LocalAudioTrack#enabled
170
288
  */
289
+ /**
290
+ * The {@link LocalAudioTrack} was muted because the audio source stopped sending samples, most
291
+ * likely due to another application taking said audio source, especially on mobile devices.
292
+ * @param {LocalAudioTrack} track - The {@link LocalAudioTrack} that was muted
293
+ * @event LocalAudioTrack#muted
294
+ */
171
295
  /**
172
296
  * The {@link LocalAudioTrack} started. This means there is enough audio data to
173
297
  * begin playback.
@@ -181,5 +305,14 @@ var LocalAudioTrack = /** @class */ (function (_super) {
181
305
  * @param {LocalAudioTrack} track - The {@link LocalAudioTrack} that stopped
182
306
  * @event LocalAudioTrack#stopped
183
307
  */
308
+ /**
309
+ * The {@link LocalAudioTrack} was unmuted because the audio source resumed sending samples,
310
+ * most likely due to the application that took over the said audio source has released it
311
+ * back to the application, especially on mobile devices. This event is also fired when
312
+ * {@link LocalAudioTrack#restart} is called on a muted {@link LocalAudioTrack} with a
313
+ * new audio source.
314
+ * @param {LocalAudioTrack} track - The {@link LocalAudioTrack} that was unmuted
315
+ * @event LocalAudioTrack#unmuted
316
+ */
184
317
  module.exports = LocalAudioTrack;
185
318
  //# sourceMappingURL=localaudiotrack.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"localaudiotrack.js","sourceRoot":"","sources":["../../../lib/media/track/localaudiotrack.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;AAEb,IAAM,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAC3C,IAAM,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAE1D,IAAM,oBAAoB,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;AAE9D;;;;;;;;;;;;;;;;;GAiBG;AACH;IAA8B,mCAAoB;IAChD;;;;OAIG;IACH,yBAAY,gBAAgB,EAAE,OAAO;QAArC,iBAWC;QAVC,IAAM,iBAAiB,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,KAAI,IAAI,CAAC;QAC7D,QAAA,kBAAM,gBAAgB,EAAE,OAAO,CAAC,SAAC;QAEjC,MAAM,CAAC,gBAAgB,CAAC,KAAI,EAAE;YAC5B,iBAAiB,EAAE;gBACjB,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,iBAAiB;gBACxB,QAAQ,EAAE,KAAK;aAChB;SACF,CAAC,CAAC;;IACL,CAAC;IAED,kCAAQ,GAAR;QACE,OAAO,uBAAqB,IAAI,CAAC,WAAW,UAAK,IAAI,CAAC,EAAE,MAAG,CAAC;IAC9D,CAAC;IAED,gCAAM,GAAN,UAAO,EAAE;QACP,EAAE,GAAG,iBAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACjC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,8BAAI,GAAJ;QACE,OAAO,iBAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,yCAAe,GAAf,UAAgB,WAAW;QAA3B,iBASC;QARC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC;gBAC3C,OAAO,iBAAM,eAAe,CAAC,IAAI,CAAC,KAAI,EAAE,WAAW,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,iBAAM,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,iCAAO,GAAP;QACE,OAAO,iBAAM,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED;;;;MAIE,CAAA;;;;;;;;OAQC;IACH,gCAAM,GAAN;QACE,OAAO,iBAAM,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,iCAAO,GAAP;QACE,OAAO,iBAAM,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,8BAAI,GAAJ;QACE,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;SAC/B;QACD,OAAO,iBAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IACH,sBAAC;AAAD,CAAC,AA9HD,CAA8B,oBAAoB,GA8HjD;AAED;;;;;GAKG;AAEH;;;;GAIG;AAEH;;;;;GAKG;AAEH;;;;;;GAMG;AAEH,MAAM,CAAC,OAAO,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"localaudiotrack.js","sourceRoot":"","sources":["../../../lib/media/track/localaudiotrack.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;AAEL,IAAA,KAAK,GAAK,OAAO,CAAC,6BAA6B,CAAC,MAA3C,CAA4C;AACzD,IAAM,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAC3C,IAAM,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAE1D,IAAM,oBAAoB,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH;IAA8B,mCAAoB;IAChD;;;;OAIG;IACH,yBAAY,gBAAgB,EAAE,OAAO;QAArC,iBA6DC;QA5DC,IAAM,iBAAiB,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,KAAI,IAAI,CAAC;QAC7D,QAAA,kBAAM,gBAAgB,EAAE,OAAO,CAAC,SAAC;QAEzB,IAAM,GAAG,GAAK,KAAI,KAAT,CAAU;QACnB,IAAA,KAAmC,gBAAgB,MAArB,EAAvB,kBAAkB,mBAAG,EAAE,KAAA,CAAsB;QACtD,IAAA,KAAmE,gBAAgB,CAAC,WAAW,EAAE,EAA/F,gBAA8B,EAApB,eAAe,mBAAG,EAAE,KAAA,EAAE,eAA4B,EAAnB,cAAc,mBAAG,EAAE,KAAmC,CAAC;QAExG,MAAM,CAAC,gBAAgB,CAAC,KAAI,EAAE;YAC5B,yBAAyB,EAAE;gBACzB,KAAK,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,EAAE;gBACxF,QAAQ,EAAE,IAAI;aACf;YACD,yBAAyB,EAAE;gBACzB,KAAK,EAAE,CAAC,KAAK,EAAE;uBACV,KAAI,CAAC,6BAA6B;uBAClC,OAAO,SAAS,KAAK,QAAQ;uBAC7B,OAAO,SAAS,CAAC,YAAY,KAAK,QAAQ;uBAC1C,OAAO,SAAS,CAAC,YAAY,CAAC,gBAAgB,KAAK,UAAU;uBAC7D,OAAO,SAAS,CAAC,YAAY,CAAC,gBAAgB,KAAK,UAAU;oBAChE,CAAC,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,wBAAwB,KAAI,MAAM;oBAC7C,CAAC,CAAC,QAAQ;aACb;YACD,eAAe,EAAE;gBACf,KAAK,EAAE;oBACL,SAAS,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,UAAA,WAAW;wBACxD,wGAAwG;wBACxG,0GAA0G;wBAC1G,2GAA2G;wBAC3G,kCAAkC;wBAClC,IAAM,iBAAiB,GAAG,WAAW,CAAC,IAAI,CAAC,UAAC,EAAkB;gCAAhB,QAAQ,cAAA,EAAE,IAAI,UAAA;4BAC1D,OAAO,IAAI,KAAK,YAAY,IAAI,QAAQ,KAAK,SAAS,CAAC;wBACzD,CAAC,CAAC,CAAC;wBAEH,IAAI,iBAAiB,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,UAAA,IAAI;4BACxD,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,KAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;wBAC1E,CAAC,CAAC,EAAE;4BACF,GAAG,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;4BACnE,GAAG,CAAC,KAAK,CAAC,2BAAwB,KAAI,CAAC,yBAAyB,CAAC,QAAQ,gBAAS,KAAI,CAAC,yBAAyB,CAAC,KAAK,OAAG,CAAC,CAAC;4BAC3H,GAAG,CAAC,KAAK,CAAC,2BAAwB,iBAAiB,CAAC,QAAQ,gBAAS,iBAAiB,CAAC,KAAK,OAAG,CAAC,CAAC;4BACjG,KAAI,CAAC,yBAAyB,GAAG,iBAAiB,CAAC;4BACnD,KAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,UAAA,KAAK,IAAI,OAAA,GAAG,CAAC,IAAI,CAAC,wBAAsB,KAAK,CAAC,OAAS,CAAC,EAA/C,CAA+C,CAAC,CAAC;yBAC9F;oBACH,CAAC,EAAE,UAAA,KAAK;wBACN,GAAG,CAAC,IAAI,CAAC,uCAAqC,KAAK,CAAC,OAAS,CAAC,CAAC;oBACjE,CAAC,CAAC,CAAC;gBACL,CAAC;aACF;YACD,oCAAoC,EAAE;gBACpC,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,IAAI;aACf;YACD,iBAAiB,EAAE;gBACjB,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,iBAAiB;gBACxB,QAAQ,EAAE,KAAK;aAChB;SACF,CAAC,CAAC;QAEH,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAI,CAAC,yBAAyB,CAAC,CAAC;QACvE,KAAI,CAAC,kCAAkC,EAAE,CAAC;;IAC5C,CAAC;IAED,kCAAQ,GAAR;QACE,OAAO,uBAAqB,IAAI,CAAC,WAAW,UAAK,IAAI,CAAC,EAAE,MAAG,CAAC;IAC9D,CAAC;IAED,gCAAM,GAAN,UAAO,EAAE;QACP,EAAE,GAAG,iBAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACjC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,8BAAI,GAAJ;QACE,OAAO,iBAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,4DAAkC,GAAlC;QAAA,iBAsCC;QArCO,IAAA,KAAgG,IAAI,EAApF,WAAW,kBAAA,EAA6B,wBAAwB,+BAAA,EAAQ,GAAG,UAAS,CAAC;QAC3G,IAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACrG,IAAA,QAAQ,GAAK,gBAAgB,CAAC,WAAW,EAAE,SAAnC,CAAoC;QAEpD,IAAM,4CAA4C,GAAG,UAAA,iBAAiB;YACpE,OAAO,iBAAiB,KAAK,QAAQ,IAAI,iBAAiB,KAAK,SAAS,CAAC;QAC3E,CAAC,CAAC;QAEF,IAAM,4BAA4B,GAAG,CAAC,SAAS,iCAAiC,CAAC,kBAAuB;YAAvB,mCAAA,EAAA,uBAAuB;YACtG,IAAI,OAAO,kBAAkB,KAAK,QAAQ,EAAE;gBAC1C,OAAO,4CAA4C,CAAC,kBAAkB,CAAC,CAAC;aACzE;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE;gBAC5C,OAAO,kBAAkB,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC/E;iBAAM,IAAI,kBAAkB,CAAC,KAAK,EAAE;gBACnC,OAAO,iCAAiC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;aACpE;iBAAM,IAAI,kBAAkB,CAAC,KAAK,EAAE;gBACnC,OAAO,iCAAiC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;aACpE;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEzB,IAAI,wBAAwB,KAAK,MAAM,IAAI,4BAA4B,EAAE;YACvE,IAAI,CAAC,IAAI,CAAC,oCAAoC,EAAE;gBAC9C,GAAG,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;gBAC5E,SAAS,CAAC,YAAY,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC9E,IAAI,CAAC,oCAAoC,GAAG;oBAC1C,GAAG,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAC;oBAClG,SAAS,CAAC,YAAY,CAAC,mBAAmB,CAAC,cAAc,EAAE,KAAI,CAAC,eAAe,CAAC,CAAC;oBACjF,KAAI,CAAC,oCAAoC,GAAG,IAAI,CAAC;gBACnD,CAAC,CAAC;aACH;SACF;aAAM;YACL,GAAG,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;YAChF,IAAI,IAAI,CAAC,oCAAoC,EAAE;gBAC7C,IAAI,CAAC,oCAAoC,EAAE,CAAC;aAC7C;SACF;IACH,CAAC;IAED;;OAEG;IACH,yCAAe,GAAf,UAAgB,WAAW;QAA3B,iBASC;QARC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC;gBAC3C,OAAO,iBAAM,eAAe,CAAC,IAAI,CAAC,KAAI,EAAE,WAAW,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,iBAAM,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,+CAAqB,GAArB;QAAA,iBAUC;QATC,IAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACzD,IAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjH,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC;YAC3C,oGAAoG;YACpG,qGAAqG;YACrG,oDAAoD;YACpD,KAAI,CAAC,YAAY,GAAG,WAAW,CAAC;YAChC,KAAI,CAAC,kCAAkC,EAAE,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,iCAAO,GAAP;QACE,OAAO,iBAAM,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED;;;;MAIE,CAAA;;;;;;;;OAQC;IACH,gCAAM,GAAN;QACE,OAAO,iBAAM,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,iCAAO,GAAP;QACE,OAAO,iBAAM,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,8BAAI,GAAJ;QACE,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;SAC/B;QACD,IAAI,IAAI,CAAC,oCAAoC,EAAE;YAC7C,IAAI,CAAC,oCAAoC,EAAE,CAAC;SAC7C;QACD,OAAO,iBAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IACH,sBAAC;AAAD,CAAC,AA7OD,CAA8B,oBAAoB,GA6OjD;AAED;;;;;GAKG;AAEH;;;;GAIG;AAEH;;;;;GAKG;AAEH;;;;;GAKG;AAEH;;;;;;GAMG;AAEH;;;;;;;;GAQG;AAEH,MAAM,CAAC,OAAO,GAAG,eAAe,CAAC"}
@@ -16,8 +16,8 @@ var __extends = (this && this.__extends) || (function () {
16
16
  };
17
17
  })();
18
18
  var getUserMedia = require('../../webrtc').getUserMedia;
19
- var _a = require('../../webrtc/util'), guessBrowser = _a.guessBrowser, isIOSChrome = _a.isIOSChrome;
20
- var _b = require('../../util'), capitalize = _b.capitalize, defer = _b.defer, isUserMediaTrack = _b.isUserMediaTrack, waitForSometime = _b.waitForSometime, waitForEvent = _b.waitForEvent;
19
+ var isIOS = require('../../util/browserdetection').isIOS;
20
+ var _a = require('../../util'), capitalize = _a.capitalize, defer = _a.defer, isUserMediaTrack = _a.isUserMediaTrack, waitForSometime = _a.waitForSometime, waitForEvent = _a.waitForEvent;
21
21
  var ILLEGAL_INVOKE = require('../../util/constants').typeErrors.ILLEGAL_INVOKE;
22
22
  var detectSilentAudio = require('../../util/detectsilentaudio');
23
23
  var detectSilentVideo = require('../../util/detectsilentvideo');
@@ -32,7 +32,9 @@ function mixinLocalMediaTrack(AudioOrVideoTrack) {
32
32
  * enabled and disabled with {@link LocalMediaTrack#enable} and
33
33
  * {@link LocalMediaTrack#disable} or stopped completely with
34
34
  * {@link LocalMediaTrack#stop}.
35
+ * @emits LocalMediaTrack#muted
35
36
  * @emits LocalMediaTrack#stopped
37
+ * @emits LocalMediaTrack#unmuted
36
38
  */
37
39
  return /** @class */ (function (_super) {
38
40
  __extends(LocalMediaTrack, _super);
@@ -43,10 +45,7 @@ function mixinLocalMediaTrack(AudioOrVideoTrack) {
43
45
  */
44
46
  function LocalMediaTrack(mediaStreamTrack, options) {
45
47
  var _this = this;
46
- // NOTE(mpatwardhan): by default workaround for WebKitBug1208516 will be enabled on Safari browsers
47
- // although the bug is seen mainly on iOS devices, we do not have a reliable way to tell iOS from MacOs
48
- // userAgent on iOS pretends its macOs if Safari is set to request desktop pages.
49
- var workaroundWebKitBug1208516 = (guessBrowser() === 'safari' || isIOSChrome())
48
+ var workaroundWebKitBug1208516 = isIOS()
50
49
  && isUserMediaTrack(mediaStreamTrack)
51
50
  && typeof document === 'object'
52
51
  && typeof document.addEventListener === 'function'
@@ -73,6 +72,12 @@ function mixinLocalMediaTrack(AudioOrVideoTrack) {
73
72
  _gUMSilentTrackWorkaround: {
74
73
  value: options.gUMSilentTrackWorkaround
75
74
  },
75
+ _eventsToReemitters: {
76
+ value: new Map([
77
+ ['muted', function () { return _this.emit('muted', _this); }],
78
+ ['unmuted', function () { return _this.emit('unmuted', _this); }]
79
+ ])
80
+ },
76
81
  _workaroundWebKitBug1208516: {
77
82
  value: options.workaroundWebKitBug1208516
78
83
  },
@@ -100,6 +105,12 @@ function mixinLocalMediaTrack(AudioOrVideoTrack) {
100
105
  return mediaTrackSender.enabled;
101
106
  }
102
107
  },
108
+ isMuted: {
109
+ enumerable: true,
110
+ get: function () {
111
+ return mediaTrackSender.muted;
112
+ }
113
+ },
103
114
  isStopped: {
104
115
  enumerable: true,
105
116
  get: function () {
@@ -112,17 +123,20 @@ function mixinLocalMediaTrack(AudioOrVideoTrack) {
112
123
  if (_this._workaroundWebKitBug1208516) {
113
124
  _this._workaroundWebKitBug1208516Cleanup = restartWhenInadvertentlyStopped(_this);
114
125
  }
126
+ _this._reemitTrackSenderEvents();
115
127
  return _this;
116
128
  }
117
129
  /**
118
130
  * @private
119
131
  */
120
132
  LocalMediaTrack.prototype._end = function () {
133
+ var _this = this;
121
134
  if (this._didCallEnd) {
122
135
  return;
123
136
  }
124
137
  _super.prototype._end.call(this);
125
138
  this._didCallEnd = true;
139
+ this._eventsToReemitters.forEach(function (reemitter, event) { return _this._trackSender.removeListener(event, reemitter); });
126
140
  this.emit('stopped', this);
127
141
  };
128
142
  /**
@@ -132,6 +146,9 @@ function mixinLocalMediaTrack(AudioOrVideoTrack) {
132
146
  if (this._didCallEnd) {
133
147
  this._didCallEnd = false;
134
148
  }
149
+ if (this._eventsToReemitters) {
150
+ this._reemitTrackSenderEvents();
151
+ }
135
152
  _super.prototype._initialize.call(this);
136
153
  };
137
154
  /**
@@ -153,6 +170,15 @@ function mixinLocalMediaTrack(AudioOrVideoTrack) {
153
170
  return mediaStream.getTracks()[0];
154
171
  });
155
172
  };
173
+ /**
174
+ * @private
175
+ */
176
+ LocalMediaTrack.prototype._reemitTrackSenderEvents = function () {
177
+ var _this = this;
178
+ this._eventsToReemitters.forEach(function (reemitter, event) { return _this._trackSender.on(event, reemitter); });
179
+ this._trackSender.dequeue('muted');
180
+ this._trackSender.dequeue('unmuted');
181
+ };
156
182
  /**
157
183
  * @private
158
184
  */
@@ -1 +1 @@
1
- {"version":3,"file":"localmediatrack.js","sourceRoot":"","sources":["../../../lib/media/track/localmediatrack.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localmediatrack.js","sourceRoot":"","sources":["../../../lib/media/track/localmediatrack.js"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
- var _a = require('../../webrtc/util'), guessBrowser = _a.guessBrowser, isIOSChrome = _a.isIOSChrome;
17
+ var isIOS = require('../../util/browserdetection').isIOS;
18
18
  var detectSilentVideo = require('../../util/detectsilentvideo');
19
19
  var mixinLocalMediaTrack = require('./localmediatrack');
20
20
  var VideoTrack = require('./videotrack');
@@ -28,12 +28,18 @@ var LocalMediaVideoTrack = mixinLocalMediaTrack(VideoTrack);
28
28
  * {@link LocalVideoTrack#stop}.
29
29
  * @extends VideoTrack
30
30
  * @property {Track.ID} id - The {@link LocalVideoTrack}'s ID
31
+ * @property {boolean} isMuted - Whether or not the video source has stopped sending frames to the
32
+ * {@link LocalVideoTrack}; This can happen when the camera is taken over by another application,
33
+ * mainly on mobile devices; When this property toggles, then <code>muted</code> and <code>unmuted</code>
34
+ * events are fired appropriately
31
35
  * @property {boolean} isStopped - Whether or not the {@link LocalVideoTrack} is
32
36
  * stopped
33
37
  * @emits LocalVideoTrack#disabled
34
38
  * @emits LocalVideoTrack#enabled
39
+ * @emits LocalVideoTrack#muted
35
40
  * @emits LocalVideoTrack#started
36
41
  * @emits LocalVideoTrack#stopped
42
+ * @emits LocalVideoTrack#unmuted
37
43
  */
38
44
  var LocalVideoTrack = /** @class */ (function (_super) {
39
45
  __extends(LocalVideoTrack, _super);
@@ -45,7 +51,7 @@ var LocalVideoTrack = /** @class */ (function (_super) {
45
51
  function LocalVideoTrack(mediaStreamTrack, options) {
46
52
  var _this = this;
47
53
  options = Object.assign({
48
- workaroundSilentLocalVideo: (guessBrowser() === 'safari' || isIOSChrome())
54
+ workaroundSilentLocalVideo: isIOS()
49
55
  && isUserMediaTrack(mediaStreamTrack)
50
56
  && typeof document !== 'undefined'
51
57
  && typeof document.createElement === 'function'
@@ -160,8 +166,8 @@ var LocalVideoTrack = /** @class */ (function (_super) {
160
166
  return result;
161
167
  };
162
168
  /**
163
- * Disable the {@link LocalVideoTrack}. This is effectively "pause".
164
- * If a {@link VideoProcessor} is added, then `processedTrack` is disabled as well.
169
+ * Disable the {@link LocalVideoTrack}. This is equivalent to pausing a video source.
170
+ * If a {@link VideoProcessor} is added, then <code>processedTrack</code> is also disabled.
165
171
  * @returns {this}
166
172
  * @fires VideoTrack#disabled
167
173
  */
@@ -173,15 +179,15 @@ var LocalVideoTrack = /** @class */ (function (_super) {
173
179
  return result;
174
180
  };
175
181
  /**
176
- * Enable the {@link LocalVideoTrack}. This is effectively "unpause".
177
- * If a {@link VideoProcessor} is added, then `processedTrack` is enabled as well.
182
+ * Enable the {@link LocalVideoTrack}. This is equivalent to unpausing the video source.
183
+ * If a {@link VideoProcessor} is added, then <code>processedTrack</code> is also enabled.
178
184
  * @returns {this}
179
185
  * @fires VideoTrack#enabled
180
186
  */ /**
181
- * Enable or disable the {@link LocalVideoTrack}. This is effectively "unpause"
182
- * or "pause". If a {@link VideoProcessor} is added,
183
- * then `processedTrack` is enabled or disabled as well.
184
- * @param {boolean} [enabled] - Specify false to pause the
187
+ * Enable or disable the {@link LocalVideoTrack}. This is equivalent to unpausing or pausing
188
+ * the video source respectively. If a {@link VideoProcessor} is added, then <code>processedTrack</code>
189
+ * is also enabled or disabled.
190
+ * @param {boolean} [enabled] - Specify false to disable the
185
191
  * {@link LocalVideoTrack}
186
192
  * @returns {this}
187
193
  * @fires VideoTrack#disabled
@@ -319,16 +325,22 @@ function workaroundSilentLocalVideo(localVideoTrack, doc) {
319
325
  };
320
326
  }
321
327
  /**
322
- * The {@link LocalVideoTrack} was disabled, i.e. "muted".
328
+ * The {@link LocalVideoTrack} was disabled, i.e. the video source was paused by the user.
323
329
  * @param {LocalVideoTrack} track - The {@link LocalVideoTrack} that was
324
330
  * disabled
325
331
  * @event LocalVideoTrack#disabled
326
332
  */
327
333
  /**
328
- * The {@link LocalVideoTrack} was enabled, i.e. "unmuted".
334
+ * The {@link LocalVideoTrack} was enabled, i.e. the video source was unpaused by the user.
329
335
  * @param {LocalVideoTrack} track - The {@link LocalVideoTrack} that was enabled
330
336
  * @event LocalVideoTrack#enabled
331
337
  */
338
+ /**
339
+ * The {@link LocalVideoTrack} was muted because the video source stopped sending frames, most
340
+ * likely due to another application taking said video source, especially on mobile devices.
341
+ * @param {LocalVideoTrack} track - The {@link LocalVideoTrack} that was muted
342
+ * @event LocalVideoTrack#muted
343
+ */
332
344
  /**
333
345
  * The {@link LocalVideoTrack} started. This means there is enough video data
334
346
  * to begin playback.
@@ -342,5 +354,14 @@ function workaroundSilentLocalVideo(localVideoTrack, doc) {
342
354
  * @param {LocalVideoTrack} track - The {@link LocalVideoTrack} that stopped
343
355
  * @event LocalVideoTrack#stopped
344
356
  */
357
+ /**
358
+ * The {@link LocalVideoTrack} was unmuted because the video source resumed sending frames,
359
+ * most likely due to the application that took over the said video source has released it
360
+ * back to the application, especially on mobile devices. This event is also fired when
361
+ * {@link LocalVideoTrack#restart} is called on a muted {@link LocalVideoTrack} with a
362
+ * new video source.
363
+ * @param {LocalVideoTrack} track - The {@link LocalVideoTrack} that was unmuted
364
+ * @event LocalVideoTrack#unmuted
365
+ */
345
366
  module.exports = LocalVideoTrack;
346
367
  //# sourceMappingURL=localvideotrack.js.map