twilio-video 2.34.0 → 2.35.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 (410) hide show
  1. package/.release.json +1 -2
  2. package/CHANGELOG.md +11 -0
  3. package/README.md +9 -10
  4. package/dist/twilio-video.js +29836 -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 +7 -7
  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 +63 -129
  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/noisecancellationadapter.js +72 -120
  125. package/es5/noisecancellationadapter.js.map +1 -1
  126. package/es5/participant.js +126 -179
  127. package/es5/participant.js.map +1 -1
  128. package/es5/preflight/getCombinedConnectionStats.js +44 -95
  129. package/es5/preflight/getCombinedConnectionStats.js.map +1 -1
  130. package/es5/preflight/getturncredentials.js +13 -13
  131. package/es5/preflight/getturncredentials.js.map +1 -1
  132. package/es5/preflight/makestat.js +4 -29
  133. package/es5/preflight/makestat.js.map +1 -1
  134. package/es5/preflight/mos.js +5 -5
  135. package/es5/preflight/mos.js.map +1 -1
  136. package/es5/preflight/preflighttest.js +240 -381
  137. package/es5/preflight/preflighttest.js.map +1 -1
  138. package/es5/preflight/syntheticaudio.js +8 -8
  139. package/es5/preflight/syntheticaudio.js.map +1 -1
  140. package/es5/preflight/syntheticvideo.js +13 -14
  141. package/es5/preflight/syntheticvideo.js.map +1 -1
  142. package/es5/preflight/timer.js +9 -10
  143. package/es5/preflight/timer.js.map +1 -1
  144. package/es5/queueingeventemitter.js +16 -60
  145. package/es5/queueingeventemitter.js.map +1 -1
  146. package/es5/remoteparticipant.js +33 -76
  147. package/es5/remoteparticipant.js.map +1 -1
  148. package/es5/room.js +89 -169
  149. package/es5/room.js.map +1 -1
  150. package/es5/signaling/index.js +36 -55
  151. package/es5/signaling/index.js.map +1 -1
  152. package/es5/signaling/localparticipant.js +18 -37
  153. package/es5/signaling/localparticipant.js.map +1 -1
  154. package/es5/signaling/localtrackpublication.js +28 -51
  155. package/es5/signaling/localtrackpublication.js.map +1 -1
  156. package/es5/signaling/participant.js +37 -63
  157. package/es5/signaling/participant.js.map +1 -1
  158. package/es5/signaling/recording.js +11 -29
  159. package/es5/signaling/recording.js.map +1 -1
  160. package/es5/signaling/remoteparticipant.js +6 -24
  161. package/es5/signaling/remoteparticipant.js.map +1 -1
  162. package/es5/signaling/remotetrackpublication.js +27 -53
  163. package/es5/signaling/remotetrackpublication.js.map +1 -1
  164. package/es5/signaling/room.js +40 -59
  165. package/es5/signaling/room.js.map +1 -1
  166. package/es5/signaling/track.js +52 -90
  167. package/es5/signaling/track.js.map +1 -1
  168. package/es5/signaling/v2/cancelableroomsignalingpromise.js +46 -46
  169. package/es5/signaling/v2/cancelableroomsignalingpromise.js.map +1 -1
  170. package/es5/signaling/v2/dominantspeakersignaling.js +18 -40
  171. package/es5/signaling/v2/dominantspeakersignaling.js.map +1 -1
  172. package/es5/signaling/v2/icebox.js +12 -13
  173. package/es5/signaling/v2/icebox.js.map +1 -1
  174. package/es5/signaling/v2/iceconnectionmonitor.js +28 -32
  175. package/es5/signaling/v2/iceconnectionmonitor.js.map +1 -1
  176. package/es5/signaling/v2/index.js +12 -31
  177. package/es5/signaling/v2/index.js.map +1 -1
  178. package/es5/signaling/v2/localparticipant.js +65 -85
  179. package/es5/signaling/v2/localparticipant.js.map +1 -1
  180. package/es5/signaling/v2/localtrackpublication.js +21 -39
  181. package/es5/signaling/v2/localtrackpublication.js.map +1 -1
  182. package/es5/signaling/v2/mediasignaling.js +25 -48
  183. package/es5/signaling/v2/mediasignaling.js.map +1 -1
  184. package/es5/signaling/v2/networkqualitymonitor.js +50 -97
  185. package/es5/signaling/v2/networkqualitymonitor.js.map +1 -1
  186. package/es5/signaling/v2/networkqualitysignaling.js +56 -88
  187. package/es5/signaling/v2/networkqualitysignaling.js.map +1 -1
  188. package/es5/signaling/v2/peerconnection.js +523 -648
  189. package/es5/signaling/v2/peerconnection.js.map +1 -1
  190. package/es5/signaling/v2/peerconnectionmanager.js +111 -167
  191. package/es5/signaling/v2/peerconnectionmanager.js.map +1 -1
  192. package/es5/signaling/v2/publisherhintsignaling.js +22 -42
  193. package/es5/signaling/v2/publisherhintsignaling.js.map +1 -1
  194. package/es5/signaling/v2/recording.js +8 -26
  195. package/es5/signaling/v2/recording.js.map +1 -1
  196. package/es5/signaling/v2/remoteparticipant.js +25 -43
  197. package/es5/signaling/v2/remoteparticipant.js.map +1 -1
  198. package/es5/signaling/v2/remotetrackpublication.js +7 -24
  199. package/es5/signaling/v2/remotetrackpublication.js.map +1 -1
  200. package/es5/signaling/v2/renderhintssignaling.js +40 -61
  201. package/es5/signaling/v2/renderhintssignaling.js.map +1 -1
  202. package/es5/signaling/v2/room.js +216 -280
  203. package/es5/signaling/v2/room.js.map +1 -1
  204. package/es5/signaling/v2/trackprioritysignaling.js +11 -29
  205. package/es5/signaling/v2/trackprioritysignaling.js.map +1 -1
  206. package/es5/signaling/v2/trackswitchoffsignaling.js +10 -28
  207. package/es5/signaling/v2/trackswitchoffsignaling.js.map +1 -1
  208. package/es5/signaling/v2/transcriptionsignaling.js +8 -26
  209. package/es5/signaling/v2/transcriptionsignaling.js.map +1 -1
  210. package/es5/signaling/v2/twilioconnectiontransport.js +62 -82
  211. package/es5/signaling/v2/twilioconnectiontransport.js.map +1 -1
  212. package/es5/statemachine.js +75 -121
  213. package/es5/statemachine.js.map +1 -1
  214. package/es5/stats/average.js +2 -2
  215. package/es5/stats/average.js.map +1 -1
  216. package/es5/stats/icereport.js +11 -12
  217. package/es5/stats/icereport.js.map +1 -1
  218. package/es5/stats/icereportfactory.js +8 -9
  219. package/es5/stats/icereportfactory.js.map +1 -1
  220. package/es5/stats/localaudiotrackstats.js +6 -24
  221. package/es5/stats/localaudiotrackstats.js.map +1 -1
  222. package/es5/stats/localtrackstats.js +6 -24
  223. package/es5/stats/localtrackstats.js.map +1 -1
  224. package/es5/stats/localvideotrackstats.js +9 -27
  225. package/es5/stats/localvideotrackstats.js.map +1 -1
  226. package/es5/stats/networkqualityaudiostats.js +5 -22
  227. package/es5/stats/networkqualityaudiostats.js.map +1 -1
  228. package/es5/stats/networkqualitybandwidthstats.js +3 -5
  229. package/es5/stats/networkqualitybandwidthstats.js.map +1 -1
  230. package/es5/stats/networkqualityfractionloststats.js +3 -5
  231. package/es5/stats/networkqualityfractionloststats.js.map +1 -1
  232. package/es5/stats/networkqualitylatencystats.js +3 -5
  233. package/es5/stats/networkqualitylatencystats.js.map +1 -1
  234. package/es5/stats/networkqualitymediastats.js +5 -7
  235. package/es5/stats/networkqualitymediastats.js.map +1 -1
  236. package/es5/stats/networkqualityrecvstats.js +5 -22
  237. package/es5/stats/networkqualityrecvstats.js.map +1 -1
  238. package/es5/stats/networkqualitysendorrecvstats.js +6 -8
  239. package/es5/stats/networkqualitysendorrecvstats.js.map +1 -1
  240. package/es5/stats/networkqualitysendstats.js +5 -22
  241. package/es5/stats/networkqualitysendstats.js.map +1 -1
  242. package/es5/stats/networkqualitystats.js +5 -7
  243. package/es5/stats/networkqualitystats.js.map +1 -1
  244. package/es5/stats/networkqualityvideostats.js +5 -22
  245. package/es5/stats/networkqualityvideostats.js.map +1 -1
  246. package/es5/stats/peerconnectionreport.js +13 -14
  247. package/es5/stats/peerconnectionreport.js.map +1 -1
  248. package/es5/stats/peerconnectionreportfactory.js +89 -185
  249. package/es5/stats/peerconnectionreportfactory.js.map +1 -1
  250. package/es5/stats/receiverreport.js +28 -46
  251. package/es5/stats/receiverreport.js.map +1 -1
  252. package/es5/stats/receiverreportfactory.js +11 -29
  253. package/es5/stats/receiverreportfactory.js.map +1 -1
  254. package/es5/stats/remoteaudiotrackstats.js +6 -24
  255. package/es5/stats/remoteaudiotrackstats.js.map +1 -1
  256. package/es5/stats/remotetrackstats.js +6 -24
  257. package/es5/stats/remotetrackstats.js.map +1 -1
  258. package/es5/stats/remotevideotrackstats.js +7 -25
  259. package/es5/stats/remotevideotrackstats.js.map +1 -1
  260. package/es5/stats/senderorreceiverreport.js +3 -4
  261. package/es5/stats/senderorreceiverreport.js.map +1 -1
  262. package/es5/stats/senderorreceiverreportfactory.js +3 -4
  263. package/es5/stats/senderorreceiverreportfactory.js.map +1 -1
  264. package/es5/stats/senderreport.js +20 -38
  265. package/es5/stats/senderreport.js.map +1 -1
  266. package/es5/stats/senderreportfactory.js +11 -29
  267. package/es5/stats/senderreportfactory.js.map +1 -1
  268. package/es5/stats/statsreport.js +11 -12
  269. package/es5/stats/statsreport.js.map +1 -1
  270. package/es5/stats/sum.js +1 -1
  271. package/es5/stats/sum.js.map +1 -1
  272. package/es5/stats/trackstats.js +3 -4
  273. package/es5/stats/trackstats.js.map +1 -1
  274. package/es5/transceiver.js +8 -26
  275. package/es5/transceiver.js.map +1 -1
  276. package/es5/twilioconnection.js +166 -223
  277. package/es5/twilioconnection.js.map +1 -1
  278. package/es5/util/asyncvar.js +12 -14
  279. package/es5/util/asyncvar.js.map +1 -1
  280. package/es5/util/backoff.js +14 -16
  281. package/es5/util/backoff.js.map +1 -1
  282. package/es5/util/browserdetection.js +19 -35
  283. package/es5/util/browserdetection.js.map +1 -1
  284. package/es5/util/cancelablepromise.js +30 -57
  285. package/es5/util/cancelablepromise.js.map +1 -1
  286. package/es5/util/constants.js +13 -13
  287. package/es5/util/constants.js.map +1 -1
  288. package/es5/util/detectsilentaudio.js +10 -10
  289. package/es5/util/detectsilentaudio.js.map +1 -1
  290. package/es5/util/detectsilentvideo.js +12 -12
  291. package/es5/util/detectsilentvideo.js.map +1 -1
  292. package/es5/util/documentvisibilitymonitor.js +34 -41
  293. package/es5/util/documentvisibilitymonitor.js.map +1 -1
  294. package/es5/util/dynamicimport.js +4 -4
  295. package/es5/util/dynamicimport.js.map +1 -1
  296. package/es5/util/eventobserver.js +19 -39
  297. package/es5/util/eventobserver.js.map +1 -1
  298. package/es5/util/filter.js +11 -12
  299. package/es5/util/filter.js.map +1 -1
  300. package/es5/util/index.js +96 -165
  301. package/es5/util/index.js.map +1 -1
  302. package/es5/util/insightspublisher/index.js +48 -78
  303. package/es5/util/insightspublisher/index.js.map +1 -1
  304. package/es5/util/insightspublisher/null.js +9 -10
  305. package/es5/util/insightspublisher/null.js.map +1 -1
  306. package/es5/util/localmediarestartdeferreds.js +10 -11
  307. package/es5/util/localmediarestartdeferreds.js.map +1 -1
  308. package/es5/util/log.js +44 -70
  309. package/es5/util/log.js.map +1 -1
  310. package/es5/util/movingaveragedelta.js +12 -13
  311. package/es5/util/movingaveragedelta.js.map +1 -1
  312. package/es5/util/networkmonitor.js +26 -30
  313. package/es5/util/networkmonitor.js.map +1 -1
  314. package/es5/util/nullobserver.js +22 -48
  315. package/es5/util/nullobserver.js.map +1 -1
  316. package/es5/util/sdp/index.js +109 -134
  317. package/es5/util/sdp/index.js.map +1 -1
  318. package/es5/util/sdp/issue8329.js +56 -57
  319. package/es5/util/sdp/issue8329.js.map +1 -1
  320. package/es5/util/sdp/simulcast.js +55 -73
  321. package/es5/util/sdp/simulcast.js.map +1 -1
  322. package/es5/util/sdp/trackmatcher.js +14 -15
  323. package/es5/util/sdp/trackmatcher.js.map +1 -1
  324. package/es5/util/sid.js +5 -5
  325. package/es5/util/sid.js.map +1 -1
  326. package/es5/util/support.js +13 -16
  327. package/es5/util/support.js.map +1 -1
  328. package/es5/util/timeout.js +28 -39
  329. package/es5/util/timeout.js.map +1 -1
  330. package/es5/util/timeoutpromise.js +38 -84
  331. package/es5/util/timeoutpromise.js.map +1 -1
  332. package/es5/util/twilio-video-errors.js +277 -457
  333. package/es5/util/twilio-video-errors.js.map +1 -1
  334. package/es5/util/twilioerror.js +13 -57
  335. package/es5/util/twilioerror.js.map +1 -1
  336. package/es5/util/twiliowarning.js +1 -1
  337. package/es5/util/twiliowarning.js.map +1 -1
  338. package/es5/util/validate.js +13 -15
  339. package/es5/util/validate.js.map +1 -1
  340. package/es5/vendor/inherits.js +3 -5
  341. package/es5/vendor/inherits.js.map +1 -1
  342. package/es5/webaudio/audiocontext.js +8 -9
  343. package/es5/webaudio/audiocontext.js.map +1 -1
  344. package/es5/webaudio/detectsilence.js +9 -9
  345. package/es5/webaudio/detectsilence.js.map +1 -1
  346. package/es5/webaudio/workaround180748.js +15 -13
  347. package/es5/webaudio/workaround180748.js.map +1 -1
  348. package/es5/webrtc/getstats.js +242 -448
  349. package/es5/webrtc/getstats.js.map +1 -1
  350. package/es5/webrtc/getusermedia.js +1 -2
  351. package/es5/webrtc/getusermedia.js.map +1 -1
  352. package/es5/webrtc/index.js +1 -17
  353. package/es5/webrtc/index.js.map +1 -1
  354. package/es5/webrtc/rtcpeerconnection/chrome.js +102 -295
  355. package/es5/webrtc/rtcpeerconnection/chrome.js.map +1 -1
  356. package/es5/webrtc/rtcpeerconnection/firefox.js +69 -146
  357. package/es5/webrtc/rtcpeerconnection/firefox.js.map +1 -1
  358. package/es5/webrtc/rtcpeerconnection/index.js +1 -1
  359. package/es5/webrtc/rtcpeerconnection/index.js.map +1 -1
  360. package/es5/webrtc/rtcpeerconnection/safari.js +110 -192
  361. package/es5/webrtc/rtcpeerconnection/safari.js.map +1 -1
  362. package/es5/webrtc/rtcrtpsender.js +3 -4
  363. package/es5/webrtc/rtcrtpsender.js.map +1 -1
  364. package/es5/webrtc/util/index.js +28 -63
  365. package/es5/webrtc/util/index.js.map +1 -1
  366. package/es5/webrtc/util/latch.js +21 -28
  367. package/es5/webrtc/util/latch.js.map +1 -1
  368. package/es5/webrtc/util/sdp.js +41 -211
  369. package/es5/webrtc/util/sdp.js.map +1 -1
  370. package/lib/connect.js +0 -1
  371. package/lib/createlocaltracks.ts +2 -2
  372. package/lib/localparticipant.js +0 -1
  373. package/lib/media/track/mediatrack.js +0 -2
  374. package/lib/media/track/noisecancellationimpl.ts +2 -2
  375. package/lib/noisecancellationadapter.ts +2 -2
  376. package/lib/preflight/getCombinedConnectionStats.ts +1 -1
  377. package/lib/preflight/getturncredentials.ts +2 -2
  378. package/lib/preflight/preflighttest.ts +3 -3
  379. package/lib/signaling/v2/peerconnection.js +2 -4
  380. package/lib/util/sdp/index.js +1 -2
  381. package/lib/util/sdp/issue8329.js +0 -2
  382. package/lib/util/support.js +4 -7
  383. package/lib/webrtc/getstats.js +6 -21
  384. package/lib/webrtc/index.js +0 -16
  385. package/lib/webrtc/rtcpeerconnection/chrome.js +13 -123
  386. package/lib/webrtc/rtcpeerconnection/firefox.js +5 -6
  387. package/lib/webrtc/rtcpeerconnection/safari.js +9 -19
  388. package/lib/webrtc/util/sdp.js +13 -194
  389. package/package.json +16 -11
  390. package/rollup.config.mjs +85 -0
  391. package/tsconfig.json +5 -5
  392. package/es5/webrtc/mediastream.js +0 -11
  393. package/es5/webrtc/mediastream.js.map +0 -1
  394. package/es5/webrtc/mediastreamtrack.js +0 -11
  395. package/es5/webrtc/mediastreamtrack.js.map +0 -1
  396. package/es5/webrtc/rtcicecandidate.js +0 -11
  397. package/es5/webrtc/rtcicecandidate.js.map +0 -1
  398. package/es5/webrtc/rtcsessiondescription/chrome.js +0 -43
  399. package/es5/webrtc/rtcsessiondescription/chrome.js.map +0 -1
  400. package/es5/webrtc/rtcsessiondescription/firefox.js +0 -4
  401. package/es5/webrtc/rtcsessiondescription/firefox.js.map +0 -1
  402. package/es5/webrtc/rtcsessiondescription/index.js +0 -22
  403. package/es5/webrtc/rtcsessiondescription/index.js.map +0 -1
  404. package/lib/webrtc/mediastream.js +0 -10
  405. package/lib/webrtc/mediastreamtrack.js +0 -10
  406. package/lib/webrtc/rtcicecandidate.js +0 -10
  407. package/lib/webrtc/rtcsessiondescription/chrome.js +0 -39
  408. package/lib/webrtc/rtcsessiondescription/firefox.js +0 -4
  409. package/lib/webrtc/rtcsessiondescription/index.js +0 -21
  410. package/src/twilio-video.js +0 -16
