twilio-video 2.34.0 → 2.36.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 (419) hide show
  1. package/.release.json +1 -2
  2. package/CHANGELOG.md +46 -0
  3. package/README.md +10 -11
  4. package/dist/twilio-video.js +29918 -32994
  5. package/dist/twilio-video.min.js +2 -23
  6. package/es5/cancelableroompromise.js +4 -4
  7. package/es5/cancelableroompromise.js.map +1 -1
  8. package/es5/connect.js +86 -90
  9. package/es5/connect.js.map +1 -1
  10. package/es5/createlocaltrack.js +26 -10
  11. package/es5/createlocaltrack.js.map +1 -1
  12. package/es5/createlocaltracks.js +111 -195
  13. package/es5/createlocaltracks.js.map +1 -1
  14. package/es5/data/receiver.js +16 -34
  15. package/es5/data/receiver.js.map +1 -1
  16. package/es5/data/sender.js +28 -47
  17. package/es5/data/sender.js.map +1 -1
  18. package/es5/data/transceiver.js +6 -24
  19. package/es5/data/transceiver.js.map +1 -1
  20. package/es5/data/transport.js +18 -37
  21. package/es5/data/transport.js.map +1 -1
  22. package/es5/encodingparameters.js +14 -33
  23. package/es5/encodingparameters.js.map +1 -1
  24. package/es5/eventemitter.js +2 -2
  25. package/es5/eventemitter.js.map +1 -1
  26. package/es5/eventtarget.js +12 -40
  27. package/es5/eventtarget.js.map +1 -1
  28. package/es5/index.js +21 -32
  29. package/es5/index.js.map +1 -1
  30. package/es5/insights/applicationmonitor.js +16 -18
  31. package/es5/insights/applicationmonitor.js.map +1 -1
  32. package/es5/insights/computepressuremonitor.js +33 -79
  33. package/es5/insights/computepressuremonitor.js.map +1 -1
  34. package/es5/insights/events/application.js +9 -10
  35. package/es5/insights/events/application.js.map +1 -1
  36. package/es5/insights/events/getusermedia.js +9 -10
  37. package/es5/insights/events/getusermedia.js.map +1 -1
  38. package/es5/insights/events/network.js +14 -16
  39. package/es5/insights/events/network.js.map +1 -1
  40. package/es5/insights/events/peerconnection.js +31 -44
  41. package/es5/insights/events/peerconnection.js.map +1 -1
  42. package/es5/insights/events/quality.js +13 -14
  43. package/es5/insights/events/quality.js.map +1 -1
  44. package/es5/insights/events/room.js +12 -13
  45. package/es5/insights/events/room.js.map +1 -1
  46. package/es5/insights/events/system.js +6 -7
  47. package/es5/insights/events/system.js.map +1 -1
  48. package/es5/insights/events/track.js +15 -18
  49. package/es5/insights/events/track.js.map +1 -1
  50. package/es5/insights/monitorregistry.js +10 -12
  51. package/es5/insights/monitorregistry.js.map +1 -1
  52. package/es5/insights/networkmonitor.js +17 -18
  53. package/es5/insights/networkmonitor.js.map +1 -1
  54. package/es5/insights/resourcemonitor.js +15 -17
  55. package/es5/insights/resourcemonitor.js.map +1 -1
  56. package/es5/insights/statsmonitor.js +100 -172
  57. package/es5/insights/statsmonitor.js.map +1 -1
  58. package/es5/insights/telemetry.js +40 -47
  59. package/es5/insights/telemetry.js.map +1 -1
  60. package/es5/localparticipant.js +122 -148
  61. package/es5/localparticipant.js.map +1 -1
  62. package/es5/media/track/audiotrack.js +11 -28
  63. package/es5/media/track/audiotrack.js.map +1 -1
  64. package/es5/media/track/capturevideoframes.js +21 -37
  65. package/es5/media/track/capturevideoframes.js.map +1 -1
  66. package/es5/media/track/es5/localaudiotrack.js +3 -3
  67. package/es5/media/track/es5/localaudiotrack.js.map +1 -1
  68. package/es5/media/track/es5/localdatatrack.js +3 -3
  69. package/es5/media/track/es5/localdatatrack.js.map +1 -1
  70. package/es5/media/track/es5/localvideotrack.js +3 -3
  71. package/es5/media/track/es5/localvideotrack.js.map +1 -1
  72. package/es5/media/track/index.js +17 -36
  73. package/es5/media/track/index.js.map +1 -1
  74. package/es5/media/track/localaudiotrack.js +80 -105
  75. package/es5/media/track/localaudiotrack.js.map +1 -1
  76. package/es5/media/track/localaudiotrackpublication.js +8 -25
  77. package/es5/media/track/localaudiotrackpublication.js.map +1 -1
  78. package/es5/media/track/localdatatrack.js +11 -30
  79. package/es5/media/track/localdatatrack.js.map +1 -1
  80. package/es5/media/track/localdatatrackpublication.js +8 -25
  81. package/es5/media/track/localdatatrackpublication.js.map +1 -1
  82. package/es5/media/track/localmediatrack.js +104 -129
  83. package/es5/media/track/localmediatrack.js.map +1 -1
  84. package/es5/media/track/localtrackpublication.js +24 -82
  85. package/es5/media/track/localtrackpublication.js.map +1 -1
  86. package/es5/media/track/localvideotrack.js +87 -112
  87. package/es5/media/track/localvideotrack.js.map +1 -1
  88. package/es5/media/track/localvideotrackpublication.js +8 -25
  89. package/es5/media/track/localvideotrackpublication.js.map +1 -1
  90. package/es5/media/track/mediatrack.js +71 -95
  91. package/es5/media/track/mediatrack.js.map +1 -1
  92. package/es5/media/track/noisecancellationimpl.js +71 -131
  93. package/es5/media/track/noisecancellationimpl.js.map +1 -1
  94. package/es5/media/track/receiver.js +5 -22
  95. package/es5/media/track/receiver.js.map +1 -1
  96. package/es5/media/track/remoteaudiotrack.js +16 -33
  97. package/es5/media/track/remoteaudiotrack.js.map +1 -1
  98. package/es5/media/track/remoteaudiotrackpublication.js +8 -25
  99. package/es5/media/track/remoteaudiotrackpublication.js.map +1 -1
  100. package/es5/media/track/remotedatatrack.js +18 -61
  101. package/es5/media/track/remotedatatrack.js.map +1 -1
  102. package/es5/media/track/remotedatatrackpublication.js +8 -25
  103. package/es5/media/track/remotedatatrackpublication.js.map +1 -1
  104. package/es5/media/track/remotemediatrack.js +36 -80
  105. package/es5/media/track/remotemediatrack.js.map +1 -1
  106. package/es5/media/track/remotetrackpublication.js +30 -48
  107. package/es5/media/track/remotetrackpublication.js.map +1 -1
  108. package/es5/media/track/remotevideotrack.js +94 -133
  109. package/es5/media/track/remotevideotrack.js.map +1 -1
  110. package/es5/media/track/remotevideotrackpublication.js +8 -25
  111. package/es5/media/track/remotevideotrackpublication.js.map +1 -1
  112. package/es5/media/track/sender.js +46 -83
  113. package/es5/media/track/sender.js.map +1 -1
  114. package/es5/media/track/trackpublication.js +17 -35
  115. package/es5/media/track/trackpublication.js.map +1 -1
  116. package/es5/media/track/transceiver.js +12 -30
  117. package/es5/media/track/transceiver.js.map +1 -1
  118. package/es5/media/track/videoprocessoreventobserver.js +47 -65
  119. package/es5/media/track/videoprocessoreventobserver.js.map +1 -1
  120. package/es5/media/track/videotrack.js +103 -124
  121. package/es5/media/track/videotrack.js.map +1 -1
  122. package/es5/networkqualityconfiguration.js +12 -48
  123. package/es5/networkqualityconfiguration.js.map +1 -1
  124. package/es5/noisecancellation/legacy-plugin-adapter.js +36 -0
  125. package/es5/noisecancellation/legacy-plugin-adapter.js.map +1 -0
  126. package/es5/noisecancellation/plugin.js +3 -0
  127. package/es5/noisecancellation/plugin.js.map +1 -0
  128. package/es5/noisecancellationadapter.js +93 -132
  129. package/es5/noisecancellationadapter.js.map +1 -1
  130. package/es5/participant.js +126 -179
  131. package/es5/participant.js.map +1 -1
  132. package/es5/preflight/getCombinedConnectionStats.js +44 -95
  133. package/es5/preflight/getCombinedConnectionStats.js.map +1 -1
  134. package/es5/preflight/getturncredentials.js +13 -13
  135. package/es5/preflight/getturncredentials.js.map +1 -1
  136. package/es5/preflight/makestat.js +4 -29
  137. package/es5/preflight/makestat.js.map +1 -1
  138. package/es5/preflight/mos.js +5 -5
  139. package/es5/preflight/mos.js.map +1 -1
  140. package/es5/preflight/preflighttest.js +240 -381
  141. package/es5/preflight/preflighttest.js.map +1 -1
  142. package/es5/preflight/syntheticaudio.js +8 -8
  143. package/es5/preflight/syntheticaudio.js.map +1 -1
  144. package/es5/preflight/syntheticvideo.js +13 -14
  145. package/es5/preflight/syntheticvideo.js.map +1 -1
  146. package/es5/preflight/timer.js +9 -10
  147. package/es5/preflight/timer.js.map +1 -1
  148. package/es5/queueingeventemitter.js +16 -60
  149. package/es5/queueingeventemitter.js.map +1 -1
  150. package/es5/remoteparticipant.js +33 -76
  151. package/es5/remoteparticipant.js.map +1 -1
  152. package/es5/room.js +89 -169
  153. package/es5/room.js.map +1 -1
  154. package/es5/signaling/index.js +36 -55
  155. package/es5/signaling/index.js.map +1 -1
  156. package/es5/signaling/localparticipant.js +18 -37
  157. package/es5/signaling/localparticipant.js.map +1 -1
  158. package/es5/signaling/localtrackpublication.js +28 -51
  159. package/es5/signaling/localtrackpublication.js.map +1 -1
  160. package/es5/signaling/participant.js +37 -63
  161. package/es5/signaling/participant.js.map +1 -1
  162. package/es5/signaling/recording.js +11 -29
  163. package/es5/signaling/recording.js.map +1 -1
  164. package/es5/signaling/remoteparticipant.js +6 -24
  165. package/es5/signaling/remoteparticipant.js.map +1 -1
  166. package/es5/signaling/remotetrackpublication.js +27 -53
  167. package/es5/signaling/remotetrackpublication.js.map +1 -1
  168. package/es5/signaling/room.js +40 -59
  169. package/es5/signaling/room.js.map +1 -1
  170. package/es5/signaling/track.js +52 -90
  171. package/es5/signaling/track.js.map +1 -1
  172. package/es5/signaling/v2/cancelableroomsignalingpromise.js +46 -46
  173. package/es5/signaling/v2/cancelableroomsignalingpromise.js.map +1 -1
  174. package/es5/signaling/v2/dominantspeakersignaling.js +18 -40
  175. package/es5/signaling/v2/dominantspeakersignaling.js.map +1 -1
  176. package/es5/signaling/v2/icebox.js +12 -13
  177. package/es5/signaling/v2/icebox.js.map +1 -1
  178. package/es5/signaling/v2/iceconnectionmonitor.js +28 -32
  179. package/es5/signaling/v2/iceconnectionmonitor.js.map +1 -1
  180. package/es5/signaling/v2/index.js +12 -31
  181. package/es5/signaling/v2/index.js.map +1 -1
  182. package/es5/signaling/v2/localparticipant.js +65 -85
  183. package/es5/signaling/v2/localparticipant.js.map +1 -1
  184. package/es5/signaling/v2/localtrackpublication.js +21 -39
  185. package/es5/signaling/v2/localtrackpublication.js.map +1 -1
  186. package/es5/signaling/v2/mediasignaling.js +25 -48
  187. package/es5/signaling/v2/mediasignaling.js.map +1 -1
  188. package/es5/signaling/v2/networkqualitymonitor.js +50 -97
  189. package/es5/signaling/v2/networkqualitymonitor.js.map +1 -1
  190. package/es5/signaling/v2/networkqualitysignaling.js +56 -88
  191. package/es5/signaling/v2/networkqualitysignaling.js.map +1 -1
  192. package/es5/signaling/v2/peerconnection.js +523 -648
  193. package/es5/signaling/v2/peerconnection.js.map +1 -1
  194. package/es5/signaling/v2/peerconnectionmanager.js +111 -167
  195. package/es5/signaling/v2/peerconnectionmanager.js.map +1 -1
  196. package/es5/signaling/v2/publisherhintsignaling.js +22 -42
  197. package/es5/signaling/v2/publisherhintsignaling.js.map +1 -1
  198. package/es5/signaling/v2/recording.js +8 -26
  199. package/es5/signaling/v2/recording.js.map +1 -1
  200. package/es5/signaling/v2/remoteparticipant.js +25 -43
  201. package/es5/signaling/v2/remoteparticipant.js.map +1 -1
  202. package/es5/signaling/v2/remotetrackpublication.js +7 -24
  203. package/es5/signaling/v2/remotetrackpublication.js.map +1 -1
  204. package/es5/signaling/v2/renderhintssignaling.js +40 -61
  205. package/es5/signaling/v2/renderhintssignaling.js.map +1 -1
  206. package/es5/signaling/v2/room.js +216 -280
  207. package/es5/signaling/v2/room.js.map +1 -1
  208. package/es5/signaling/v2/trackprioritysignaling.js +11 -29
  209. package/es5/signaling/v2/trackprioritysignaling.js.map +1 -1
  210. package/es5/signaling/v2/trackswitchoffsignaling.js +10 -28
  211. package/es5/signaling/v2/trackswitchoffsignaling.js.map +1 -1
  212. package/es5/signaling/v2/transcriptionsignaling.js +8 -26
  213. package/es5/signaling/v2/transcriptionsignaling.js.map +1 -1
  214. package/es5/signaling/v2/twilioconnectiontransport.js +62 -82
  215. package/es5/signaling/v2/twilioconnectiontransport.js.map +1 -1
  216. package/es5/statemachine.js +75 -121
  217. package/es5/statemachine.js.map +1 -1
  218. package/es5/stats/average.js +2 -2
  219. package/es5/stats/average.js.map +1 -1
  220. package/es5/stats/icereport.js +11 -12
  221. package/es5/stats/icereport.js.map +1 -1
  222. package/es5/stats/icereportfactory.js +8 -9
  223. package/es5/stats/icereportfactory.js.map +1 -1
  224. package/es5/stats/localaudiotrackstats.js +6 -24
  225. package/es5/stats/localaudiotrackstats.js.map +1 -1
  226. package/es5/stats/localtrackstats.js +6 -24
  227. package/es5/stats/localtrackstats.js.map +1 -1
  228. package/es5/stats/localvideotrackstats.js +9 -27
  229. package/es5/stats/localvideotrackstats.js.map +1 -1
  230. package/es5/stats/networkqualityaudiostats.js +5 -22
  231. package/es5/stats/networkqualityaudiostats.js.map +1 -1
  232. package/es5/stats/networkqualitybandwidthstats.js +3 -5
  233. package/es5/stats/networkqualitybandwidthstats.js.map +1 -1
  234. package/es5/stats/networkqualityfractionloststats.js +3 -5
  235. package/es5/stats/networkqualityfractionloststats.js.map +1 -1
  236. package/es5/stats/networkqualitylatencystats.js +3 -5
  237. package/es5/stats/networkqualitylatencystats.js.map +1 -1
  238. package/es5/stats/networkqualitymediastats.js +5 -7
  239. package/es5/stats/networkqualitymediastats.js.map +1 -1
  240. package/es5/stats/networkqualityrecvstats.js +5 -22
  241. package/es5/stats/networkqualityrecvstats.js.map +1 -1
  242. package/es5/stats/networkqualitysendorrecvstats.js +6 -8
  243. package/es5/stats/networkqualitysendorrecvstats.js.map +1 -1
  244. package/es5/stats/networkqualitysendstats.js +5 -22
  245. package/es5/stats/networkqualitysendstats.js.map +1 -1
  246. package/es5/stats/networkqualitystats.js +5 -7
  247. package/es5/stats/networkqualitystats.js.map +1 -1
  248. package/es5/stats/networkqualityvideostats.js +5 -22
  249. package/es5/stats/networkqualityvideostats.js.map +1 -1
  250. package/es5/stats/peerconnectionreport.js +13 -14
  251. package/es5/stats/peerconnectionreport.js.map +1 -1
  252. package/es5/stats/peerconnectionreportfactory.js +89 -185
  253. package/es5/stats/peerconnectionreportfactory.js.map +1 -1
  254. package/es5/stats/receiverreport.js +28 -46
  255. package/es5/stats/receiverreport.js.map +1 -1
  256. package/es5/stats/receiverreportfactory.js +11 -29
  257. package/es5/stats/receiverreportfactory.js.map +1 -1
  258. package/es5/stats/remoteaudiotrackstats.js +6 -24
  259. package/es5/stats/remoteaudiotrackstats.js.map +1 -1
  260. package/es5/stats/remotetrackstats.js +6 -24
  261. package/es5/stats/remotetrackstats.js.map +1 -1
  262. package/es5/stats/remotevideotrackstats.js +7 -25
  263. package/es5/stats/remotevideotrackstats.js.map +1 -1
  264. package/es5/stats/senderorreceiverreport.js +3 -4
  265. package/es5/stats/senderorreceiverreport.js.map +1 -1
  266. package/es5/stats/senderorreceiverreportfactory.js +3 -4
  267. package/es5/stats/senderorreceiverreportfactory.js.map +1 -1
  268. package/es5/stats/senderreport.js +20 -38
  269. package/es5/stats/senderreport.js.map +1 -1
  270. package/es5/stats/senderreportfactory.js +11 -29
  271. package/es5/stats/senderreportfactory.js.map +1 -1
  272. package/es5/stats/statsreport.js +11 -12
  273. package/es5/stats/statsreport.js.map +1 -1
  274. package/es5/stats/sum.js +1 -1
  275. package/es5/stats/sum.js.map +1 -1
  276. package/es5/stats/trackstats.js +3 -4
  277. package/es5/stats/trackstats.js.map +1 -1
  278. package/es5/transceiver.js +8 -26
  279. package/es5/transceiver.js.map +1 -1
  280. package/es5/twilioconnection.js +166 -223
  281. package/es5/twilioconnection.js.map +1 -1
  282. package/es5/util/asyncvar.js +12 -14
  283. package/es5/util/asyncvar.js.map +1 -1
  284. package/es5/util/backoff.js +14 -16
  285. package/es5/util/backoff.js.map +1 -1
  286. package/es5/util/browserdetection.js +19 -35
  287. package/es5/util/browserdetection.js.map +1 -1
  288. package/es5/util/cancelablepromise.js +30 -57
  289. package/es5/util/cancelablepromise.js.map +1 -1
  290. package/es5/util/constants.js +13 -13
  291. package/es5/util/constants.js.map +1 -1
  292. package/es5/util/detectsilentaudio.js +10 -10
  293. package/es5/util/detectsilentaudio.js.map +1 -1
  294. package/es5/util/detectsilentvideo.js +12 -12
  295. package/es5/util/detectsilentvideo.js.map +1 -1
  296. package/es5/util/documentvisibilitymonitor.js +34 -41
  297. package/es5/util/documentvisibilitymonitor.js.map +1 -1
  298. package/es5/util/dynamicimport.js +13 -7
  299. package/es5/util/dynamicimport.js.map +1 -1
  300. package/es5/util/eventobserver.js +19 -39
  301. package/es5/util/eventobserver.js.map +1 -1
  302. package/es5/util/filter.js +11 -12
  303. package/es5/util/filter.js.map +1 -1
  304. package/es5/util/index.js +96 -165
  305. package/es5/util/index.js.map +1 -1
  306. package/es5/util/insightspublisher/index.js +48 -78
  307. package/es5/util/insightspublisher/index.js.map +1 -1
  308. package/es5/util/insightspublisher/null.js +9 -10
  309. package/es5/util/insightspublisher/null.js.map +1 -1
  310. package/es5/util/localmediarestartdeferreds.js +10 -11
  311. package/es5/util/localmediarestartdeferreds.js.map +1 -1
  312. package/es5/util/log.js +44 -70
  313. package/es5/util/log.js.map +1 -1
  314. package/es5/util/movingaveragedelta.js +12 -13
  315. package/es5/util/movingaveragedelta.js.map +1 -1
  316. package/es5/util/networkmonitor.js +26 -30
  317. package/es5/util/networkmonitor.js.map +1 -1
  318. package/es5/util/nullobserver.js +22 -48
  319. package/es5/util/nullobserver.js.map +1 -1
  320. package/es5/util/sdp/index.js +109 -134
  321. package/es5/util/sdp/index.js.map +1 -1
  322. package/es5/util/sdp/issue8329.js +56 -57
  323. package/es5/util/sdp/issue8329.js.map +1 -1
  324. package/es5/util/sdp/simulcast.js +55 -73
  325. package/es5/util/sdp/simulcast.js.map +1 -1
  326. package/es5/util/sdp/trackmatcher.js +14 -15
  327. package/es5/util/sdp/trackmatcher.js.map +1 -1
  328. package/es5/util/sid.js +5 -5
  329. package/es5/util/sid.js.map +1 -1
  330. package/es5/util/support.js +13 -16
  331. package/es5/util/support.js.map +1 -1
  332. package/es5/util/timeout.js +28 -39
  333. package/es5/util/timeout.js.map +1 -1
  334. package/es5/util/timeoutpromise.js +38 -84
  335. package/es5/util/timeoutpromise.js.map +1 -1
  336. package/es5/util/twilio-video-errors.js +277 -457
  337. package/es5/util/twilio-video-errors.js.map +1 -1
  338. package/es5/util/twilioerror.js +13 -57
  339. package/es5/util/twilioerror.js.map +1 -1
  340. package/es5/util/twiliowarning.js +1 -1
  341. package/es5/util/twiliowarning.js.map +1 -1
  342. package/es5/util/validate.js +13 -15
  343. package/es5/util/validate.js.map +1 -1
  344. package/es5/vendor/inherits.js +3 -5
  345. package/es5/vendor/inherits.js.map +1 -1
  346. package/es5/webaudio/audiocontext.js +8 -9
  347. package/es5/webaudio/audiocontext.js.map +1 -1
  348. package/es5/webaudio/detectsilence.js +9 -9
  349. package/es5/webaudio/detectsilence.js.map +1 -1
  350. package/es5/webaudio/workaround180748.js +15 -13
  351. package/es5/webaudio/workaround180748.js.map +1 -1
  352. package/es5/webrtc/getstats.js +242 -448
  353. package/es5/webrtc/getstats.js.map +1 -1
  354. package/es5/webrtc/getusermedia.js +1 -2
  355. package/es5/webrtc/getusermedia.js.map +1 -1
  356. package/es5/webrtc/index.js +1 -17
  357. package/es5/webrtc/index.js.map +1 -1
  358. package/es5/webrtc/rtcpeerconnection/chrome.js +102 -295
  359. package/es5/webrtc/rtcpeerconnection/chrome.js.map +1 -1
  360. package/es5/webrtc/rtcpeerconnection/firefox.js +69 -146
  361. package/es5/webrtc/rtcpeerconnection/firefox.js.map +1 -1
  362. package/es5/webrtc/rtcpeerconnection/index.js +1 -1
  363. package/es5/webrtc/rtcpeerconnection/index.js.map +1 -1
  364. package/es5/webrtc/rtcpeerconnection/safari.js +110 -192
  365. package/es5/webrtc/rtcpeerconnection/safari.js.map +1 -1
  366. package/es5/webrtc/rtcrtpsender.js +3 -4
  367. package/es5/webrtc/rtcrtpsender.js.map +1 -1
  368. package/es5/webrtc/util/index.js +28 -63
  369. package/es5/webrtc/util/index.js.map +1 -1
  370. package/es5/webrtc/util/latch.js +21 -28
  371. package/es5/webrtc/util/latch.js.map +1 -1
  372. package/es5/webrtc/util/sdp.js +41 -211
  373. package/es5/webrtc/util/sdp.js.map +1 -1
  374. package/karma/makeconf.js +48 -6
  375. package/lib/connect.js +0 -1
  376. package/lib/createlocaltrack.js +19 -3
  377. package/lib/createlocaltracks.ts +2 -2
  378. package/lib/localparticipant.js +0 -1
  379. package/lib/media/track/mediatrack.js +0 -2
  380. package/lib/media/track/noisecancellationimpl.ts +11 -5
  381. package/lib/noisecancellation/legacy-plugin-adapter.ts +54 -0
  382. package/lib/noisecancellation/plugin.ts +14 -0
  383. package/lib/noisecancellationadapter.ts +52 -50
  384. package/lib/preflight/getCombinedConnectionStats.ts +1 -1
  385. package/lib/preflight/getturncredentials.ts +2 -2
  386. package/lib/preflight/preflighttest.ts +3 -3
  387. package/lib/signaling/v2/peerconnection.js +2 -4
  388. package/lib/util/dynamicimport.js +10 -4
  389. package/lib/util/sdp/index.js +1 -2
  390. package/lib/util/sdp/issue8329.js +0 -2
  391. package/lib/util/support.js +4 -7
  392. package/lib/webrtc/getstats.js +6 -21
  393. package/lib/webrtc/index.js +0 -16
  394. package/lib/webrtc/rtcpeerconnection/chrome.js +13 -123
  395. package/lib/webrtc/rtcpeerconnection/firefox.js +5 -6
  396. package/lib/webrtc/rtcpeerconnection/safari.js +9 -19
  397. package/lib/webrtc/util/sdp.js +13 -194
  398. package/package.json +17 -14
  399. package/rollup.config.mjs +85 -0
  400. package/tsconfig.json +5 -5
  401. package/es5/webrtc/mediastream.js +0 -11
  402. package/es5/webrtc/mediastream.js.map +0 -1
  403. package/es5/webrtc/mediastreamtrack.js +0 -11
  404. package/es5/webrtc/mediastreamtrack.js.map +0 -1
  405. package/es5/webrtc/rtcicecandidate.js +0 -11
  406. package/es5/webrtc/rtcicecandidate.js.map +0 -1
  407. package/es5/webrtc/rtcsessiondescription/chrome.js +0 -43
  408. package/es5/webrtc/rtcsessiondescription/chrome.js.map +0 -1
  409. package/es5/webrtc/rtcsessiondescription/firefox.js +0 -4
  410. package/es5/webrtc/rtcsessiondescription/firefox.js.map +0 -1
  411. package/es5/webrtc/rtcsessiondescription/index.js +0 -22
  412. package/es5/webrtc/rtcsessiondescription/index.js.map +0 -1
  413. package/lib/webrtc/mediastream.js +0 -10
  414. package/lib/webrtc/mediastreamtrack.js +0 -10
  415. package/lib/webrtc/rtcicecandidate.js +0 -10
  416. package/lib/webrtc/rtcsessiondescription/chrome.js +0 -39
  417. package/lib/webrtc/rtcsessiondescription/firefox.js +0 -4
  418. package/lib/webrtc/rtcsessiondescription/index.js +0 -21
  419. package/src/twilio-video.js +0 -16
