twilio-video 2.22.2 → 2.24.1

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 (63) hide show
  1. package/CHANGELOG.md +72 -1
  2. package/README.md +1 -1
  3. package/dist/twilio-video.js +767 -204
  4. package/dist/twilio-video.min.js +21 -20
  5. package/es5/connect.js +1 -1
  6. package/es5/connect.js.map +1 -1
  7. package/es5/createlocaltrack.js +38 -8
  8. package/es5/createlocaltrack.js.map +1 -1
  9. package/es5/createlocaltracks.js +36 -11
  10. package/es5/createlocaltracks.js.map +1 -1
  11. package/es5/index.js +1 -1
  12. package/es5/index.js.map +1 -1
  13. package/es5/localparticipant.js +10 -1
  14. package/es5/localparticipant.js.map +1 -1
  15. package/es5/media/track/localaudiotrack.js +30 -1
  16. package/es5/media/track/localaudiotrack.js.map +1 -1
  17. package/es5/media/track/localvideotrack.js +1 -1
  18. package/es5/media/track/localvideotrack.js.map +1 -1
  19. package/es5/media/track/noisecancellationimpl.js +228 -0
  20. package/es5/media/track/noisecancellationimpl.js.map +1 -0
  21. package/es5/noisecancellationadapter.js +155 -0
  22. package/es5/noisecancellationadapter.js.map +1 -0
  23. package/es5/preflight/preflighttest.js +2 -2
  24. package/es5/preflight/preflighttest.js.map +1 -1
  25. package/es5/room.js +12 -0
  26. package/es5/room.js.map +1 -1
  27. package/es5/signaling/localparticipant.js +4 -2
  28. package/es5/signaling/localparticipant.js.map +1 -1
  29. package/es5/signaling/v2/cancelableroomsignalingpromise.js +0 -2
  30. package/es5/signaling/v2/cancelableroomsignalingpromise.js.map +1 -1
  31. package/es5/signaling/v2/localparticipant.js +16 -4
  32. package/es5/signaling/v2/localparticipant.js.map +1 -1
  33. package/es5/signaling/v2/localtrackpublication.js +12 -3
  34. package/es5/signaling/v2/localtrackpublication.js.map +1 -1
  35. package/es5/signaling/v2/room.js +8 -1
  36. package/es5/signaling/v2/room.js.map +1 -1
  37. package/es5/vendor/dynamicimport.js +44 -0
  38. package/es5/vendor/dynamicimport.js.map +1 -0
  39. package/karma/makeconf.js +11 -1
  40. package/lib/connect.js +2 -1
  41. package/lib/createlocaltrack.js +41 -8
  42. package/lib/createlocaltracks.ts +35 -11
  43. package/lib/index.ts +5 -3
  44. package/lib/localparticipant.js +10 -1
  45. package/lib/media/track/localaudiotrack.js +30 -0
  46. package/lib/media/track/localvideotrack.js +1 -1
  47. package/lib/media/track/noisecancellationimpl.ts +176 -0
  48. package/lib/noisecancellationadapter.ts +134 -0
  49. package/lib/preflight/preflighttest.ts +1 -1
  50. package/lib/room.js +13 -0
  51. package/lib/signaling/localparticipant.js +3 -2
  52. package/lib/signaling/v2/cancelableroomsignalingpromise.js +0 -3
  53. package/lib/signaling/v2/localparticipant.js +17 -4
  54. package/lib/signaling/v2/localtrackpublication.js +14 -3
  55. package/lib/signaling/v2/room.js +13 -1
  56. package/lib/vendor/dynamicimport.js +44 -0
  57. package/package.json +2 -2
  58. package/tsconfig.json +1 -0
  59. package/tsdef/AudioProcessor.d.ts +65 -0
  60. package/tsdef/LocalAudioTrack.d.ts +2 -0
  61. package/tsdef/LocalTrackOptions.d.ts +1 -1
  62. package/tsdef/index.d.ts +7 -2
  63. package/tsdef/types.d.ts +23 -2
@@ -0,0 +1,65 @@
1
+ import { NoiseCancellationVendor } from './types';
2
+
3
+ export interface AudioProcessor {
4
+ /**
5
+ * @property {NoiseCancellationVendor} vendor
6
+ */
7
+ vendor: NoiseCancellationVendor;
8
+
9
+ /**
10
+ * connects and cleans given stream
11
+ * @returns {MediaStreamTrack} clean track
12
+ */
13
+ connect: (sourceTrack: MediaStreamTrack) => MediaStreamTrack
14
+
15
+ /**
16
+ * checks if AudioProcessor is currently enabled
17
+ * @returns {boolean} true if audio processor is enabled.
18
+ */
19
+ isEnabled: () => boolean;
20
+
21
+ /**
22
+ * checks if AudioProcessor is initialized (not destroyed)
23
+ * @returns {boolean} true if audio processor is initialized.
24
+ */
25
+ isInitialized(): boolean;
26
+
27
+ /**
28
+ * checks if AudioProcessor is connected to a stream
29
+ * @returns {boolean} true if a stream is connected.
30
+ */
31
+ isConnected(): boolean;
32
+
33
+ /**
34
+ * enables noise cancellation.
35
+ * @returns {void}
36
+ */
37
+ enable: () => void;
38
+
39
+ /**
40
+ * disables noise cancellation.
41
+ * @returns {void}
42
+ */
43
+ disable: () => void;
44
+
45
+ /**
46
+ * stops processing previously connected stream
47
+ * @returns {void}
48
+ */
49
+ disconnect: () => void;
50
+
51
+ /**
52
+ * destroys the processor freeing up any resources
53
+ * @returns {void}
54
+ */
55
+ destroy:() => void;
56
+
57
+ /**
58
+ * enables/disables logging
59
+ * @param {boolean} [enable] - Specify true to enable logging
60
+ * @returns {void}
61
+ */
62
+ setLogging:(enable: boolean) => void;
63
+ }
64
+
65
+
@@ -1,5 +1,6 @@
1
1
  import { AudioTrack } from './AudioTrack';
