twilio-video 2.18.3 → 2.20.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 (86) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +1 -1
  4. package/dist/twilio-video.js +948 -724
  5. package/dist/twilio-video.min.js +23 -23
  6. package/es5/connect.js +24 -3
  7. package/es5/connect.js.map +1 -1
  8. package/es5/encodingparameters.js +5 -1
  9. package/es5/encodingparameters.js.map +1 -1
  10. package/es5/localparticipant.js +4 -0
  11. package/es5/localparticipant.js.map +1 -1
  12. package/es5/media/track/localmediatrack.js +2 -0
  13. package/es5/media/track/localmediatrack.js.map +1 -1
  14. package/es5/media/track/sender.js +50 -2
  15. package/es5/media/track/sender.js.map +1 -1
  16. package/es5/preflight/getturncredentials.js +14 -9
  17. package/es5/preflight/getturncredentials.js.map +1 -1
  18. package/es5/preflight/preflighttest.js +115 -75
  19. package/es5/preflight/preflighttest.js.map +1 -1
  20. package/es5/signaling/v2/cancelableroomsignalingpromise.js +2 -0
  21. package/es5/signaling/v2/cancelableroomsignalingpromise.js.map +1 -1
  22. package/es5/signaling/v2/iceconnectionmonitor.js +3 -7
  23. package/es5/signaling/v2/iceconnectionmonitor.js.map +1 -1
  24. package/es5/signaling/v2/localparticipant.js +35 -1
  25. package/es5/signaling/v2/localparticipant.js.map +1 -1
  26. package/es5/signaling/v2/networkqualitysignaling.js +20 -1
  27. package/es5/signaling/v2/networkqualitysignaling.js.map +1 -1
  28. package/es5/signaling/v2/peerconnection.js +268 -145
  29. package/es5/signaling/v2/peerconnection.js.map +1 -1
  30. package/es5/signaling/v2/peerconnectionmanager.js +8 -0
  31. package/es5/signaling/v2/peerconnectionmanager.js.map +1 -1
  32. package/es5/signaling/v2/publisherhintsignaling.js +85 -0
  33. package/es5/signaling/v2/publisherhintsignaling.js.map +1 -0
  34. package/es5/signaling/v2/renderhintssignaling.js +28 -17
  35. package/es5/signaling/v2/renderhintssignaling.js.map +1 -1
  36. package/es5/signaling/v2/room.js +33 -1
  37. package/es5/signaling/v2/room.js.map +1 -1
  38. package/es5/signaling/v2/twilioconnectiontransport.js +6 -8
  39. package/es5/signaling/v2/twilioconnectiontransport.js.map +1 -1
  40. package/es5/util/constants.js +1 -0
  41. package/es5/util/constants.js.map +1 -1
  42. package/es5/util/index.js +22 -6
  43. package/es5/util/index.js.map +1 -1
  44. package/es5/util/sdp/index.js +31 -95
  45. package/es5/util/sdp/index.js.map +1 -1
  46. package/es5/util/sdp/issue8329.js +1 -2
  47. package/es5/util/sdp/issue8329.js.map +1 -1
  48. package/es5/util/sdp/simulcast.js +6 -29
  49. package/es5/util/sdp/simulcast.js.map +1 -1
  50. package/es5/util/sdp/{trackmatcher/mid.js → trackmatcher.js} +11 -11
  51. package/es5/util/sdp/trackmatcher.js.map +1 -0
  52. package/lib/connect.js +29 -3
  53. package/lib/encodingparameters.js +5 -1
  54. package/lib/localparticipant.js +5 -0
  55. package/lib/media/track/localmediatrack.js +2 -0
  56. package/lib/media/track/sender.js +36 -2
  57. package/lib/preflight/getturncredentials.ts +18 -9
  58. package/lib/preflight/preflighttest.ts +110 -74
  59. package/lib/signaling/v2/cancelableroomsignalingpromise.js +2 -0
  60. package/lib/signaling/v2/iceconnectionmonitor.js +3 -8
  61. package/lib/signaling/v2/localparticipant.js +41 -1
  62. package/lib/signaling/v2/networkqualitysignaling.js +24 -1
  63. package/lib/signaling/v2/peerconnection.js +270 -157
  64. package/lib/signaling/v2/peerconnectionmanager.js +9 -0
  65. package/lib/signaling/v2/publisherhintsignaling.js +71 -0
  66. package/lib/signaling/v2/renderhintssignaling.js +28 -17
  67. package/lib/signaling/v2/room.js +37 -1
  68. package/lib/signaling/v2/twilioconnectiontransport.js +7 -10
  69. package/lib/util/constants.js +1 -0
  70. package/lib/util/index.js +21 -6
  71. package/lib/util/sdp/index.js +30 -102
  72. package/lib/util/sdp/issue8329.js +2 -3
  73. package/lib/util/sdp/simulcast.js +6 -31
  74. package/lib/util/sdp/{trackmatcher/mid.js → trackmatcher.js} +6 -6
  75. package/package.json +1 -1
  76. package/tsdef/PreflightTypes.d.ts +6 -2
  77. package/tsdef/preflighttest.d.ts +1 -1
  78. package/tsdef/twilio-video-tests.ts +6 -0
  79. package/tsdef/types.d.ts +3 -1
  80. package/es5/util/sdp/trackmatcher/identity.js +0 -25
  81. package/es5/util/sdp/trackmatcher/identity.js.map +0 -1
  82. package/es5/util/sdp/trackmatcher/mid.js.map +0 -1
  83. package/es5/util/sdp/trackmatcher/ordered.js +0 -111
  84. package/es5/util/sdp/trackmatcher/ordered.js.map +0 -1
  85. package/lib/util/sdp/trackmatcher/identity.js +0 -24
  86. package/lib/util/sdp/trackmatcher/ordered.js +0 -120