package/.release.json CHANGED
@@ -41,8 +41,7 @@
41
41
  "publish": {
42
42
  "commands": [
43
43
  "git checkout ${RELEASE_VERSION}",
44
- "echo \"//registry.npmjs.org/:_authToken=${NPM_AUTH_TOKEN}\" >~/.npmrc",
45
- "npm publish"
44
+ "NPM_ID_TOKEN=$(circleci run oidc get --claims '{\"aud\":\"npm:registry.npmjs.org\"}') npm publish"
46
45
  ]
47
46
  }
48
47
  }
package/CHANGELOG.md CHANGED
@@ -2,6 +2,52 @@ 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.36.0 (September 11, 2026)
6
+ ====================
7
+
8
+ New Features
9
+ ------------
10
+ - Added support for `@twilio/krisp-audio-plugin` 2.x. Version 1.x remains supported, so
11
+ existing applications continue to work without changes.
12
+
13
+ The 2.x plugin expects the raw microphone signal, so disable the browser's own audio
14
+ processing when using it:
15
+
16
+ ```js
17
+ const localAudioTrack = await createLocalAudioTrack({
18
+ noiseCancellationOptions: {
19
+ sdkAssetsPath: 'path/to/hosted/twilio/krisp/audio/plugin/{version}/dist',
20
+ vendor: 'krisp'
21
+ },
22
+ // Required for 2.x only — omit these for 1.x.
23
+ echoCancellation: false,
24
+ noiseSuppression: false,
25
+ autoGainControl: false
26
+ });
27
+ ```
28
+
29
+ Bug Fixes
30
+ ---------
31
+ - Fixed loading of the noise cancellation plugin when the SDK is bundled by tools that
32
+ rewrite dynamic imports. The module path is now passed as an argument to the import
33
+ function instead of being embedded in its body.
34
+
35
+ Changes
36
+ -------
37
+ - Updated `ws` to address a security advisory. This affects the Node.js build only;
38
+ browser builds do not include `ws`.
39
+
40
+ 2.35.0 (April 29, 2026)
41
+ ====================
42
+
43
+ Changes
44
+ -------
45
+ - Removed legacy Plan-B SDP support.
46
+ - Removed legacy WebRTC shims for Chrome.
47
+ - Replaced dynamic `RegExp` construction with literal string replacement in `enableDtxForOpus`.
48
+ - Raised CJS build target from ES5 to ES2015, reducing output size by ~17%.
49
+ - `isSupported` now returns `true` for Samsung Internet.
50
+
5
51
  2.34.0 (January 8, 2026)