2
2
  import { LocalTrackOptions } from './LocalTrackOptions';
3
+ import { NoiseCancellation } from './types';
3
4
  import { Track } from './Track';
4
5
 
5
6
  export class LocalAudioTrack extends AudioTrack {
@@ -7,6 +8,7 @@ export class LocalAudioTrack extends AudioTrack {
7
8
 
8
9
  id: Track.ID;
9
10
  isStopped: boolean;
11
+ noiseCancellation?: NoiseCancellation;
10
12
 
11
13
  disable(): this;
12
14
  enable(enabled?: boolean): this;
@@ -4,7 +4,7 @@ export interface LocalTrackOptions {
4
4
  /**
5
5
  * @deprecated
6
6
  */
7
- logLevel: LogLevel | LogLevels;
7
+ logLevel?: LogLevel | LogLevels;
8
8
  name?: string;
9
9
  workaroundWebKitBug1208516?: boolean
10
10
  }
package/tsdef/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { CancelablePromise, ConnectOptions, CreateLocalTrackOptions, CreateLocalTracksOptions, LocalTrack } from './types';
1
+
2
+ import { CancelablePromise, ConnectOptions, CreateLocalAudioTrackOptions, CreateLocalTrackOptions, CreateLocalTracksOptions, LocalTrack } from './types';
2
3
  import { PreflightOptions, PreflightTestReport } from './PreflightTypes';
3
4
  import { LocalAudioTrack } from './LocalAudioTrack';
4
5
  import { LocalVideoTrack } from './LocalVideoTrack';
@@ -11,7 +12,7 @@ export const isSupported: boolean;
11
12
  export const version:string;
12
13
  export const Logger: Log.RootLogger;
13
14
  export function connect(token: string, options?: ConnectOptions): CancelablePromise<Room>;
14
- export function createLocalAudioTrack(options?: CreateLocalTrackOptions): Promise<LocalAudioTrack>;
15
+ export function createLocalAudioTrack(options?: CreateLocalTracksOptions|CreateLocalAudioTrackOptions): Promise<LocalAudioTrack>;
15
16
  export function createLocalTracks(options?: CreateLocalTracksOptions): Promise<LocalTrack[]>;
16
17
  export function createLocalVideoTrack(options?: CreateLocalTrackOptions): Promise<LocalVideoTrack>;
17
18
  export function runPreflight(token: string, options?: PreflightOptions): PreflightTest;
@@ -55,6 +56,7 @@ export {
55
56
  DataTrack,
56
57
  DataTrackPublication,
57
58
  EncodingParameters,
59
+ CreateLocalAudioTrackOptions,
58
60
  LocalAudioTrackStats,
59
61
  LocalTrack,
60
62
  LocalTrackPublishOptions,
@@ -72,6 +74,9 @@ export {
72
74
  NetworkQualitySendOrRecvStats,
73
75
  NetworkQualityStats,
74
76
  NetworkQualityVerbosity,
77
+ NoiseCancellation,
78
+ NoiseCancellationOptions,
79
+ NoiseCancellationVendor,
75
80
  OpusCodecSettings,
76
81
  RemoteAudioTrackStats,
77
82
  RemoteTrack,
package/tsdef/types.d.ts CHANGED
@@ -166,8 +166,29 @@ export interface CreateLocalTrackOptions extends MediaTrackConstraints {
166
166
  workaroundWebKitBug1208516?: boolean;
167
167
  }
168
168
 
169
+
170
+ export type NoiseCancellationVendor = 'krisp' | 'rnnoise';
171
+
172
+ export interface NoiseCancellation {
173
+ readonly vendor: NoiseCancellationVendor;
174
+ readonly sourceTrack: MediaStreamTrack;
175
+ readonly isEnabled: boolean;
176
+
177
+ enable: () => Promise<void>;
178
+ disable: () => Promise<void>;
179
+ }
180
+
181
+ export interface NoiseCancellationOptions {
182
+ sdkAssetsPath: string;
183
+ vendor: NoiseCancellationVendor;
184
+ }
185
+
186
+ export interface CreateLocalAudioTrackOptions extends CreateLocalTrackOptions {
187
+ noiseCancellationOptions?: NoiseCancellationOptions;
188
+ }
189
+
169
190
  export interface ConnectOptions {
170
- audio?: boolean | CreateLocalTrackOptions;
191
+ audio?: boolean | CreateLocalTrackOptions| CreateLocalAudioTrackOptions;
171
192
  automaticSubscription?: boolean;
172
193
  bandwidthProfile?: BandwidthProfileOptions;
173
194
  dominantSpeaker?: boolean;
@@ -205,7 +226,7 @@ export interface ConnectOptions {
205
226
  }
206
227
 
207
228
  export interface CreateLocalTracksOptions {
208
- audio?: boolean | CreateLocalTrackOptions;
229
+ audio?: boolean | CreateLocalTrackOptions | CreateLocalAudioTrackOptions;
209
230
  /**
210
231
  * @deprecated
211
232
  */