@@ -1,51 +1,19 @@
1
1
  /* eslint callback-return:0 */
2
2
  'use strict';
3
- var __extends = (this && this.__extends) || (function () {
4
- var extendStatics = function (d, b) {
5
- extendStatics = Object.setPrototypeOf ||
6
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
7
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
8
- return extendStatics(d, b);
9
- };
10
- return function (d, b) {
11
- if (typeof b !== "function" && b !== null)
12
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
13
- extendStatics(d, b);
14
- function __() { this.constructor = d; }
15
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
16
- };
17
- })();
18
- var __read = (this && this.__read) || function (o, n) {
19
- var m = typeof Symbol === "function" && o[Symbol.iterator];
20
- if (!m) return o;
21
- var i = m.call(o), r, ar = [], e;
22
- try {
23
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
24
- }
25
- catch (error) { e = { error: error }; }
26
- finally {
27
- try {
28
- if (r && !r.done && (m = i["return"])) m.call(i);
29
- }
30
- finally { if (e) throw e.error; }
31
- }
32
- return ar;
33
- };
34
- var EventEmitter = require('events');
35
- var PeerConnectionReportFactory = require('../../stats/peerconnectionreportfactory');
3
+ const EventEmitter = require('events');
4
+ const PeerConnectionReportFactory = require('../../stats/peerconnectionreportfactory');
36
5
  /**
37
6
  * @emits NetworkQualityMonitor#updated
38
7
  */
39
- var NetworkQualityMonitor = /** @class */ (function (_super) {
40
- __extends(NetworkQualityMonitor, _super);
8
+ class NetworkQualityMonitor extends EventEmitter {
41
9
  /**
42
10
  * Construct a {@link NetworkQualityMonitor}.
43
11
  * @param {PeerConnectionManager} manager
44
12
  * @param {NetworkQualitySignaling} signaling
45
13
  */
46
- function NetworkQualityMonitor(manager, signaling) {
47
- var _this = _super.call(this) || this;
48
- Object.defineProperties(_this, {
14
+ constructor(manager, signaling) {
15
+ super();
16
+ Object.defineProperties(this, {
49
17
  _factories: {
50
18
  value: new WeakMap()
51
19
  },
@@ -56,99 +24,84 @@ var NetworkQualityMonitor = /** @class */ (function (_super) {
56
24
  value: signaling
57
25
  }
58
26
  });
59
- signaling.on('updated', function () { return _this.emit('updated'); });
60
- return _this;
27
+ signaling.on('updated', () => this.emit('updated'));
28
+ }
29
+ /**
30
+ * Get the current {@link NetworkQualityLevel}, if any.
31
+ * @returns {?NetworkQualityLevel} level - initially null
32
+ */
33
+ get level() {
34
+ return this._signaling.level;
35
+ }
36
+ /**
37
+ * Get the current {@link NetworkQualityLevels}, if any.
38
+ * @returns {?NetworkQualityLevels} levels - initially null
39
+ */
40
+ get levels() {
41
+ return this._signaling.levels;
42
+ }
43
+ /**
44
+ * Get the current {@link NetworkQualityLevels} of remote participants, if any.
45
+ * @returns {Map<String, NetworkQualityLevels>} remoteLevels
46
+ */
47
+ get remoteLevels() {
48
+ return this._signaling.remoteLevels;
61
49
  }
62
- Object.defineProperty(NetworkQualityMonitor.prototype, "level", {
63
- /**
64
- * Get the current {@link NetworkQualityLevel}, if any.
65
- * @returns {?NetworkQualityLevel} level - initially null
66
- */
67
- get: function () {
68
- return this._signaling.level;
69
- },
70
- enumerable: false,
71
- configurable: true
72
- });
73
- Object.defineProperty(NetworkQualityMonitor.prototype, "levels", {
74
- /**
75
- * Get the current {@link NetworkQualityLevels}, if any.
76
- * @returns {?NetworkQualityLevels} levels - initially null
77
- */
78
- get: function () {
79
- return this._signaling.levels;
80
- },
81
- enumerable: false,
82
- configurable: true
83
- });
84
- Object.defineProperty(NetworkQualityMonitor.prototype, "remoteLevels", {
85
- /**
86
- * Get the current {@link NetworkQualityLevels} of remote participants, if any.
87
- * @returns {Map<String, NetworkQualityLevels>} remoteLevels
88
- */
89
- get: function () {
90
- return this._signaling.remoteLevels;
91
- },
92
- enumerable: false,
93
- configurable: true
94
- });
95
50
  /**
96
51
  * Start monitoring.
97
52
  * @returns {void}
98
53
  */
99
- NetworkQualityMonitor.prototype.start = function () {
100
- var _this = this;
54
+ start() {
101
55
  this.stop();
102
- var timeout = setTimeout(function () {
103
- if (_this._timeout !== timeout) {
56
+ const timeout = setTimeout(() => {
57
+ if (this._timeout !== timeout) {
104
58
  return;
105
59
  }
106
- next(_this).then(function (reports) {
107
- if (_this._timeout !== timeout) {
60
+ next(this).then(reports => {
61
+ if (this._timeout !== timeout) {
108
62
  return;
109
63
  }
110
64
  if (reports.length) {
111
- var _a = __read(reports, 1), report = _a[0];
112
- _this._signaling.put(report);
65
+ const [report] = reports;
66
+ this._signaling.put(report);
113
67
  }
114
- _this.start();
68
+ this.start();
115
69
  });
116
70
  }, 200);
117
71
  this._timeout = timeout;
118
- };
72
+ }
119
73
  /**
120
74
  * Stop monitoring.
121
75
  * @returns {void}
122
76
  */
123
- NetworkQualityMonitor.prototype.stop = function () {
77
+ stop() {
124
78
  clearTimeout(this._timeout);
125
79
  this._timeout = null;
126
- };
127
- return NetworkQualityMonitor;
128
- }(EventEmitter));
80
+ }
81
+ }
129
82
  /**
130
83
  * @param {NetworkQualityMonitor}
131
84
  * @returns {Promise<NetworkQualityInputs>}
132
85
  */
133
86
  function next(monitor) {
134
- var pcv2s = monitor._manager._peerConnections
87
+ const pcv2s = monitor._manager._peerConnections
135
88
  ? Array.from(monitor._manager._peerConnections.values())
136
89
  : [];
137
- var pcs = pcv2s
138
- .map(function (pcv2) { return pcv2._peerConnection; })
139
- .filter(function (pc) { return pc.signalingState !== 'closed'; });
140
- var factories = pcs.map(function (pc) {
90
+ const pcs = pcv2s
91
+ .map(pcv2 => pcv2._peerConnection)
92
+ .filter(pc => pc.signalingState !== 'closed');
93
+ const factories = pcs.map(pc => {
141
94
  if (monitor._factories.has(pc)) {
142
95
  return monitor._factories.get(pc);
143
96
  }
144
- var factory = new PeerConnectionReportFactory(pc);
97
+ const factory = new PeerConnectionReportFactory(pc);
145
98
  monitor._factories.set(pc, factory);
146
99
  return factory;
147
100
  });
148
- var reportsOrNullPromises = factories.map(function (factory) { return factory.next().catch(function () { return null; }); });
149
- return Promise.all(reportsOrNullPromises).then(function (reportsOrNull) { return reportsOrNull
150
- .filter(function (reportOrNull) { return reportOrNull; })
151
- .map(function (report) { return report.summarize(); }); });
101
+ const reportsOrNullPromises = factories.map(factory => factory.next().catch(() => null));
102
+ return Promise.all(reportsOrNullPromises).then(reportsOrNull => reportsOrNull
103
+ .filter(reportOrNull => reportOrNull)
104
+ .map(report => report.summarize()));
152
105
  }
153
106
  /**
154
107
  * The {@link NetworkQualityLevel} changed.
@@ -1 +1 @@
1
- {"version":3,"file":"networkqualitymonitor.js","sourceRoot":"","sources":["../../../lib/signaling/v2/networkqualitymonitor.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"networkqualitymonitor.js","sourceRoot":"","sources":["../../../lib/signaling/v2/networkqualitymonitor.js"],"names":[],"mappings":"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"}
@@ -1,23 +1,8 @@
1
1
  'use strict';
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var MediaSignaling = require('./mediasignaling');
18
- var AsyncVar = require('../../util/asyncvar');
19
- var Timeout = require('../../util/timeout');
20
- var NETWORK_QUALITY_RESPONSE_TIME_MS = 5000;
2
+ const MediaSignaling = require('./mediasignaling');
3
+ const AsyncVar = require('../../util/asyncvar');
4
+ const Timeout = require('../../util/timeout');
5
+ const NETWORK_QUALITY_RESPONSE_TIME_MS = 5000;
21
6
  /**
22
7
  * @interface MediaSignalingTransport
23
8
  * @property {function(object): boolean} send
@@ -77,16 +62,15 @@ var NETWORK_QUALITY_RESPONSE_TIME_MS = 5000;
77
62
  * Group Rooms, we use a {@link DataTransport}.
78
63
  * @emits NetworkQualitySignaling#updated
79
64
  */
80
- var NetworkQualitySignaling = /** @class */ (function (_super) {
81
- __extends(NetworkQualitySignaling, _super);
65
+ class NetworkQualitySignaling extends MediaSignaling {
82
66
  /**
83
67
  * Construct a {@link NetworkQualitySignaling}.
84
68
  * @param {Promise<DataTrackReceiver>} getReceiver
85
69
  * @param {NetworkQualityConfigurationImpl} networkQualityConfiguration
86
70
  */
87
- function NetworkQualitySignaling(getReceiver, networkQualityConfiguration, options) {
88
- var _this = _super.call(this, getReceiver, 'network_quality', options) || this;
89
- Object.defineProperties(_this, {
71
+ constructor(getReceiver, networkQualityConfiguration, options) {
72
+ super(getReceiver, 'network_quality', options);
73
+ Object.defineProperties(this, {
90
74
  _level: {
91
75
  value: null,
92
76
  writable: true
@@ -103,14 +87,14 @@ var NetworkQualitySignaling = /** @class */ (function (_super) {
103
87
  value: new AsyncVar()
104
88
  },
105
89
  _resendTimer: {
106
- value: new Timeout(function () {
90
+ value: new Timeout(() => {
107
91
  // and schedule next timer at x1.5 the delay..
108
- _this._resendTimer.setDelay(_this._resendTimer.delay * 1.5);
109
- _this._sendNetworkQualityInputs();
92
+ this._resendTimer.setDelay(this._resendTimer.delay * 1.5);
93
+ this._sendNetworkQualityInputs();
110
94
  }, NETWORK_QUALITY_RESPONSE_TIME_MS, false),
111
95
  },
112
96
  _networkQualityReportLevels: {
113
- get: function () {
97
+ get() {
114
98
  return {
115
99
  reportLevel: networkQualityConfiguration.local,
116
100
  remoteReportLevel: networkQualityConfiguration.remote
@@ -118,54 +102,41 @@ var NetworkQualitySignaling = /** @class */ (function (_super) {
118
102
  }
119
103
  }
120
104
  });
121
- _this.on('ready', function (transport) {
122
- transport.on('message', function (message) {
123
- _this._log.debug('Incoming: ', message);
105
+ this.on('ready', transport => {
106
+ transport.on('message', message => {
107
+ this._log.debug('Incoming: ', message);
124
108
  switch (message.type) {
125
109
  case 'network_quality':
126
- _this._handleNetworkQualityMessage(message);
110
+ this._handleNetworkQualityMessage(message);
127
111
  break;
128
112
  default:
129
113
  break;
130
114
  }
131
115
  });
132
116
  });
133
- _this._sendNetworkQualityInputs();
134
- return _this;
117
+ this._sendNetworkQualityInputs();
118
+ }
119
+ /**
120
+ * Get the current {@link NetworkQualityLevel}, if any.
121
+ * @returns {?NetworkQualityLevel} level - initially null
122
+ */
123
+ get level() {
124
+ return this._level;
125
+ }
126
+ /**
127
+ * Get the current {@link NetworkQualityLevels}, if any.
128
+ * @returns {?NetworkQualityLevels} levels - initially null
129
+ */
130
+ get levels() {
131
+ return this._levels;
132
+ }
133
+ /**
134
+ * Get the current {@link NetworkQualityLevels} of remote participants, if any.
135
+ * @returns {Map<String, NetworkQualityLevels>} remoteLevels
136
+ */
137
+ get remoteLevels() {
138
+ return this._remoteLevels;
135
139
  }
136
- Object.defineProperty(NetworkQualitySignaling.prototype, "level", {
137
- /**
138
- * Get the current {@link NetworkQualityLevel}, if any.
139
- * @returns {?NetworkQualityLevel} level - initially null
140
- */
141
- get: function () {
142
- return this._level;
143
- },
144
- enumerable: false,
145
- configurable: true
146
- });
147
- Object.defineProperty(NetworkQualitySignaling.prototype, "levels", {
148
- /**
149
- * Get the current {@link NetworkQualityLevels}, if any.
150
- * @returns {?NetworkQualityLevels} levels - initially null
151
- */
152
- get: function () {
153
- return this._levels;
154
- },
155
- enumerable: false,
156
- configurable: true
157
- });
158
- Object.defineProperty(NetworkQualitySignaling.prototype, "remoteLevels", {
159
- /**
160
- * Get the current {@link NetworkQualityLevels} of remote participants, if any.
161
- * @returns {Map<String, NetworkQualityLevels>} remoteLevels
162
- */
163
- get: function () {
164
- return this._remoteLevels;
165
- },
166
- enumerable: false,
167
- configurable: true
168
- });
169
140
  /**
170
141
  * Check to see if the {@link NetworkQualityLevel} is new, and raise an
171
142
  * event if necessary.
@@ -173,11 +144,10 @@ var NetworkQualitySignaling = /** @class */ (function (_super) {
173
144
  * @param {object} message
174
145
  * @returns {void}
175
146
  */
176
- NetworkQualitySignaling.prototype._handleNetworkQualityMessage = function (message) {
177
- var _this = this;
178
- var updated = false;
179
- var level = null;
180
- var local = message ? message.local : null;
147
+ _handleNetworkQualityMessage(message) {
148
+ let updated = false;
149
+ let level = null;
150
+ const local = message ? message.local : null;
181
151
  if (typeof local === 'number') {
182
152
  // NOTE(mroberts): In prod, we plan to only send the level.
183
153
  level = local;
@@ -197,8 +167,8 @@ var NetworkQualitySignaling = /** @class */ (function (_super) {
197
167
  updated = true;
198
168
  }
199
169
  this._remoteLevels = message && message.remotes
200
- ? message.remotes.reduce(function (levels, obj) {
201
- var oldObj = _this._remoteLevels.get(obj.sid) || {};
170
+ ? message.remotes.reduce((levels, obj) => {
171
+ const oldObj = this._remoteLevels.get(obj.sid) || {};
202
172
  if (oldObj.level !== obj.level) {
203
173
  updated = true;
204
174
  }
@@ -213,36 +183,34 @@ var NetworkQualitySignaling = /** @class */ (function (_super) {
213
183
  // timer is cleared only while we are sending inputs.
214
184
  // if we are already sending inputs do not send them again.
215
185
  if (this._resendTimer.isSet) {
216
- setTimeout(function () { return _this._sendNetworkQualityInputs(); }, 1000);
186
+ setTimeout(() => this._sendNetworkQualityInputs(), 1000);
217
187
  }
218
- };
188
+ }
219
189
  /**
220
190
  * Start sending {@link NetworkQualityInputs}.
221
191
  * @private
222
192
  * @returns {Promise<void>}
223
193
  */
224
- NetworkQualitySignaling.prototype._sendNetworkQualityInputs = function () {
225
- var _this = this;
194
+ _sendNetworkQualityInputs() {
226
195
  this._resendTimer.clear();
227
- return this._networkQualityInputs.take().then(function (networkQualityInputs) {
228
- if (_this._transport) {
229
- _this._transport.publish(createNetworkQualityInputsMessage(networkQualityInputs, _this._networkQualityReportLevels));
196
+ return this._networkQualityInputs.take().then(networkQualityInputs => {
197
+ if (this._transport) {
198
+ this._transport.publish(createNetworkQualityInputsMessage(networkQualityInputs, this._networkQualityReportLevels));
230
199
  }
231
- }).finally(function () {
232
- _this._resendTimer.start();
200
+ }).finally(() => {
201
+ this._resendTimer.start();
233
202
  });
234
- };
203
+ }
235
204
  /**
236
205
  * Put {@link NetworkQualityInputs} to be used for computing
237
206
  * {@link NetworkQualityLevel}.
238
207
  * @param {NetworkQualityInputs} networkQualityInputs
239
208
  * @returns {void}
240
209
  */
241
- NetworkQualitySignaling.prototype.put = function (networkQualityInputs) {
210
+ put(networkQualityInputs) {
242
211
  this._networkQualityInputs.put(networkQualityInputs);
243
- };
244
- return NetworkQualitySignaling;
245
- }(MediaSignaling));
212
+ }
213
+ }
246
214
  /**
247
215
  * The {@link NetworkQualityLevel} changed.
248
216
  * @event NetworkQualitySignaling#updated
@@ -1 +1 @@
1
- {"version":3,"file":"networkqualitysignaling.js","sourceRoot":"","sources":["../../../lib/signaling/v2/networkqualitysignaling.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"networkqualitysignaling.js","sourceRoot":"","sources":["../../../lib/signaling/v2/networkqualitysignaling.js"],"names":[],"mappings":"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"}