sip-connector 6.18.0 → 6.20.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 (331) hide show
  1. package/dist/SipConnector.d.ts +46 -78
  2. package/dist/causes.d.ts +0 -1
  3. package/dist/constants.d.ts +0 -1
  4. package/dist/eventNames.d.ts +0 -1
  5. package/dist/getExtraHeadersRemoteAddress.d.ts +0 -1
  6. package/dist/headers.d.ts +0 -1
  7. package/dist/index.cjs +1 -0
  8. package/dist/index.d.ts +9 -8
  9. package/dist/index.js +1991 -45
  10. package/dist/logger.d.ts +2 -3
  11. package/dist/tools/__tests-utils__/parseObject.d.ts +0 -1
  12. package/dist/tools/__tests-utils__/resolveParseArray.d.ts +0 -1
  13. package/dist/tools/answerIncomingCall.d.ts +5 -6
  14. package/dist/tools/callToServer.d.ts +4 -5
  15. package/dist/tools/connectToServer.d.ts +2 -3
  16. package/dist/tools/disconnectFromServer.d.ts +0 -1
  17. package/dist/tools/error/getLinkError.d.ts +2 -3
  18. package/dist/tools/error/getTypeFromError.d.ts +2 -3
  19. package/dist/tools/error/getValuesFromError.d.ts +2 -3
  20. package/dist/tools/error/index.d.ts +3 -6
  21. package/dist/tools/getExtraHeaders.d.ts +0 -1
  22. package/dist/tools/getUserAgent.d.ts +0 -1
  23. package/dist/tools/hasPurgatory.d.ts +0 -1
  24. package/dist/tools/index.d.ts +21 -23
  25. package/dist/tools/resolveAskPermissionToEnableCam.d.ts +0 -1
  26. package/dist/tools/resolveGetRemoteStreams.d.ts +0 -1
  27. package/dist/tools/resolveHandleChangeTracks.d.ts +0 -1
  28. package/dist/tools/resolveOnMustStopPresentation.d.ts +0 -1
  29. package/dist/tools/resolveOnUseLicense.d.ts +1 -2
  30. package/dist/tools/resolveSendMediaState.d.ts +3 -4
  31. package/dist/tools/resolveSendRefusalToTurnOnCam.d.ts +0 -1
  32. package/dist/tools/resolveSendRefusalToTurnOnMic.d.ts +0 -1
  33. package/dist/tools/resolveStartPresentation.d.ts +0 -1
  34. package/dist/tools/resolveStopShareSipConnector.d.ts +1 -2
  35. package/dist/tools/resolveUpdatePresentation.d.ts +0 -1
  36. package/dist/tools/resolveUpdateRemoteStreams.d.ts +1 -2
  37. package/dist/tools/sendDTMFAccumulated.d.ts +0 -1
  38. package/dist/tools/syncMediaState/index.d.ts +0 -1
  39. package/dist/tools/syncMediaState/resolveOnStartMainCam.d.ts +0 -1
  40. package/dist/tools/syncMediaState/resolveOnStartMic.d.ts +0 -1
  41. package/dist/tools/syncMediaState/resolveOnStopMainCam.d.ts +0 -1
  42. package/dist/tools/syncMediaState/resolveOnStopMic.d.ts +0 -1
  43. package/dist/types.d.ts +34 -0
  44. package/dist/utils/errors.d.ts +0 -1
  45. package/dist/utils/findSenderByStream.d.ts +0 -1
  46. package/dist/utils/findVideoSender.d.ts +0 -1
  47. package/dist/utils/getCodecFromSender.d.ts +0 -1
  48. package/dist/utils.d.ts +3 -4
  49. package/dist/videoSendingBalancer/balance.d.ts +1 -2
  50. package/dist/videoSendingBalancer/getMaxBitrateByWidth.d.ts +0 -1
  51. package/dist/videoSendingBalancer/getMaxBitrateByWidthAndCodec.d.ts +0 -1
  52. package/dist/videoSendingBalancer/hasAv1Codec.d.ts +0 -1
  53. package/dist/videoSendingBalancer/hasIncludesString.d.ts +0 -1
  54. package/dist/videoSendingBalancer/index.d.ts +0 -1
  55. package/dist/videoSendingBalancer/processSender.d.ts +1 -2
  56. package/dist/videoSendingBalancer/scaleBitrate.d.ts +1 -2
  57. package/dist/videoSendingBalancer/scaleBitrateByCodec.d.ts +0 -1
  58. package/dist/videoSendingBalancer/setEncodingsToSender.d.ts +0 -1
  59. package/package.json +71 -49
  60. package/dist/SipConnector.d.ts.map +0 -1
  61. package/dist/SipConnector.js +0 -1099
  62. package/dist/SipConnector.js.map +0 -1
  63. package/dist/__fixtures__/BaseSession.mock.d.ts +0 -95
  64. package/dist/__fixtures__/BaseSession.mock.d.ts.map +0 -1
  65. package/dist/__fixtures__/BaseSession.mock.js +0 -195
  66. package/dist/__fixtures__/BaseSession.mock.js.map +0 -1
  67. package/dist/__fixtures__/RTCPeerConnectionMock.d.ts +0 -59
  68. package/dist/__fixtures__/RTCPeerConnectionMock.d.ts.map +0 -1
  69. package/dist/__fixtures__/RTCPeerConnectionMock.js +0 -87
  70. package/dist/__fixtures__/RTCPeerConnectionMock.js.map +0 -1
  71. package/dist/__fixtures__/RTCRtpSenderMock.d.ts +0 -13
  72. package/dist/__fixtures__/RTCRtpSenderMock.d.ts.map +0 -1
  73. package/dist/__fixtures__/RTCRtpSenderMock.js +0 -35
  74. package/dist/__fixtures__/RTCRtpSenderMock.js.map +0 -1
  75. package/dist/__fixtures__/Registrator.mock.d.ts +0 -8
  76. package/dist/__fixtures__/Registrator.mock.d.ts.map +0 -1
  77. package/dist/__fixtures__/Registrator.mock.js +0 -11
  78. package/dist/__fixtures__/Registrator.mock.js.map +0 -1
  79. package/dist/__fixtures__/Request.mock.d.ts +0 -9
  80. package/dist/__fixtures__/Request.mock.d.ts.map +0 -1
  81. package/dist/__fixtures__/Request.mock.js +0 -14
  82. package/dist/__fixtures__/Request.mock.js.map +0 -1
  83. package/dist/__fixtures__/Session.mock.d.ts +0 -70
  84. package/dist/__fixtures__/Session.mock.d.ts.map +0 -1
  85. package/dist/__fixtures__/Session.mock.js +0 -184
  86. package/dist/__fixtures__/Session.mock.js.map +0 -1
  87. package/dist/__fixtures__/UA.mock.d.ts +0 -83
  88. package/dist/__fixtures__/UA.mock.d.ts.map +0 -1
  89. package/dist/__fixtures__/UA.mock.js +0 -158
  90. package/dist/__fixtures__/UA.mock.js.map +0 -1
  91. package/dist/__fixtures__/WebSocketInterface.mock.d.ts +0 -6
  92. package/dist/__fixtures__/WebSocketInterface.mock.d.ts.map +0 -1
  93. package/dist/__fixtures__/WebSocketInterface.mock.js +0 -9
  94. package/dist/__fixtures__/WebSocketInterface.mock.js.map +0 -1
  95. package/dist/__fixtures__/accountNotify.d.ts +0 -3
  96. package/dist/__fixtures__/accountNotify.d.ts.map +0 -1
  97. package/dist/__fixtures__/accountNotify.js +0 -19
  98. package/dist/__fixtures__/accountNotify.js.map +0 -1
  99. package/dist/__fixtures__/channels.d.ts +0 -9
  100. package/dist/__fixtures__/channels.d.ts.map +0 -1
  101. package/dist/__fixtures__/channels.js +0 -18
  102. package/dist/__fixtures__/channels.js.map +0 -1
  103. package/dist/__fixtures__/channelsNotify.d.ts +0 -6
  104. package/dist/__fixtures__/channelsNotify.d.ts.map +0 -1
  105. package/dist/__fixtures__/channelsNotify.js +0 -15
  106. package/dist/__fixtures__/channelsNotify.js.map +0 -1
  107. package/dist/__fixtures__/conferenceParticipantTokenIssuedNotify.d.ts +0 -7
  108. package/dist/__fixtures__/conferenceParticipantTokenIssuedNotify.d.ts.map +0 -1
  109. package/dist/__fixtures__/conferenceParticipantTokenIssuedNotify.js +0 -22
  110. package/dist/__fixtures__/conferenceParticipantTokenIssuedNotify.js.map +0 -1
  111. package/dist/__fixtures__/doMock.d.ts +0 -4
  112. package/dist/__fixtures__/doMock.d.ts.map +0 -1
  113. package/dist/__fixtures__/doMock.js +0 -14
  114. package/dist/__fixtures__/doMock.js.map +0 -1
  115. package/dist/__fixtures__/index.d.ts +0 -84
  116. package/dist/__fixtures__/index.d.ts.map +0 -1
  117. package/dist/__fixtures__/index.js +0 -57
  118. package/dist/__fixtures__/index.js.map +0 -1
  119. package/dist/__fixtures__/jssip.mock.d.ts +0 -24
  120. package/dist/__fixtures__/jssip.mock.d.ts.map +0 -1
  121. package/dist/__fixtures__/jssip.mock.js +0 -91
  122. package/dist/__fixtures__/jssip.mock.js.map +0 -1
  123. package/dist/__fixtures__/mediaState.d.ts +0 -8
  124. package/dist/__fixtures__/mediaState.d.ts.map +0 -1
  125. package/dist/__fixtures__/mediaState.js +0 -14
  126. package/dist/__fixtures__/mediaState.js.map +0 -1
  127. package/dist/__fixtures__/participantMoveRequests.d.ts +0 -13
  128. package/dist/__fixtures__/participantMoveRequests.d.ts.map +0 -1
  129. package/dist/__fixtures__/participantMoveRequests.js +0 -38
  130. package/dist/__fixtures__/participantMoveRequests.js.map +0 -1
  131. package/dist/__fixtures__/participantNotify.d.ts +0 -9
  132. package/dist/__fixtures__/participantNotify.d.ts.map +0 -1
  133. package/dist/__fixtures__/participantNotify.js +0 -29
  134. package/dist/__fixtures__/participantNotify.js.map +0 -1
  135. package/dist/__fixtures__/remoteCallerData.d.ts +0 -8
  136. package/dist/__fixtures__/remoteCallerData.d.ts.map +0 -1
  137. package/dist/__fixtures__/remoteCallerData.js +0 -10
  138. package/dist/__fixtures__/remoteCallerData.js.map +0 -1
  139. package/dist/__fixtures__/utils.d.ts +0 -2
  140. package/dist/__fixtures__/utils.d.ts.map +0 -1
  141. package/dist/__fixtures__/utils.js +0 -12
  142. package/dist/__fixtures__/utils.js.map +0 -1
  143. package/dist/__fixtures__/webcastNotify.d.ts +0 -11
  144. package/dist/__fixtures__/webcastNotify.d.ts.map +0 -1
  145. package/dist/__fixtures__/webcastNotify.js +0 -29
  146. package/dist/__fixtures__/webcastNotify.js.map +0 -1
  147. package/dist/causes.d.ts.map +0 -1
  148. package/dist/causes.js +0 -30
  149. package/dist/causes.js.map +0 -1
  150. package/dist/constants.d.ts.map +0 -1
  151. package/dist/constants.js +0 -74
  152. package/dist/constants.js.map +0 -1
  153. package/dist/eventNames.d.ts.map +0 -1
  154. package/dist/eventNames.js +0 -88
  155. package/dist/eventNames.js.map +0 -1
  156. package/dist/getExtraHeadersRemoteAddress.d.ts.map +0 -1
  157. package/dist/getExtraHeadersRemoteAddress.js +0 -11
  158. package/dist/getExtraHeadersRemoteAddress.js.map +0 -1
  159. package/dist/headers.d.ts.map +0 -1
  160. package/dist/headers.js +0 -37
  161. package/dist/headers.js.map +0 -1
  162. package/dist/index.d.ts.map +0 -1
  163. package/dist/index.es5.js +0 -2
  164. package/dist/index.es5.js.map +0 -1
  165. package/dist/index.js.map +0 -1
  166. package/dist/index.umd.js +0 -2
  167. package/dist/index.umd.js.map +0 -1
  168. package/dist/logger.d.ts.map +0 -1
  169. package/dist/logger.js +0 -21
  170. package/dist/logger.js.map +0 -1
  171. package/dist/tools/__fixtures__/call.d.ts +0 -11
  172. package/dist/tools/__fixtures__/call.d.ts.map +0 -1
  173. package/dist/tools/__fixtures__/call.js +0 -38
  174. package/dist/tools/__fixtures__/call.js.map +0 -1
  175. package/dist/tools/__fixtures__/connectToServer.d.ts +0 -151
  176. package/dist/tools/__fixtures__/connectToServer.d.ts.map +0 -1
  177. package/dist/tools/__fixtures__/connectToServer.js +0 -35
  178. package/dist/tools/__fixtures__/connectToServer.js.map +0 -1
  179. package/dist/tools/__fixtures__/hasValidUri.d.ts +0 -10
  180. package/dist/tools/__fixtures__/hasValidUri.d.ts.map +0 -1
  181. package/dist/tools/__fixtures__/hasValidUri.js +0 -14
  182. package/dist/tools/__fixtures__/hasValidUri.js.map +0 -1
  183. package/dist/tools/__fixtures__/permissions.d.ts +0 -9
  184. package/dist/tools/__fixtures__/permissions.d.ts.map +0 -1
  185. package/dist/tools/__fixtures__/permissions.js +0 -15
  186. package/dist/tools/__fixtures__/permissions.js.map +0 -1
  187. package/dist/tools/__fixtures__/processRequest.d.ts +0 -4
  188. package/dist/tools/__fixtures__/processRequest.d.ts.map +0 -1
  189. package/dist/tools/__fixtures__/processRequest.js +0 -71
  190. package/dist/tools/__fixtures__/processRequest.js.map +0 -1
  191. package/dist/tools/__tests-utils__/parseObject.d.ts.map +0 -1
  192. package/dist/tools/__tests-utils__/parseObject.js +0 -27
  193. package/dist/tools/__tests-utils__/parseObject.js.map +0 -1
  194. package/dist/tools/__tests-utils__/resolveParseArray.d.ts.map +0 -1
  195. package/dist/tools/__tests-utils__/resolveParseArray.js +0 -17
  196. package/dist/tools/__tests-utils__/resolveParseArray.js.map +0 -1
  197. package/dist/tools/answerIncomingCall.d.ts.map +0 -1
  198. package/dist/tools/answerIncomingCall.js +0 -94
  199. package/dist/tools/answerIncomingCall.js.map +0 -1
  200. package/dist/tools/callToServer.d.ts.map +0 -1
  201. package/dist/tools/callToServer.js +0 -90
  202. package/dist/tools/callToServer.js.map +0 -1
  203. package/dist/tools/connectToServer.d.ts.map +0 -1
  204. package/dist/tools/connectToServer.js +0 -52
  205. package/dist/tools/connectToServer.js.map +0 -1
  206. package/dist/tools/disconnectFromServer.d.ts.map +0 -1
  207. package/dist/tools/disconnectFromServer.js +0 -23
  208. package/dist/tools/disconnectFromServer.js.map +0 -1
  209. package/dist/tools/error/getLinkError.d.ts.map +0 -1
  210. package/dist/tools/error/getLinkError.js +0 -36
  211. package/dist/tools/error/getLinkError.js.map +0 -1
  212. package/dist/tools/error/getTypeFromError.d.ts.map +0 -1
  213. package/dist/tools/error/getTypeFromError.js +0 -63
  214. package/dist/tools/error/getTypeFromError.js.map +0 -1
  215. package/dist/tools/error/getValuesFromError.d.ts.map +0 -1
  216. package/dist/tools/error/getValuesFromError.js +0 -26
  217. package/dist/tools/error/getValuesFromError.js.map +0 -1
  218. package/dist/tools/error/index.d.ts.map +0 -1
  219. package/dist/tools/error/index.js +0 -15
  220. package/dist/tools/error/index.js.map +0 -1
  221. package/dist/tools/getExtraHeaders.d.ts.map +0 -1
  222. package/dist/tools/getExtraHeaders.js +0 -24
  223. package/dist/tools/getExtraHeaders.js.map +0 -1
  224. package/dist/tools/getUserAgent.d.ts.map +0 -1
  225. package/dist/tools/getUserAgent.js +0 -22
  226. package/dist/tools/getUserAgent.js.map +0 -1
  227. package/dist/tools/hasPurgatory.d.ts.map +0 -1
  228. package/dist/tools/hasPurgatory.js +0 -9
  229. package/dist/tools/hasPurgatory.js.map +0 -1
  230. package/dist/tools/index.d.ts.map +0 -1
  231. package/dist/tools/index.js +0 -73
  232. package/dist/tools/index.js.map +0 -1
  233. package/dist/tools/resolveAskPermissionToEnableCam.d.ts.map +0 -1
  234. package/dist/tools/resolveAskPermissionToEnableCam.js +0 -18
  235. package/dist/tools/resolveAskPermissionToEnableCam.js.map +0 -1
  236. package/dist/tools/resolveGetRemoteStreams.d.ts.map +0 -1
  237. package/dist/tools/resolveGetRemoteStreams.js +0 -15
  238. package/dist/tools/resolveGetRemoteStreams.js.map +0 -1
  239. package/dist/tools/resolveHandleChangeTracks.d.ts.map +0 -1
  240. package/dist/tools/resolveHandleChangeTracks.js +0 -14
  241. package/dist/tools/resolveHandleChangeTracks.js.map +0 -1
  242. package/dist/tools/resolveOnMustStopPresentation.d.ts.map +0 -1
  243. package/dist/tools/resolveOnMustStopPresentation.js +0 -15
  244. package/dist/tools/resolveOnMustStopPresentation.js.map +0 -1
  245. package/dist/tools/resolveOnUseLicense.d.ts.map +0 -1
  246. package/dist/tools/resolveOnUseLicense.js +0 -15
  247. package/dist/tools/resolveOnUseLicense.js.map +0 -1
  248. package/dist/tools/resolveSendMediaState.d.ts.map +0 -1
  249. package/dist/tools/resolveSendMediaState.js +0 -18
  250. package/dist/tools/resolveSendMediaState.js.map +0 -1
  251. package/dist/tools/resolveSendRefusalToTurnOnCam.d.ts.map +0 -1
  252. package/dist/tools/resolveSendRefusalToTurnOnCam.js +0 -20
  253. package/dist/tools/resolveSendRefusalToTurnOnCam.js.map +0 -1
  254. package/dist/tools/resolveSendRefusalToTurnOnMic.d.ts.map +0 -1
  255. package/dist/tools/resolveSendRefusalToTurnOnMic.js +0 -20
  256. package/dist/tools/resolveSendRefusalToTurnOnMic.js.map +0 -1
  257. package/dist/tools/resolveStartPresentation.d.ts.map +0 -1
  258. package/dist/tools/resolveStartPresentation.js +0 -19
  259. package/dist/tools/resolveStartPresentation.js.map +0 -1
  260. package/dist/tools/resolveStopShareSipConnector.d.ts.map +0 -1
  261. package/dist/tools/resolveStopShareSipConnector.js +0 -19
  262. package/dist/tools/resolveStopShareSipConnector.js.map +0 -1
  263. package/dist/tools/resolveUpdatePresentation.d.ts.map +0 -1
  264. package/dist/tools/resolveUpdatePresentation.js +0 -19
  265. package/dist/tools/resolveUpdatePresentation.js.map +0 -1
  266. package/dist/tools/resolveUpdateRemoteStreams.d.ts.map +0 -1
  267. package/dist/tools/resolveUpdateRemoteStreams.js +0 -18
  268. package/dist/tools/resolveUpdateRemoteStreams.js.map +0 -1
  269. package/dist/tools/sendDTMFAccumulated.d.ts.map +0 -1
  270. package/dist/tools/sendDTMFAccumulated.js +0 -26
  271. package/dist/tools/sendDTMFAccumulated.js.map +0 -1
  272. package/dist/tools/syncMediaState/index.d.ts.map +0 -1
  273. package/dist/tools/syncMediaState/index.js +0 -55
  274. package/dist/tools/syncMediaState/index.js.map +0 -1
  275. package/dist/tools/syncMediaState/resolveOnStartMainCam.d.ts.map +0 -1
  276. package/dist/tools/syncMediaState/resolveOnStartMainCam.js +0 -15
  277. package/dist/tools/syncMediaState/resolveOnStartMainCam.js.map +0 -1
  278. package/dist/tools/syncMediaState/resolveOnStartMic.d.ts.map +0 -1
  279. package/dist/tools/syncMediaState/resolveOnStartMic.js +0 -15
  280. package/dist/tools/syncMediaState/resolveOnStartMic.js.map +0 -1
  281. package/dist/tools/syncMediaState/resolveOnStopMainCam.d.ts.map +0 -1
  282. package/dist/tools/syncMediaState/resolveOnStopMainCam.js +0 -15
  283. package/dist/tools/syncMediaState/resolveOnStopMainCam.js.map +0 -1
  284. package/dist/tools/syncMediaState/resolveOnStopMic.d.ts.map +0 -1
  285. package/dist/tools/syncMediaState/resolveOnStopMic.js +0 -15
  286. package/dist/tools/syncMediaState/resolveOnStopMic.js.map +0 -1
  287. package/dist/utils/errors.d.ts.map +0 -1
  288. package/dist/utils/errors.js +0 -9
  289. package/dist/utils/errors.js.map +0 -1
  290. package/dist/utils/findSenderByStream.d.ts.map +0 -1
  291. package/dist/utils/findSenderByStream.js +0 -9
  292. package/dist/utils/findSenderByStream.js.map +0 -1
  293. package/dist/utils/findVideoSender.d.ts.map +0 -1
  294. package/dist/utils/findVideoSender.js +0 -10
  295. package/dist/utils/findVideoSender.js.map +0 -1
  296. package/dist/utils/getCodecFromSender.d.ts.map +0 -1
  297. package/dist/utils/getCodecFromSender.js +0 -20
  298. package/dist/utils/getCodecFromSender.js.map +0 -1
  299. package/dist/utils.d.ts.map +0 -1
  300. package/dist/utils.js +0 -42
  301. package/dist/utils.js.map +0 -1
  302. package/dist/videoSendingBalancer/balance.d.ts.map +0 -1
  303. package/dist/videoSendingBalancer/balance.js +0 -42
  304. package/dist/videoSendingBalancer/balance.js.map +0 -1
  305. package/dist/videoSendingBalancer/getMaxBitrateByWidth.d.ts.map +0 -1
  306. package/dist/videoSendingBalancer/getMaxBitrateByWidth.js +0 -41
  307. package/dist/videoSendingBalancer/getMaxBitrateByWidth.js.map +0 -1
  308. package/dist/videoSendingBalancer/getMaxBitrateByWidthAndCodec.d.ts.map +0 -1
  309. package/dist/videoSendingBalancer/getMaxBitrateByWidthAndCodec.js +0 -41
  310. package/dist/videoSendingBalancer/getMaxBitrateByWidthAndCodec.js.map +0 -1
  311. package/dist/videoSendingBalancer/hasAv1Codec.d.ts.map +0 -1
  312. package/dist/videoSendingBalancer/hasAv1Codec.js +0 -12
  313. package/dist/videoSendingBalancer/hasAv1Codec.js.map +0 -1
  314. package/dist/videoSendingBalancer/hasIncludesString.d.ts.map +0 -1
  315. package/dist/videoSendingBalancer/hasIncludesString.js +0 -7
  316. package/dist/videoSendingBalancer/hasIncludesString.js.map +0 -1
  317. package/dist/videoSendingBalancer/index.d.ts.map +0 -1
  318. package/dist/videoSendingBalancer/index.js +0 -56
  319. package/dist/videoSendingBalancer/index.js.map +0 -1
  320. package/dist/videoSendingBalancer/processSender.d.ts.map +0 -1
  321. package/dist/videoSendingBalancer/processSender.js +0 -105
  322. package/dist/videoSendingBalancer/processSender.js.map +0 -1
  323. package/dist/videoSendingBalancer/scaleBitrate.d.ts.map +0 -1
  324. package/dist/videoSendingBalancer/scaleBitrate.js +0 -16
  325. package/dist/videoSendingBalancer/scaleBitrate.js.map +0 -1
  326. package/dist/videoSendingBalancer/scaleBitrateByCodec.d.ts.map +0 -1
  327. package/dist/videoSendingBalancer/scaleBitrateByCodec.js +0 -15
  328. package/dist/videoSendingBalancer/scaleBitrateByCodec.js.map +0 -1
  329. package/dist/videoSendingBalancer/setEncodingsToSender.d.ts.map +0 -1
  330. package/dist/videoSendingBalancer/setEncodingsToSender.js +0 -60
  331. package/dist/videoSendingBalancer/setEncodingsToSender.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"processSender.d.ts","sourceRoot":"","sources":["../../src/videoSendingBalancer/processSender.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAwGxE,QAAA,MAAM,aAAa;;;YAUP,YAAY;WACb,gBAAgB;;qBAGP,gBAAgB,KACjC,QAAQ,OAAO,CAkBjB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1,105 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- const stack_promises_1 = __importDefault(require("stack-promises"));
30
- const SipConnector_1 = require("../SipConnector");
31
- const getMaxBitrateByWidthAndCodec_1 = __importStar(require("./getMaxBitrateByWidthAndCodec"));
32
- const setEncodingsToSender_1 = __importDefault(require("./setEncodingsToSender"));
33
- const stackPromises = (0, stack_promises_1.default)();
34
- const runStackPromises = () => {
35
- // @ts-ignore
36
- return stackPromises().catch((error) => {
37
- // eslint-disable-next-line no-console
38
- console.debug('videoSendingBalancer: error', error);
39
- });
40
- };
41
- const run = (action) => {
42
- stackPromises.add(action);
43
- return runStackPromises();
44
- };
45
- const addToStackScaleResolutionDownBySender = ({ sender, scaleResolutionDownBy, maxBitrate, onSetParameters, }) => {
46
- return run(() => {
47
- return (0, setEncodingsToSender_1.default)(sender, { scaleResolutionDownBy, maxBitrate }, onSetParameters);
48
- });
49
- };
50
- const downgradeResolutionSender = ({ sender, codec }, onSetParameters) => {
51
- const scaleResolutionDownByTarget = 200;
52
- const maxBitrate = (0, getMaxBitrateByWidthAndCodec_1.getMinimumBitrate)(codec);
53
- return addToStackScaleResolutionDownBySender({
54
- sender,
55
- maxBitrate,
56
- onSetParameters,
57
- scaleResolutionDownBy: scaleResolutionDownByTarget,
58
- });
59
- };
60
- const setBitrateByTrackResolution = ({ sender, track, codec }, onSetParameters) => {
61
- const scaleResolutionDownByTarget = 1;
62
- const settings = track.getSettings();
63
- const widthCurrent = settings.width;
64
- const maxBitrate = (0, getMaxBitrateByWidthAndCodec_1.default)(widthCurrent, codec);
65
- return addToStackScaleResolutionDownBySender({
66
- sender,
67
- maxBitrate,
68
- onSetParameters,
69
- scaleResolutionDownBy: scaleResolutionDownByTarget,
70
- });
71
- };
72
- const setResolutionSender = ({ sender, track, resolution, codec, }, onSetParameters) => {
73
- const settings = track.getSettings();
74
- const widthCurrent = settings.width;
75
- const heightCurrent = settings.height;
76
- const [widthTarget, heightTarget] = resolution.split('x');
77
- const scaleByWidth = widthCurrent / +widthTarget;
78
- const scaleByHeight = heightCurrent / +heightTarget;
79
- const SCALE_MIN = 1;
80
- const scaleResolutionDownByTarget = Math.max(scaleByWidth, scaleByHeight, SCALE_MIN);
81
- const maxBitrate = (0, getMaxBitrateByWidthAndCodec_1.default)(+widthTarget, codec);
82
- return addToStackScaleResolutionDownBySender({
83
- sender,
84
- maxBitrate,
85
- onSetParameters,
86
- scaleResolutionDownBy: scaleResolutionDownByTarget,
87
- });
88
- };
89
- const processSender = ({ mainCam, resolutionMainCam, sender, track, codec, }, onSetParameters) => {
90
- switch (mainCam) {
91
- case SipConnector_1.EEventsMainCAM.PAUSE_MAIN_CAM:
92
- return downgradeResolutionSender({ sender, codec }, onSetParameters);
93
- case SipConnector_1.EEventsMainCAM.RESUME_MAIN_CAM:
94
- return setBitrateByTrackResolution({ sender, track, codec }, onSetParameters);
95
- case SipConnector_1.EEventsMainCAM.MAX_MAIN_CAM_RESOLUTION:
96
- if (resolutionMainCam) {
97
- return setResolutionSender({ sender, track, codec, resolution: resolutionMainCam }, onSetParameters);
98
- }
99
- return setBitrateByTrackResolution({ sender, track, codec }, onSetParameters);
100
- default:
101
- return setBitrateByTrackResolution({ sender, track, codec }, onSetParameters);
102
- }
103
- };
104
- exports.default = processSender;
105
- //# sourceMappingURL=processSender.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processSender.js","sourceRoot":"","sources":["../../src/videoSendingBalancer/processSender.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"scaleBitrate.d.ts","sourceRoot":"","sources":["../../src/videoSendingBalancer/scaleBitrate.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,uBAAuB,YAClB,YAAY,EAAE,eACV,WAAW,cACZ,MAAM,sEASnB,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const findSenderByStream_1 = __importDefault(require("../utils/findSenderByStream"));
7
- const setEncodingsToSender_1 = __importDefault(require("./setEncodingsToSender"));
8
- const scaleMaxBitrateBySender = (senders, mediaStream, maxBitrate) => {
9
- const sender = (0, findSenderByStream_1.default)(senders, mediaStream);
10
- if (sender) {
11
- return (0, setEncodingsToSender_1.default)(sender, { maxBitrate });
12
- }
13
- return Promise.resolve();
14
- };
15
- exports.default = scaleMaxBitrateBySender;
16
- //# sourceMappingURL=scaleBitrate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scaleBitrate.js","sourceRoot":"","sources":["../../src/videoSendingBalancer/scaleBitrate.ts"],"names":[],"mappings":";;;;;AAAA,qFAA6D;AAC7D,kFAA0D;AAE1D,MAAM,uBAAuB,GAAG,CAC9B,OAAuB,EACvB,WAAwB,EACxB,UAAkB,EAClB,EAAE;IACF,MAAM,MAAM,GAAG,IAAA,4BAAkB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAExD,IAAI,MAAM,EAAE;QACV,OAAO,IAAA,8BAAoB,EAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;KACrD;IAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,kBAAe,uBAAuB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"scaleBitrateByCodec.d.ts","sourceRoot":"","sources":["../../src/videoSendingBalancer/scaleBitrateByCodec.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,mBAAmB,YAAa,MAAM,UAAU,MAAM,KAAG,MAM9D,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const hasAv1Codec_1 = __importDefault(require("./hasAv1Codec"));
7
- const FACTOR_CODEC_AV1 = 0.6;
8
- const scaleBitrateByCodec = (bitrate, codec) => {
9
- if ((0, hasAv1Codec_1.default)(codec)) {
10
- return bitrate * FACTOR_CODEC_AV1;
11
- }
12
- return bitrate;
13
- };
14
- exports.default = scaleBitrateByCodec;
15
- //# sourceMappingURL=scaleBitrateByCodec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scaleBitrateByCodec.js","sourceRoot":"","sources":["../../src/videoSendingBalancer/scaleBitrateByCodec.ts"],"names":[],"mappings":";;;;;AAAA,gEAAwC;AAExC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAE,KAAc,EAAU,EAAE;IACtE,IAAI,IAAA,qBAAW,EAAC,KAAK,CAAC,EAAE;QACtB,OAAO,OAAO,GAAG,gBAAgB,CAAC;KACnC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,kBAAe,mBAAmB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"setEncodingsToSender.d.ts","sourceRoot":"","sources":["../../src/videoSendingBalancer/setEncodingsToSender.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,CAAC,UAAU,EAAE,oBAAoB,KAAK,IAAI,CAAC;AAC1E,MAAM,MAAM,OAAO,GAAG;IAAE,UAAU,EAAE,oBAAoB,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC;AAqD/E,QAAA,MAAM,oBAAoB,WAChB,YAAY,mBACH;IAAE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,oBACtD,gBAAgB,KACjC,QAAQ,OAAO,CAwCjB,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1,60 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const MIN_SCALE_RESOLUTION_DOWN_BY = 1;
4
- const resolveHasNeedToUpdateItemEncoding = (defaultValue) => {
5
- return (itemEncodingTarget, itemEncodingCurrent) => {
6
- const isChangedDefaultScale = itemEncodingCurrent === undefined && itemEncodingTarget !== defaultValue;
7
- const isChangedPrevScale = itemEncodingCurrent !== undefined && itemEncodingTarget !== itemEncodingCurrent;
8
- const isNeedToChange = isChangedPrevScale || isChangedDefaultScale;
9
- return isNeedToChange;
10
- };
11
- };
12
- const hasNeedToUpdateScaleResolutionDownBy = resolveHasNeedToUpdateItemEncoding(MIN_SCALE_RESOLUTION_DOWN_BY);
13
- const performUpdateScaleResolutionDownBy = (scaleResolutionDownByTarget, scaleResolutionDownByCurrent) => {
14
- const scaleResolutionDownByTargetParsed = scaleResolutionDownByTarget !== undefined
15
- ? Math.max(scaleResolutionDownByTarget, MIN_SCALE_RESOLUTION_DOWN_BY)
16
- : null;
17
- if (scaleResolutionDownByTargetParsed !== null &&
18
- hasNeedToUpdateScaleResolutionDownBy(scaleResolutionDownByTargetParsed, scaleResolutionDownByCurrent)) {
19
- return scaleResolutionDownByTargetParsed;
20
- }
21
- return undefined;
22
- };
23
- const hasNeedToUpdateMaxBitrate = resolveHasNeedToUpdateItemEncoding(undefined);
24
- const performUpdateMaxBitrate = (maxBitrateTarget, maxBitrateCurrent) => {
25
- if (hasNeedToUpdateMaxBitrate(maxBitrateTarget, maxBitrateCurrent)) {
26
- return maxBitrateTarget;
27
- }
28
- return undefined;
29
- };
30
- const setEncodingsToSender = (sender, encodingsTarget, onSetParameters) => {
31
- const parameters = sender.getParameters();
32
- if (!parameters.encodings || parameters.encodings.length === 0) {
33
- parameters.encodings = [{}];
34
- }
35
- const [encoding] = parameters.encodings;
36
- const scaleResolutionDownByCurrent = encoding.scaleResolutionDownBy;
37
- const scaleResolutionDownByTarget = performUpdateScaleResolutionDownBy(encodingsTarget.scaleResolutionDownBy, scaleResolutionDownByCurrent);
38
- let isChanged = false;
39
- if (scaleResolutionDownByTarget !== undefined) {
40
- parameters.encodings[0].scaleResolutionDownBy = scaleResolutionDownByTarget;
41
- isChanged = true;
42
- }
43
- const maxBitrateCurrent = encoding.maxBitrate;
44
- const maxBitrateTarget = performUpdateMaxBitrate(encodingsTarget.maxBitrate, maxBitrateCurrent);
45
- if (maxBitrateTarget !== undefined) {
46
- parameters.encodings[0].maxBitrate = maxBitrateTarget;
47
- isChanged = true;
48
- }
49
- if (isChanged) {
50
- if (onSetParameters) {
51
- onSetParameters(parameters);
52
- }
53
- return sender.setParameters(parameters).then(() => {
54
- return { parameters, isChanged };
55
- });
56
- }
57
- return Promise.resolve({ parameters, isChanged });
58
- };
59
- exports.default = setEncodingsToSender;
60
- //# sourceMappingURL=setEncodingsToSender.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setEncodingsToSender.js","sourceRoot":"","sources":["../../src/videoSendingBalancer/setEncodingsToSender.ts"],"names":[],"mappings":"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"}