package/CHANGELOG.md CHANGED
@@ -2,6 +2,85 @@ 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.20.1 (Feb 17, 2022)
6
+ =====================
7
+ Bug Fixes
8
+ ---------
9
+
10
+ - Fixed a bug that was introduced in 2.19.0 where the published LocalVideoTracks of Participants on older iOS versions 14.5 and below did not encode and transmit media. (VIDEO-8770)
11
+
12
+ 2.20.0 (February 10, 2022)
13
+ ==========================
14
+
15
+ Changes
16
+ -------
17
+
18
+ The Preflight API ([runPreflight](https://sdk.twilio.com/js/video/releases/2.20.0/docs/module-twilio-video.html#.runPreflight__anchor)), originally released in [2.16.0](#2160-august-11-2021), has been promoted to GA.
19
+
20
+ Thank you @morninng @eroidaaruqaj [#1622](https://github.com/twilio/twilio-video.js/issues/1622) for your feedback. Based on this feedback, we have made the following changes to `runPreflight`. (VIDEO-7728)
21
+
22
+ - The [failed](https://sdk.twilio.com/js/video/releases/2.20.0/docs/PreflightTest.html#event:failed) event now provides a [PreflightTestReport](https://sdk.twilio.com/js/video/releases/2.20.0/docs/global.html#PreflightTestReport) which include partial results gathered during the test. Use this in addition to the error object to get more insights on the failure.
23
+
24
+ - Signaling and Media Connection errors are now properly surfaced via the [failed](https://sdk.twilio.com/js/video/releases/2.20.0/docs/PreflightTest.html#event:failed) event.
25
+
26
+ - [PreflightTestReport](https://sdk.twilio.com/js/video/releases/2.20.0/docs/global.html#PreflightTestReport) now includes a `progressEvents` property. This new property is an array of [PreflightProgress](https://sdk.twilio.com/js/video/releases/2.20.0/docs/global.html#PreflightProgress) events detected during the test. Use this information to determine which steps were completed and which ones were not.
27
+
28
+ You can learn more about `runPreflight` usage in the documentation, [here](https://twilio.com/docs/video/troubleshooting/preflight-api).
29
+
30
+ Other changes in this release includes:
31
+
32
+ - In [October 2019](#200-beta15-october-24-2019), twilio-video.js started using Unified Plan where available, while also maintaining support for earlier browser versions with Plan B as the default SDP format. With this release, twilio-video.js will now stop supporting the Plan B SDP format and will only support the Unified Plan SDP format. Please refer to this [changelog](#200-beta15-october-24-2019) and this [public advisory](https://support.twilio.com/hc/en-us/articles/360039098974-Upcoming-Breaking-Changes-in-Twilio-Video-JavaScript-SDK-Google-Chrome) for more related information. (VIDEO-6587)
33
+
34
+ 2.19.1 (February 7, 2022)
35
+ =========================
36
+
37
+ Bug Fixes
38
+ ---------
39
+
40
+ - Fixed a bug where media connection was not getting reconnected after a network interruption if participant was not subscribed to any tracks. (VIDEO-8315)
41
+ - Fixed a bug where network quality score stops updating after network glitches. (VIDEO-8413)
42
+
43
+ 2.19.0 (January 31, 2022)
44
+ =========================
45
+
46
+ New Features
47
+ ------------
48
+
49
+ - This release introduces a new feature **Adaptive Simulcast**. This opt-in feature can be enabled by setting `preferredVideoCodecs="auto"` in ConnectOptions. When joining a group room with this feature enabled, the SDK will use VP8 simulcast, and will enable/disable simulcast layers dynamically, thus improving bandwidth and CPU usage for the publishing client. It works best when used along with `Client Track Switch Off Control` and `Video Content Preferences`. These two flags allow the SFU to determine which simulcast layers are needed, thus allowing it to disable the layers not needed on publisher side. This feature cannot be used alongside `maxVideoBitrate`.
50
+
51
+ If your application is currently using VP8 simulcast we recommend that you switch to this option.
52
+
53
+ Example:
54
+
55
+ ```ts
56
+ const { connect } = require('twilio-video');
57
+
58
+ const room = await connect(token, {
59
+ preferredVideoCodecs: 'auto',
60
+ bandwidthProfile: {
61
+ video: {
62
+ contentPreferencesMode: 'auto',
63
+ clientTrackSwitchOffControl: 'auto'
64
+ }
65
+ }
66
+ });
67
+ ```
68
+
69
+ Known Limitations
70
+ -----------------
71
+
72
+ - Specifying `preferredVideoCodecs="auto"` will revert to unicast in the following cases:
73
+ - The publisher is using Firefox.
74
+ - The publisher has preferred the H264 codec.
75
+ - The Room is configured to support only the H264 codec.
76
+ - Peer-to-Peer Rooms
77
+ - When the participant is being recorded, the SFU will not disable any simulcast layers of the participant's VideoTrack.
78
+
79
+ Bug Fixes
80
+ ---------
81
+
82
+ - Fixed a bug where `clientTrackSwitchOffControl` and `contentPreferencesMode` sometimes did not work as expected during network glitches. (VIDEO-7654)
83
+
5
84
  2.18.3 (January 4, 2022)
6
85
  ========================
7
86
 
package/LICENSE.md CHANGED
@@ -1,7 +1,7 @@
1
1
  The following license applies to all parts of this software except as
2
2
  documented below.
3
3
 
4
- Copyright (C) 2019-2021 Twilio, inc.
4
+ Copyright (C) 2019-2022 Twilio, inc.
5
5
  All rights reserved.
6
6
 
7
7
  Redistribution and use in source and binary forms, with or without
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.18.3/twilio-video.min.js"></script>
77
+ <script src="//sdk.twilio.com/js/video/releases/2.20.1/twilio-video.min.js"></script>
78
78
 
79
79
  ```
80
80