6
52
  ====================
7
53
 
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  twilio-video.js
2
2
  ===============
3
3
 
4
- [![NPM](https://img.shields.io/npm/v/twilio-video.svg)](https://www.npmjs.com/package/twilio-video) [![CircleCI](https://dl.circleci.com/status-badge/img/gh/twilio/twilio-video.js/tree/master.svg?style=shield&circle-token=CCIPRJ_7qmZwk292pKYnNqeFyi5x8_a409cfa25489fb617be3c56119e8064cc77ffb80)](https://circleci.com/gh/twilio/twilio-video.js/tree/master)
4
+ [![NPM](https://img.shields.io/npm/v/twilio-video.svg)](https://www.npmjs.com/package/twilio-video) [![CircleCI](https://dl.circleci.com/status-badge/img/gh/twilio/twilio-video.js/tree/master.svg?style=shield)](https://circleci.com/gh/twilio/twilio-video.js/tree/master)
5
5
 
6
6
  twilio-video.js allows you to add real-time voice and video to your web apps.
7
7
 
@@ -21,15 +21,14 @@ View [CHANGELOG.md](https://github.com/twilio/twilio-video.js/blob/master/CHANGE
21
21
  Browser Support
22
22
  ---------------
23
23
 
24
- | | Chrome | Edge (Chromium) | Firefox | Safari | WebView |
25
- | ------------|--------|-----------------|---------|--------|---------|
26
- | **Android** | ✓ | - | ✓ | - | - |
27
- | **iOS** | ✓ | ✓ | * | ✓ | |
28
- | **Linux** | ✓ | - | ✓ | - | - |
29
- | **macOS** | ✓ | ✓ ** | ✓ | | - |
30
- | **Windows** | | ✓ ** | | - | - |
31
-
32
- \*\* twilio-video.js supports the [Chromium-based Edge](https://www.microsoftedgeinsider.com/) browser.
24
+ | | Windows | macOS | Linux | iOS | Android |
25
+ | -------------------- | ------- | ----- | ----- | --- | ------- |
26
+ | **Chrome** | ✓ | | ✓ | | |
27
+ | **Edge** | ✓ | ✓ | - | ✓ | - |
28
+ | **Safari** | - | | - | ✓ | - |
29
+ | **Firefox** | ✓ | ✓ | ✓ | - | |
30
+ | **Samsung Internet** | - | - | - | - | |
31
+ | **WebView** | - | - | - | ✓ | - |
33
32
 
34
33
  Installation
35
34
  ------------
@@ -74,7 +73,7 @@ Releases of twilio-video.js are hosted on a CDN, and you can include these
74
73
  directly in your web app using a <script> tag.
75
74
 
76
75
  ```html
77
- <script src="//sdk.twilio.com/js/video/releases/2.34.0/twilio-video.min.js"></script>
76
+ <script src="//sdk.twilio.com/js/video/releases/2.36.0/twilio-video.min.js"></script>
78
77
  ```
79
78
 
80
79
  Using this method, twilio-video.js will set a browser global: