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,90 +1,19 @@
1
1
  'use strict';
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
24
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
- var __read = (this && this.__read) || function (o, n) {
50
- var m = typeof Symbol === "function" && o[Symbol.iterator];
51
- if (!m) return o;
52
- var i = m.call(o), r, ar = [], e;
53
- try {
54
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
55
- }
56
- catch (error) { e = { error: error }; }
57
- finally {
58
- try {
59
- if (r && !r.done && (m = i["return"])) m.call(i);
60
- }
61
- finally { if (e) throw e.error; }
62
- }
63
- return ar;
64
- };
65
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
66
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
67
- if (ar || !(i in from)) {
68
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
69
- ar[i] = from[i];
70
- }
71
- }
72
- return to.concat(ar || Array.prototype.slice.call(from));
73
- };
74
2
  Object.defineProperty(exports, "__esModule", { value: true });
75
3
  exports.createLocalTracks = createLocalTracks;
76
- var noisecancellationimpl_1 = require("./media/track/noisecancellationimpl");
77
- var buildLogLevels = require('./util').buildLogLevels;
78
- var _a = require('./webrtc'), getUserMedia = _a.getUserMedia, MediaStreamTrack = _a.MediaStreamTrack;
79
- var _b = require('./media/track/es5'), LocalAudioTrack = _b.LocalAudioTrack, LocalDataTrack = _b.LocalDataTrack, LocalVideoTrack = _b.LocalVideoTrack;
80
- var Log = require('./util/log');
81
- var _c = require('./util/constants'), DEFAULT_LOG_LEVEL = _c.DEFAULT_LOG_LEVEL, DEFAULT_LOGGER_NAME = _c.DEFAULT_LOGGER_NAME, INVALID_VALUE = _c.typeErrors.INVALID_VALUE;
82
- var workaround180748 = require('./webaudio/workaround180748');
83
- var telemetry = require('./insights/telemetry');
4
+ const tslib_1 = require("tslib");
5
+ const noisecancellationimpl_1 = require("./media/track/noisecancellationimpl");
6
+ const { buildLogLevels } = require('./util');
7
+ const { getUserMedia } = require('./webrtc');
8
+ const { LocalAudioTrack, LocalDataTrack, LocalVideoTrack } = require('./media/track/es5');
9
+ const Log = require('./util/log');
10
+ const { DEFAULT_LOG_LEVEL, DEFAULT_LOGGER_NAME, typeErrors: { INVALID_VALUE } } = require('./util/constants');
11
+ const workaround180748 = require('./webaudio/workaround180748');
12
+ const telemetry = require('./insights/telemetry');
84
13
  // This is used to make out which createLocalTracks() call a particular Log
85
14
  // statement belongs to. Each call to createLocalTracks() increments this
86
15
  // counter.
87
- var createLocalTrackCalls = 0;
16
+ let createLocalTrackCalls = 0;
88
17
  /**
89
18
  * Request {@link LocalTrack}s. By default, it requests a
90
19
  * {@link LocalAudioTrack} and a {@link LocalVideoTrack}.
@@ -143,121 +72,108 @@ var createLocalTrackCalls = 0;
143
72
  *
144
73
  */
145
74
  function createLocalTracks(options) {
146
- return __awaiter(this, void 0, void 0, function () {
147
- var isAudioVideoAbsent, fullOptions, logComponentName, logLevels, log, localTrackOptions, extraLocalTrackOptions, noiseCancellationOptions, mediaStreamConstraints, workaroundWebKitBug180748, mediaStream, mediaStreamTracks, error_1;
148
- var _this = this;
149
- return __generator(this, function (_a) {
150
- switch (_a.label) {
151
- case 0:
152
- isAudioVideoAbsent = !(options && ('audio' in options || 'video' in options));
153
- fullOptions = __assign({ audio: isAudioVideoAbsent, getUserMedia: getUserMedia, loggerName: DEFAULT_LOGGER_NAME, logLevel: DEFAULT_LOG_LEVEL, LocalAudioTrack: LocalAudioTrack, LocalDataTrack: LocalDataTrack, LocalVideoTrack: LocalVideoTrack, MediaStreamTrack: MediaStreamTrack, Log: Log, video: isAudioVideoAbsent }, options);
154
- logComponentName = "[createLocalTracks #".concat(++createLocalTrackCalls, "]");
155
- logLevels = buildLogLevels(fullOptions.logLevel);
156
- log = new fullOptions.Log('default', logComponentName, logLevels, fullOptions.loggerName);
157
- localTrackOptions = Object.assign({ log: log }, fullOptions);
158
- // NOTE(mmalavalli): The Room "name" in "options" was being used
159
- // as the LocalTrack name in asLocalTrack(). So we pass a copy of
160
- // "options" without the "name".
161
- // NOTE(joma): CreateLocalTracksOptions type does not really have a "name" property when used publicly by customers.
162
- // But we are passing this property when used internally by other JS files.
163
- // We can update this "any" type once those JS files are converted to TS.
164
- delete localTrackOptions.name;
165
- if (fullOptions.audio === false && fullOptions.video === false) {
166
- log.info('Neither audio nor video requested, so returning empty LocalTracks');
167
- return [2 /*return*/, []];
168
- }
169
- if (fullOptions.tracks) {
170
- log.info('Adding user-provided LocalTracks');
171
- log.debug('LocalTracks:', fullOptions.tracks);
172
- return [2 /*return*/, fullOptions.tracks];
173
- }
174
- extraLocalTrackOptions = {
175
- audio: typeof fullOptions.audio === 'object' && fullOptions.audio.name
176
- ? { name: fullOptions.audio.name }
177
- : { defaultDeviceCaptureMode: 'auto' },
178
- video: typeof fullOptions.video === 'object' && fullOptions.video.name
179
- ? { name: fullOptions.video.name }
180
- : {}
181
- };
182
- extraLocalTrackOptions.audio.isCreatedByCreateLocalTracks = true;
183
- extraLocalTrackOptions.video.isCreatedByCreateLocalTracks = true;
184
- if (typeof fullOptions.audio === 'object') {
185
- if (typeof fullOptions.audio.workaroundWebKitBug1208516 === 'boolean') {
186
- extraLocalTrackOptions.audio.workaroundWebKitBug1208516 = fullOptions.audio.workaroundWebKitBug1208516;
187
- }
188
- if ('noiseCancellationOptions' in fullOptions.audio) {
189
- noiseCancellationOptions = fullOptions.audio.noiseCancellationOptions;
190
- delete fullOptions.audio.noiseCancellationOptions;
191
- }
192
- if (!('defaultDeviceCaptureMode' in fullOptions.audio)) {
193
- extraLocalTrackOptions.audio.defaultDeviceCaptureMode = 'auto';
194
- }
195
- else if (['auto', 'manual'].every(function (mode) { return mode !== fullOptions.audio.defaultDeviceCaptureMode; })) {
196
- // eslint-disable-next-line new-cap
197
- throw INVALID_VALUE('CreateLocalAudioTrackOptions.defaultDeviceCaptureMode', ['auto', 'manual']);
198
- }
199
- else {
200
- extraLocalTrackOptions.audio.defaultDeviceCaptureMode = fullOptions.audio.defaultDeviceCaptureMode;
201
- }
202
- }
203
- if (typeof fullOptions.video === 'object' && typeof fullOptions.video.workaroundWebKitBug1208516 === 'boolean') {
204
- extraLocalTrackOptions.video.workaroundWebKitBug1208516 = fullOptions.video.workaroundWebKitBug1208516;
205
- }
206
- if (typeof fullOptions.audio === 'object') {
207
- delete fullOptions.audio.name;
208
- }
209
- if (typeof fullOptions.video === 'object') {
210
- delete fullOptions.video.name;
211
- }
212
- mediaStreamConstraints = {
213
- audio: fullOptions.audio,
214
- video: fullOptions.video
215
- };
216
- workaroundWebKitBug180748 = typeof fullOptions.audio === 'object' && fullOptions.audio.workaroundWebKitBug180748;
217
- _a.label = 1;
218
- case 1:
219
- _a.trys.push([1, 4, , 5]);
220
- return [4 /*yield*/, (workaroundWebKitBug180748
221
- ? workaround180748(log, fullOptions.getUserMedia, mediaStreamConstraints)
222
- : fullOptions.getUserMedia(mediaStreamConstraints))];
223
- case 2:
224
- mediaStream = _a.sent();
225
- telemetry.getUserMedia.succeeded();
226
- mediaStreamTracks = __spreadArray(__spreadArray([], __read(mediaStream.getAudioTracks()), false), __read(mediaStream.getVideoTracks()), false);
227
- log.info('Call to getUserMedia successful; got tracks:', mediaStreamTracks);
228
- return [4 /*yield*/, Promise.all(mediaStreamTracks.map(function (mediaStreamTrack) { return __awaiter(_this, void 0, void 0, function () {
229
- var _a, cleanTrack, noiseCancellation;
230
- return __generator(this, function (_b) {
231
- switch (_b.label) {
232
- case 0:
233
- if (!(mediaStreamTrack.kind === 'audio' && noiseCancellationOptions)) return [3 /*break*/, 2];
234
- return [4 /*yield*/, (0, noisecancellationimpl_1.applyNoiseCancellation)(mediaStreamTrack, noiseCancellationOptions, log)];
235
- case 1:
236
- _a = _b.sent(), cleanTrack = _a.cleanTrack, noiseCancellation = _a.noiseCancellation;
237
- return [2 /*return*/, new localTrackOptions.LocalAudioTrack(cleanTrack, __assign(__assign(__assign({}, extraLocalTrackOptions.audio), localTrackOptions), { noiseCancellation: noiseCancellation }))];
238
- case 2:
239
- if (mediaStreamTrack.kind === 'audio') {
240
- return [2 /*return*/, new localTrackOptions.LocalAudioTrack(mediaStreamTrack, __assign(__assign({}, extraLocalTrackOptions.audio), localTrackOptions))];
241
- }
242
- _b.label = 3;
243
- case 3: return [2 /*return*/, new localTrackOptions.LocalVideoTrack(mediaStreamTrack, __assign(__assign({}, extraLocalTrackOptions.video), localTrackOptions))];
244
- }
245
- });
246
- }); }))];
247
- case 3: return [2 /*return*/, _a.sent()];
248
- case 4:
249
- error_1 = _a.sent();
250
- if (error_1.name === 'NotAllowedError' || error_1.name === 'PermissionDeniedError') {
251
- telemetry.getUserMedia.denied();
252
- }
253
- else {
254
- telemetry.getUserMedia.failed(error_1);
255
- }
256
- log.warn('Call to getUserMedia failed:', error_1);
257
- throw error_1;
258
- case 5: return [2 /*return*/];
75
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
76
+ const isAudioVideoAbsent = !(options && ('audio' in options || 'video' in options));
77
+ const fullOptions = Object.assign({ audio: isAudioVideoAbsent, getUserMedia, loggerName: DEFAULT_LOGGER_NAME, logLevel: DEFAULT_LOG_LEVEL, LocalAudioTrack,
78
+ LocalDataTrack,
79
+ LocalVideoTrack,
80
+ MediaStreamTrack,
81
+ Log, video: isAudioVideoAbsent }, options);
82
+ const logComponentName = `[createLocalTracks #${++createLocalTrackCalls}]`;
83
+ const logLevels = buildLogLevels(fullOptions.logLevel);
84
+ const log = new fullOptions.Log('default', logComponentName, logLevels, fullOptions.loggerName);
85
+ const localTrackOptions = Object.assign({ log }, fullOptions);
86
+ // NOTE(mmalavalli): The Room "name" in "options" was being used
87
+ // as the LocalTrack name in asLocalTrack(). So we pass a copy of
88
+ // "options" without the "name".
89
+ // NOTE(joma): CreateLocalTracksOptions type does not really have a "name" property when used publicly by customers.
90
+ // But we are passing this property when used internally by other JS files.
91
+ // We can update this "any" type once those JS files are converted to TS.
92
+ delete localTrackOptions.name;
93
+ if (fullOptions.audio === false && fullOptions.video === false) {
94
+ log.info('Neither audio nor video requested, so returning empty LocalTracks');
95
+ return [];
96
+ }
97
+ if (fullOptions.tracks) {
98
+ log.info('Adding user-provided LocalTracks');
99
+ log.debug('LocalTracks:', fullOptions.tracks);
100
+ return fullOptions.tracks;
101
+ }
102
+ const extraLocalTrackOptions = {
103
+ audio: typeof fullOptions.audio === 'object' && fullOptions.audio.name
104
+ ? { name: fullOptions.audio.name }
105
+ : { defaultDeviceCaptureMode: 'auto' },
106
+ video: typeof fullOptions.video === 'object' && fullOptions.video.name
107
+ ? { name: fullOptions.video.name }
108
+ : {}
109
+ };
110
+ extraLocalTrackOptions.audio.isCreatedByCreateLocalTracks = true;
111
+ extraLocalTrackOptions.video.isCreatedByCreateLocalTracks = true;
112
+ let noiseCancellationOptions;
113
+ if (typeof fullOptions.audio === 'object') {
114
+ if (typeof fullOptions.audio.workaroundWebKitBug1208516 === 'boolean') {
115
+ extraLocalTrackOptions.audio.workaroundWebKitBug1208516 = fullOptions.audio.workaroundWebKitBug1208516;
116
+ }
117
+ if ('noiseCancellationOptions' in fullOptions.audio) {
118
+ noiseCancellationOptions = fullOptions.audio.noiseCancellationOptions;
119
+ delete fullOptions.audio.noiseCancellationOptions;
120
+ }
121
+ if (!('defaultDeviceCaptureMode' in fullOptions.audio)) {
122
+ extraLocalTrackOptions.audio.defaultDeviceCaptureMode = 'auto';
123
+ }
124
+ else if (['auto', 'manual'].every(mode => mode !== fullOptions.audio.defaultDeviceCaptureMode)) {
125
+ // eslint-disable-next-line new-cap
126
+ throw INVALID_VALUE('CreateLocalAudioTrackOptions.defaultDeviceCaptureMode', ['auto', 'manual']);
259
127
  }
260
- });
128
+ else {
129
+ extraLocalTrackOptions.audio.defaultDeviceCaptureMode = fullOptions.audio.defaultDeviceCaptureMode;
130
+ }
131
+ }
132
+ if (typeof fullOptions.video === 'object' && typeof fullOptions.video.workaroundWebKitBug1208516 === 'boolean') {
133
+ extraLocalTrackOptions.video.workaroundWebKitBug1208516 = fullOptions.video.workaroundWebKitBug1208516;
134
+ }
135
+ if (typeof fullOptions.audio === 'object') {
136
+ delete fullOptions.audio.name;
137
+ }
138
+ if (typeof fullOptions.video === 'object') {
139
+ delete fullOptions.video.name;
140
+ }
141
+ const mediaStreamConstraints = {
142
+ audio: fullOptions.audio,
143
+ video: fullOptions.video
144
+ };
145
+ const workaroundWebKitBug180748 = typeof fullOptions.audio === 'object' && fullOptions.audio.workaroundWebKitBug180748;
146
+ try {
147
+ const mediaStream = yield (workaroundWebKitBug180748
148
+ ? workaround180748(log, fullOptions.getUserMedia, mediaStreamConstraints)
149
+ : fullOptions.getUserMedia(mediaStreamConstraints));
150
+ telemetry.getUserMedia.succeeded();
151
+ const mediaStreamTracks = [
152
+ ...mediaStream.getAudioTracks(),
153
+ ...mediaStream.getVideoTracks(),
154
+ ];
155
+ log.info('Call to getUserMedia successful; got tracks:', mediaStreamTracks);
156
+ return yield Promise.all(mediaStreamTracks.map((mediaStreamTrack) => tslib_1.__awaiter(this, void 0, void 0, function* () {
157
+ if (mediaStreamTrack.kind === 'audio' && noiseCancellationOptions) {
158
+ const { cleanTrack, noiseCancellation } = yield (0, noisecancellationimpl_1.applyNoiseCancellation)(mediaStreamTrack, noiseCancellationOptions, log);
159
+ return new localTrackOptions.LocalAudioTrack(cleanTrack, Object.assign(Object.assign(Object.assign({}, extraLocalTrackOptions.audio), localTrackOptions), { noiseCancellation }));
160
+ }
161
+ else if (mediaStreamTrack.kind === 'audio') {
162
+ return new localTrackOptions.LocalAudioTrack(mediaStreamTrack, Object.assign(Object.assign({}, extraLocalTrackOptions.audio), localTrackOptions));
163
+ }
164
+ return new localTrackOptions.LocalVideoTrack(mediaStreamTrack, Object.assign(Object.assign({}, extraLocalTrackOptions.video), localTrackOptions));
165
+ })));
166
+ }
167
+ catch (error) {
168
+ if (error.name === 'NotAllowedError' || error.name === 'PermissionDeniedError') {
169
+ telemetry.getUserMedia.denied();
170
+ }
171
+ else {
172
+ telemetry.getUserMedia.failed(error);
173
+ }
174
+ log.warn('Call to getUserMedia failed:', error);
175
+ throw error;
176
+ }
261
177
  });
262
178
  }
263
179
  //# sourceMappingURL=createlocaltracks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createlocaltracks.js","sourceRoot":"","sources":["../lib/createlocaltracks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createlocaltracks.js","sourceRoot":"","sources":["../lib/createlocaltracks.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,6 @@
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 DataTrackTransceiver = require('./transceiver');
18
- var DataTransport = require('./transport');
2
+ const DataTrackTransceiver = require('./transceiver');
3
+ const DataTransport = require('./transport');
19
4
  /**
20
5
  * A {@link DataTrackReceiver} represents a {@link DataTrackTransceiver} over
21
6
  * which data can be received. Internally, it users a single RTCDataChannel to
@@ -24,15 +9,14 @@ var DataTransport = require('./transport');
24
9
  * @emits DataTrackReceiver#message
25
10
  * @emits DataTrackReceiver#close
26
11
  */
27
- var DataTrackReceiver = /** @class */ (function (_super) {
28
- __extends(DataTrackReceiver, _super);
12
+ class DataTrackReceiver extends DataTrackTransceiver {
29
13
  /**
30
14
  * Construct an {@link DataTrackReceiver}.
31
15
  * @param {RTCDataChannel} dataChannel
32
16
  */
33
- function DataTrackReceiver(dataChannel) {
34
- var _this = _super.call(this, dataChannel.label, dataChannel.maxPacketLifeTime, dataChannel.maxRetransmits, dataChannel.ordered) || this;
35
- Object.defineProperties(_this, {
17
+ constructor(dataChannel) {
18
+ super(dataChannel.label, dataChannel.maxPacketLifeTime, dataChannel.maxRetransmits, dataChannel.ordered);
19
+ Object.defineProperties(this, {
36
20
  _dataChannel: {
37
21
  value: dataChannel
38
22
  }
@@ -41,27 +25,25 @@ var DataTrackReceiver = /** @class */ (function (_super) {
41
25
  // So, we set it to "arraybuffer" to ensure that it is consistent with Chrome
42
26
  // and Safari.
43
27
  dataChannel.binaryType = 'arraybuffer';
44
- dataChannel.addEventListener('message', function (event) {
45
- _this.emit('message', event.data);
28
+ dataChannel.addEventListener('message', event => {
29
+ this.emit('message', event.data);
46
30
  });
47
- dataChannel.addEventListener('close', function () {
48
- _this.emit('close');
31
+ dataChannel.addEventListener('close', () => {
32
+ this.emit('close');
49
33
  });
50
- return _this;
51
34
  }
52
- DataTrackReceiver.prototype.stop = function () {
35
+ stop() {
53
36
  this._dataChannel.close();
54
- _super.prototype.stop.call(this);
55
- };
37
+ super.stop();
38
+ }
56
39
  /**
57
40
  * Create a {@link DataTransport} from the {@link DataTrackReceiver}.
58
41
  * @returns {DataTransport}
59
42
  */
60
- DataTrackReceiver.prototype.toDataTransport = function () {
43
+ toDataTransport() {
61
44
  return new DataTransport(this._dataChannel);
62
- };
63
- return DataTrackReceiver;
64
- }(DataTrackTransceiver));
45
+ }
46
+ }
65
47
  /**
66
48
  * @event DataTrackReceiver#message
67
49
  * @param {string|ArrayBuffer} data
@@ -1 +1 @@
1
- {"version":3,"file":"receiver.js","sourceRoot":"","sources":["../../lib/data/receiver.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;AAEb,IAAM,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACtD,IAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAE7C;;;;;;;GAOG;AACH;IAAgC,qCAAoB;IAClD;;;OAGG;IACH,2BAAY,WAAW;QACrB,YAAA,MAAK,YACH,WAAW,CAAC,KAAK,EACjB,WAAW,CAAC,iBAAiB,EAC7B,WAAW,CAAC,cAAc,EAC1B,WAAW,CAAC,OAAO,CACpB,SAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,KAAI,EAAE;YAC5B,YAAY,EAAE;gBACZ,KAAK,EAAE,WAAW;aACnB;SACF,CAAC,CAAC;QAEH,8EAA8E;QAC9E,6EAA6E;QAC7E,cAAc;QACd,WAAW,CAAC,UAAU,GAAG,aAAa,CAAC;QAEvC,WAAW,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAA,KAAK;YAC3C,KAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE;YACpC,KAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;;IACL,CAAC;IAED,gCAAI,GAAJ;QACE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,gBAAK,CAAC,IAAI,WAAE,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,2CAAe,GAAf;QACE,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC;IACH,wBAAC;AAAD,CAAC,AA7CD,CAAgC,oBAAoB,GA6CnD;AAED;;;GAGG;AAEH;;GAEG;AAEH,MAAM,CAAC,OAAO,GAAG,iBAAiB,CAAC"}
1
+ {"version":3,"file":"receiver.js","sourceRoot":"","sources":["../../lib/data/receiver.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACtD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAE7C;;;;;;;GAOG;AACH,MAAM,iBAAkB,SAAQ,oBAAoB;IAClD;;;OAGG;IACH,YAAY,WAAW;QACrB,KAAK,CACH,WAAW,CAAC,KAAK,EACjB,WAAW,CAAC,iBAAiB,EAC7B,WAAW,CAAC,cAAc,EAC1B,WAAW,CAAC,OAAO,CACpB,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE;YAC5B,YAAY,EAAE;gBACZ,KAAK,EAAE,WAAW;aACnB;SACF,CAAC,CAAC;QAEH,8EAA8E;QAC9E,6EAA6E;QAC7E,cAAc;QACd,WAAW,CAAC,UAAU,GAAG,aAAa,CAAC;QAEvC,WAAW,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;YAC9C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACzC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC;CACF;AAED;;;GAGG;AAEH;;GAEG;AAEH,MAAM,CAAC,OAAO,GAAG,iBAAiB,CAAC"}
@@ -1,38 +1,22 @@
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 DataTrackTransceiver = require('./transceiver');
18
- var makeUUID = require('../util').makeUUID;
2
+ const DataTrackTransceiver = require('./transceiver');
3
+ const makeUUID = require('../util').makeUUID;
19
4
  /**
20
5
  * A {@link DataTrackSender} represents a {@link DataTrackTransceiver} over
21
6
  * which data can be sent. Internally, it uses a collection of RTCDataChannels
22
7
  * to send data.
23
8
  * @extends DataTrackTransceiver
24
9
  */
25
- var DataTrackSender = /** @class */ (function (_super) {
26
- __extends(DataTrackSender, _super);
10
+ class DataTrackSender extends DataTrackTransceiver {
27
11
  /**
28
12
  * Construct a {@link DataTrackSender}.
29
13
  * @param {?number} maxPacketLifeTime
30
14
  * @param {?number} maxRetransmits
31
15
  * @param {boolean} ordered
32
16
  */
33
- function DataTrackSender(maxPacketLifeTime, maxRetransmtis, ordered) {
34
- var _this = _super.call(this, makeUUID(), maxPacketLifeTime, maxRetransmtis, ordered) || this;
35
- Object.defineProperties(_this, {
17
+ constructor(maxPacketLifeTime, maxRetransmtis, ordered) {
18
+ super(makeUUID(), maxPacketLifeTime, maxRetransmtis, ordered);
19
+ Object.defineProperties(this, {
36
20
  _clones: {
37
21
  value: new Set()
38
22
  },
@@ -40,62 +24,60 @@ var DataTrackSender = /** @class */ (function (_super) {
40
24
  value: new Set()
41
25
  }
42
26
  });
43
- return _this;
44
27
  }
45
28
  /**
46
29
  * Add a cloned {@link DataTrackSender}.
47
30
  * @private
48
31
  * @returns {void}
49
32
  */
50
- DataTrackSender.prototype._addClone = function (clone) {
33
+ _addClone(clone) {
51
34
  this._clones.add(clone);
52
- };
35
+ }
53
36
  /**
54
37
  * Remove a cloned {@link DataTrackSender}.
55
38
  * @returns {void}
56
39
  */
57
- DataTrackSender.prototype.removeClone = function (clone) {
40
+ removeClone(clone) {
58
41
  this._clones.delete(clone);
59
- };
42
+ }
60
43
  /**
61
44
  * Add an RTCDataChannel to the {@link DataTrackSender}.
62
45
  * @param {RTCDataChannel} dataChannel
63
46
  * @returns {this}
64
47
  */
65
- DataTrackSender.prototype.addDataChannel = function (dataChannel) {
48
+ addDataChannel(dataChannel) {
66
49
  this._dataChannels.add(dataChannel);
67
50
  return this;
68
- };
51
+ }
69
52
  /**
70
53
  * Return a new {@link DataTrackSender}. Any message sent over this
71
54
  * {@link DataTrackSender} will also be sent over the clone. Whenever this
72
55
  * {@link DataTrackSender} is stopped, so to will the clone.
73
56
  * @returns {DataTrackSender}
74
57
  */
75
- DataTrackSender.prototype.clone = function () {
76
- var _this = this;
77
- var clone = new DataTrackSender(this.maxPacketLifeTime, this.maxRetransmits, this.ordered);
58
+ clone() {
59
+ const clone = new DataTrackSender(this.maxPacketLifeTime, this.maxRetransmits, this.ordered);
78
60
  this._addClone(clone);
79
- clone.once('stopped', function () { return _this.removeClone(clone); });
61
+ clone.once('stopped', () => this.removeClone(clone));
80
62
  return clone;
81
- };
63
+ }
82
64
  /**
83
65
  * Remove an RTCDataChannel from the {@link DataTrackSender}.
84
66
  * @param {RTCDataChannel} dataChannel
85
67
  * @returns {this}
86
68
  */
87
- DataTrackSender.prototype.removeDataChannel = function (dataChannel) {
69
+ removeDataChannel(dataChannel) {
88
70
  this._dataChannels.delete(dataChannel);
89
71
  return this;
90
- };
72
+ }
91
73
  /**
92
74
  * Send data over the {@link DataTrackSender}. Internally, this calls
93
75
  * <code>send</code> over each of the underlying RTCDataChannels.
94
76
  * @param {string|Blob|ArrayBuffer|ArrayBufferView} data
95
77
  * @returns {this}
96
78
  */
97
- DataTrackSender.prototype.send = function (data) {
98
- this._dataChannels.forEach(function (dataChannel) {
79
+ send(data) {
80
+ this._dataChannels.forEach(dataChannel => {
99
81
  try {
100
82
  dataChannel.send(data);
101
83
  }
@@ -103,7 +85,7 @@ var DataTrackSender = /** @class */ (function (_super) {
103
85
  // Do nothing.
104
86
  }
105
87
  });
106
- this._clones.forEach(function (clone) {
88
+ this._clones.forEach(clone => {
107
89
  try {
108
90
  clone.send(data);
109
91
  }
@@ -112,13 +94,12 @@ var DataTrackSender = /** @class */ (function (_super) {
112
94
  }
113
95
  });
114
96
  return this;
115
- };
116
- DataTrackSender.prototype.stop = function () {
117
- this._dataChannels.forEach(function (dataChannel) { return dataChannel.close(); });
118
- this._clones.forEach(function (clone) { return clone.stop(); });
119
- _super.prototype.stop.call(this);
120
- };
121
- return DataTrackSender;
122
- }(DataTrackTransceiver));
97
+ }
98
+ stop() {
99
+ this._dataChannels.forEach(dataChannel => dataChannel.close());
100
+ this._clones.forEach(clone => clone.stop());
101
+ super.stop();
102
+ }
103
+ }
123
104
  module.exports = DataTrackSender;
124
105
  //# sourceMappingURL=sender.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sender.js","sourceRoot":"","sources":["../../lib/data/sender.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;AAEb,IAAM,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACtD,IAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;AAE7C;;;;;GAKG;AACH;IAA8B,mCAAoB;IAChD;;;;;OAKG;IACH,yBAAY,iBAAiB,EAAE,cAAc,EAAE,OAAO;QACpD,YAAA,MAAK,YAAC,QAAQ,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,CAAC,SAAC;QAC9D,MAAM,CAAC,gBAAgB,CAAC,KAAI,EAAE;YAC5B,OAAO,EAAE;gBACP,KAAK,EAAE,IAAI,GAAG,EAAE;aACjB;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,IAAI,GAAG,EAAE;aACjB;SACF,CAAC,CAAC;;IACL,CAAC;IAED;;;;OAIG;IACH,mCAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,qCAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,wCAAc,GAAd,UAAe,WAAW;QACxB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAGD;;;;;OAKG;IACH,+BAAK,GAAL;QAAA,iBAQC;QAPC,IAAM,KAAK,GAAG,IAAI,eAAe,CAC/B,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,OAAO,CAAC,CAAC;QAChB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,cAAM,OAAA,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAvB,CAAuB,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,2CAAiB,GAAjB,UAAkB,WAAW;QAC3B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,8BAAI,GAAJ,UAAK,IAAI;QACP,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAA,WAAW;YACpC,IAAI,CAAC;gBACH,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,cAAc;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,KAAK;YACxB,IAAI,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,cAAc;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8BAAI,GAAJ;QACE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAA,WAAW,IAAI,OAAA,WAAW,CAAC,KAAK,EAAE,EAAnB,CAAmB,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,IAAI,EAAE,EAAZ,CAAY,CAAC,CAAC;QAC5C,gBAAK,CAAC,IAAI,WAAE,CAAC;IACf,CAAC;IACH,sBAAC;AAAD,CAAC,AAtGD,CAA8B,oBAAoB,GAsGjD;AAED,MAAM,CAAC,OAAO,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"sender.js","sourceRoot":"","sources":["../../lib/data/sender.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACtD,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,eAAgB,SAAQ,oBAAoB;IAChD;;;;;OAKG;IACH,YAAY,iBAAiB,EAAE,cAAc,EAAE,OAAO;QACpD,KAAK,CAAC,QAAQ,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QAC9D,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE;YAC5B,OAAO,EAAE;gBACP,KAAK,EAAE,IAAI,GAAG,EAAE;aACjB;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,IAAI,GAAG,EAAE;aACjB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,KAAK;QACb,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,KAAK;QACf,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,WAAW;QACxB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAGD;;;;;OAKG;IACH,KAAK;QACH,MAAM,KAAK,GAAG,IAAI,eAAe,CAC/B,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,OAAO,CAAC,CAAC;QAChB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,WAAW;QAC3B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,IAAI;QACP,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YACvC,IAAI,CAAC;gBACH,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,cAAc;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,cAAc;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI;QACF,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5C,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;CACF;AAED,MAAM,CAAC,OAAO,GAAG,eAAe,CAAC"}