twilio-video 2.18.3 → 2.19.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 (52) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +1 -1
  4. package/dist/twilio-video.js +709 -258
  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/sender.js +50 -2
  13. package/es5/media/track/sender.js.map +1 -1
  14. package/es5/signaling/v2/cancelableroomsignalingpromise.js +2 -0
  15. package/es5/signaling/v2/cancelableroomsignalingpromise.js.map +1 -1
  16. package/es5/signaling/v2/localparticipant.js +35 -1
  17. package/es5/signaling/v2/localparticipant.js.map +1 -1
  18. package/es5/signaling/v2/peerconnection.js +225 -47
  19. package/es5/signaling/v2/peerconnection.js.map +1 -1
  20. package/es5/signaling/v2/peerconnectionmanager.js +8 -0
  21. package/es5/signaling/v2/peerconnectionmanager.js.map +1 -1
  22. package/es5/signaling/v2/publisherhintsignaling.js +85 -0
  23. package/es5/signaling/v2/publisherhintsignaling.js.map +1 -0
  24. package/es5/signaling/v2/renderhintssignaling.js +28 -17
  25. package/es5/signaling/v2/renderhintssignaling.js.map +1 -1
  26. package/es5/signaling/v2/room.js +33 -1
  27. package/es5/signaling/v2/room.js.map +1 -1
  28. package/es5/signaling/v2/twilioconnectiontransport.js +4 -1
  29. package/es5/signaling/v2/twilioconnectiontransport.js.map +1 -1
  30. package/es5/util/index.js +22 -6
  31. package/es5/util/index.js.map +1 -1
  32. package/es5/util/sdp/index.js +7 -3
  33. package/es5/util/sdp/index.js.map +1 -1
  34. package/es5/util/sdp/simulcast.js.map +1 -1
  35. package/lib/connect.js +29 -3
  36. package/lib/encodingparameters.js +5 -1
  37. package/lib/localparticipant.js +5 -0
  38. package/lib/media/track/sender.js +36 -2
  39. package/lib/signaling/v2/cancelableroomsignalingpromise.js +2 -0
  40. package/lib/signaling/v2/localparticipant.js +41 -1
  41. package/lib/signaling/v2/peerconnection.js +224 -49
  42. package/lib/signaling/v2/peerconnectionmanager.js +9 -0
  43. package/lib/signaling/v2/publisherhintsignaling.js +71 -0
  44. package/lib/signaling/v2/renderhintssignaling.js +28 -17
  45. package/lib/signaling/v2/room.js +37 -1
  46. package/lib/signaling/v2/twilioconnectiontransport.js +4 -0
  47. package/lib/util/index.js +21 -6
  48. package/lib/util/sdp/index.js +6 -3
  49. package/lib/util/sdp/simulcast.js +0 -1
  50. package/package.json +1 -1
  51. package/tsdef/twilio-video-tests.ts +6 -0
  52. package/tsdef/types.d.ts +2 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,47 @@ 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.19.0 (January 31, 2022)
6
+ =========================
7
+
8
+ New Features
9
+ ------------
10
+
11
+ - 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`.
12
+
13
+ If your application is currently using VP8 simulcast we recommend that you switch to this option.
14
+
15
+ Example:
16
+
17
+ ```ts
18
+ const { connect } = require('twilio-video');
19
+
20
+ const room = await connect(token, {
21
+ preferredVideoCodecs: 'auto',
22
+ bandwidthProfile: {
23
+ video: {
24
+ contentPreferencesMode: 'auto',
25
+ clientTrackSwitchOffControl: 'auto'
26
+ }
27
+ }
28
+ });
29
+ ```
30
+
31
+ Known Limitations
32
+ -----------------
33
+
34
+ - Specifying `preferredVideoCodecs="auto"` will revert to unicast in the following cases:
35
+ - The publisher is using Firefox.
36
+ - The publisher has preferred the H264 codec.
37
+ - The Room is configured to support only the H264 codec.
38
+ - Peer-to-Peer Rooms
39
+ - When the participant is being recorded, the SFU will not disable any simulcast layers of the participant's VideoTrack.
40
+
41
+ Bug Fixes
42
+ ---------
43
+
44
+ - Fixed a bug where `clientTrackSwitchOffControl` and `contentPreferencesMode` sometimes did not work as expected during network glitches. (VIDEO-7654)
45
+
5
46
  2.18.3 (January 4, 2022)
6
47
  ========================
7
48
 
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.19.0/twilio-video.min.js"></script>
78
78
 
79
79
  ```
80
80