camstreamerlib 4.0.0-beta.11 → 4.0.0-beta.110

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 (409) hide show
  1. package/README.md +143 -38
  2. package/cjs/CamOverlayAPI.d.ts +543 -311
  3. package/cjs/CamOverlayAPI.js +112 -145
  4. package/cjs/CamScripterAPI.d.ts +44 -16
  5. package/cjs/CamScripterAPI.js +52 -33
  6. package/cjs/CamStreamerAPI.d.ts +2167 -14
  7. package/cjs/CamStreamerAPI.js +184 -37
  8. package/cjs/CamSwitcherAPI.d.ts +158 -42
  9. package/cjs/CamSwitcherAPI.js +143 -177
  10. package/cjs/PlaneTrackerAPI.d.ts +242 -0
  11. package/cjs/PlaneTrackerAPI.js +257 -0
  12. package/cjs/VapixAPI.d.ts +82 -42
  13. package/cjs/VapixAPI.js +283 -210
  14. package/cjs/{CreatePackage.js → bin/CreatePackage.js} +44 -18
  15. package/cjs/errors/errors.d.ts +70 -4
  16. package/cjs/errors/errors.js +140 -7
  17. package/cjs/index.d.ts +20 -6
  18. package/cjs/index.js +28 -8
  19. package/cjs/internal/ProxyClient.d.ts +8 -9
  20. package/cjs/internal/ProxyClient.js +28 -34
  21. package/cjs/internal/WsEvents.d.ts +38 -0
  22. package/cjs/{CamSwitcherEvents.js → internal/WsEvents.js} +33 -22
  23. package/cjs/internal/constants.d.ts +1 -0
  24. package/cjs/internal/constants.js +2 -1
  25. package/cjs/internal/convertors.d.ts +6 -0
  26. package/cjs/internal/convertors.js +115 -0
  27. package/cjs/internal/types.d.ts +32 -20
  28. package/cjs/internal/utils.d.ts +1 -3
  29. package/cjs/internal/utils.js +1 -12
  30. package/cjs/node/CamOverlayDrawingAPI.d.ts +41 -0
  31. package/cjs/{CamOverlayDrawingAPI.js → node/CamOverlayDrawingAPI.js} +28 -20
  32. package/{esm → cjs/node}/CamOverlayPainter/Frame.d.ts +8 -37
  33. package/cjs/{CamOverlayPainter → node/CamOverlayPainter}/Frame.js +33 -0
  34. package/cjs/{CamOverlayPainter → node/CamOverlayPainter}/Painter.d.ts +5 -21
  35. package/cjs/{CamOverlayPainter → node/CamOverlayPainter}/Painter.js +5 -17
  36. package/cjs/node/CamOverlayPainter/ResourceManager.d.ts +15 -0
  37. package/cjs/node/CamOverlayPainter/ResourceManager.js +72 -0
  38. package/cjs/node/CamScripterAPICameraEventsGenerator.d.ts +31 -0
  39. package/cjs/{CamScripterAPICameraEventsGenerator.js → node/CamScripterAPICameraEventsGenerator.js} +13 -13
  40. package/cjs/node/DefaultClient.d.ts +6 -6
  41. package/cjs/node/DefaultClient.js +12 -16
  42. package/cjs/{internal → node}/Digest.js +24 -1
  43. package/cjs/node/Digest.test.js +13 -0
  44. package/cjs/node/HttpRequestSender.d.ts +1 -0
  45. package/cjs/node/HttpRequestSender.js +14 -4
  46. package/cjs/node/HttpServer.d.ts +1 -1
  47. package/cjs/node/HttpServer.js +29 -6
  48. package/cjs/node/TimeZoneDaemon.d.ts +6 -0
  49. package/cjs/node/TimeZoneDaemon.js +29 -0
  50. package/cjs/node/VapixEvents.d.ts +16 -0
  51. package/cjs/{VapixEvents.js → node/VapixEvents.js} +10 -10
  52. package/cjs/node/WsClient.d.ts +9 -18
  53. package/cjs/node/WsClient.js +27 -20
  54. package/cjs/node/events/AxisCameraStationEvents.d.ts +12 -0
  55. package/cjs/{events → node/events}/AxisCameraStationEvents.js +18 -13
  56. package/cjs/node/events/GenetecAgent.d.ts +16 -0
  57. package/cjs/node/events/GenetecAgent.js +124 -0
  58. package/cjs/node/index.d.ts +18 -2
  59. package/cjs/node/index.js +39 -5
  60. package/cjs/{models/CamOverlayAPI/widgetsSchema.d.ts → types/CamOverlayAPI/CamOverlayAPI.d.ts} +2387 -599
  61. package/cjs/types/CamOverlayAPI/CamOverlayAPI.js +131 -0
  62. package/cjs/{models → types}/CamOverlayAPI/accuweatherSchema.d.ts +12 -12
  63. package/cjs/{models → types}/CamOverlayAPI/accuweatherSchema.js +7 -8
  64. package/cjs/{models → types}/CamOverlayAPI/customGraphicsSchema.d.ts +83 -82
  65. package/cjs/{models → types}/CamOverlayAPI/customGraphicsSchema.js +5 -6
  66. package/{esm/models → cjs/types}/CamOverlayAPI/imagesSchema.d.ts +10 -10
  67. package/cjs/types/CamOverlayAPI/imagesSchema.js +9 -0
  68. package/cjs/{models → types}/CamOverlayAPI/index.d.ts +2 -4
  69. package/cjs/{models → types}/CamOverlayAPI/index.js +2 -4
  70. package/cjs/{models → types}/CamOverlayAPI/infotickerSchema.d.ts +20 -20
  71. package/cjs/{models → types}/CamOverlayAPI/infotickerSchema.js +6 -7
  72. package/{esm/models → cjs/types}/CamOverlayAPI/pipSchema.d.ts +14 -14
  73. package/cjs/{models → types}/CamOverlayAPI/pipSchema.js +5 -6
  74. package/{esm/models → cjs/types}/CamOverlayAPI/ptzCompassSchema.d.ts +13 -10
  75. package/cjs/{models → types}/CamOverlayAPI/ptzCompassSchema.js +5 -5
  76. package/{esm/models → cjs/types}/CamOverlayAPI/ptzSchema.d.ts +16 -16
  77. package/cjs/types/CamOverlayAPI/ptzSchema.js +12 -0
  78. package/cjs/types/CamOverlayAPI/scoreBoardSchema.d.ts +357 -0
  79. package/cjs/types/CamOverlayAPI/scoreBoardSchema.js +132 -0
  80. package/cjs/{models → types}/CamOverlayAPI/screenSharingSchema.d.ts +8 -8
  81. package/cjs/types/CamOverlayAPI/screenSharingSchema.js +8 -0
  82. package/{esm/models/CamOverlayAPI/widgetCommonSchema.d.ts → cjs/types/CamOverlayAPI/serviceCommonTypes.d.ts} +67 -48
  83. package/cjs/{models/CamOverlayAPI/widgetCommonSchema.js → types/CamOverlayAPI/serviceCommonTypes.js} +33 -18
  84. package/{esm/models → cjs/types}/CamOverlayAPI/webCameraSharingSchema.d.ts +8 -8
  85. package/cjs/types/CamOverlayAPI/webCameraSharingSchema.js +8 -0
  86. package/cjs/types/CamOverlayDrawingAPI.d.ts +48 -0
  87. package/cjs/types/CamOverlayDrawingAPI.js +2 -0
  88. package/cjs/types/CamOverlayPainter.d.ts +76 -0
  89. package/cjs/types/CamOverlayPainter.js +14 -0
  90. package/cjs/types/CamScripterAPI.d.ts +86 -23
  91. package/cjs/types/CamScripterAPI.js +24 -8
  92. package/cjs/types/CamScripterAPICameraEventsGenerator.d.ts +45 -0
  93. package/cjs/types/CamScripterAPICameraEventsGenerator.js +2 -0
  94. package/cjs/types/CamStreamerAPI/CamStreamerAPI.d.ts +14570 -0
  95. package/cjs/types/CamStreamerAPI/CamStreamerAPI.js +154 -0
  96. package/cjs/types/CamStreamerAPI/churchSchema.d.ts +288 -0
  97. package/cjs/types/CamStreamerAPI/churchSchema.js +11 -0
  98. package/cjs/types/CamStreamerAPI/daCastSchema.d.ts +288 -0
  99. package/cjs/types/CamStreamerAPI/daCastSchema.js +11 -0
  100. package/cjs/types/CamStreamerAPI/dailymotionSchema.d.ts +288 -0
  101. package/cjs/types/CamStreamerAPI/dailymotionSchema.js +11 -0
  102. package/cjs/types/CamStreamerAPI/facebookSchema.d.ts +340 -0
  103. package/cjs/types/CamStreamerAPI/facebookSchema.js +27 -0
  104. package/cjs/types/CamStreamerAPI/gameChangerSchema.d.ts +307 -0
  105. package/cjs/types/CamStreamerAPI/gameChangerSchema.js +11 -0
  106. package/cjs/types/CamStreamerAPI/hlsPullSchema.d.ts +288 -0
  107. package/cjs/types/CamStreamerAPI/hlsPullSchema.js +11 -0
  108. package/cjs/types/CamStreamerAPI/hlsPushSchema.d.ts +288 -0
  109. package/cjs/types/CamStreamerAPI/hlsPushSchema.js +11 -0
  110. package/cjs/types/CamStreamerAPI/ibmSchema.d.ts +288 -0
  111. package/cjs/types/CamStreamerAPI/ibmSchema.js +11 -0
  112. package/cjs/types/CamStreamerAPI/index.d.ts +9 -0
  113. package/cjs/types/CamStreamerAPI/index.js +25 -0
  114. package/cjs/types/CamStreamerAPI/microsoftAzureSchema.d.ts +288 -0
  115. package/cjs/types/CamStreamerAPI/microsoftAzureSchema.js +11 -0
  116. package/cjs/types/CamStreamerAPI/microsoftStreamSchema.d.ts +288 -0
  117. package/cjs/types/CamStreamerAPI/microsoftStreamSchema.js +11 -0
  118. package/cjs/types/CamStreamerAPI/mpegDvbSchema.d.ts +336 -0
  119. package/cjs/types/CamStreamerAPI/mpegDvbSchema.js +27 -0
  120. package/cjs/types/{CamStreamerAPI.d.ts → CamStreamerAPI/oldStreamSchema.d.ts} +108 -39
  121. package/cjs/types/CamStreamerAPI/oldStreamSchema.js +53 -0
  122. package/cjs/types/CamStreamerAPI/rtmpSchema.d.ts +609 -0
  123. package/cjs/types/CamStreamerAPI/rtmpSchema.js +19 -0
  124. package/cjs/types/CamStreamerAPI/sdCardSchema.d.ts +288 -0
  125. package/cjs/types/CamStreamerAPI/sdCardSchema.js +11 -0
  126. package/cjs/types/CamStreamerAPI/srtSchema.d.ts +288 -0
  127. package/cjs/types/CamStreamerAPI/srtSchema.js +11 -0
  128. package/cjs/types/CamStreamerAPI/streamCommonTypes.d.ts +583 -0
  129. package/cjs/types/CamStreamerAPI/streamCommonTypes.js +118 -0
  130. package/cjs/types/CamStreamerAPI/twitchSchema.d.ts +288 -0
  131. package/cjs/types/CamStreamerAPI/twitchSchema.js +11 -0
  132. package/cjs/types/CamStreamerAPI/vimeoSchema.d.ts +288 -0
  133. package/cjs/types/CamStreamerAPI/vimeoSchema.js +11 -0
  134. package/cjs/types/CamStreamerAPI/windySchema.d.ts +288 -0
  135. package/cjs/types/CamStreamerAPI/windySchema.js +11 -0
  136. package/cjs/types/CamStreamerAPI/wowzaSchema.d.ts +288 -0
  137. package/cjs/types/CamStreamerAPI/wowzaSchema.js +11 -0
  138. package/cjs/types/CamStreamerAPI/youtubeSchema.d.ts +330 -0
  139. package/cjs/types/CamStreamerAPI/youtubeSchema.js +25 -0
  140. package/cjs/types/CamSwitcherAPI.d.ts +127 -67
  141. package/cjs/types/CamSwitcherAPI.js +31 -1
  142. package/cjs/{events → types}/GenetecAgent.d.ts +47 -47
  143. package/cjs/types/GenetecAgent.js +31 -0
  144. package/cjs/types/PlaneTrackerAPI.d.ts +980 -0
  145. package/cjs/types/PlaneTrackerAPI.js +333 -0
  146. package/cjs/types/VapixAPI.d.ts +255 -15
  147. package/cjs/types/VapixAPI.js +66 -3
  148. package/cjs/types/VapixEvents.d.ts +15 -0
  149. package/cjs/types/VapixEvents.js +2 -0
  150. package/cjs/types/common.d.ts +43 -3
  151. package/cjs/types/common.js +17 -2
  152. package/cjs/types/ws/CamOverlayEvents.d.ts +88 -0
  153. package/cjs/types/ws/CamOverlayEvents.js +19 -0
  154. package/cjs/types/ws/CamStreamerEvents.d.ts +282 -0
  155. package/cjs/types/ws/CamStreamerEvents.js +36 -0
  156. package/cjs/types/ws/PlaneTrackerEvents.d.ts +1703 -0
  157. package/cjs/types/ws/PlaneTrackerEvents.js +207 -0
  158. package/cjs/web/DefaultClient.d.ts +7 -5
  159. package/cjs/web/DefaultClient.js +25 -11
  160. package/cjs/web/WsClient.d.ts +9 -5
  161. package/cjs/web/WsClient.js +16 -18
  162. package/cjs/ws/CamOverlayEvents.d.ts +8 -0
  163. package/cjs/ws/CamOverlayEvents.js +24 -0
  164. package/cjs/ws/CamStreamerEvents.d.ts +8 -0
  165. package/cjs/ws/CamStreamerEvents.js +24 -0
  166. package/cjs/ws/CamSwitcherEvents.d.ts +8 -0
  167. package/cjs/ws/CamSwitcherEvents.js +24 -0
  168. package/cjs/ws/PlaneTrackerEvents.d.ts +9 -0
  169. package/cjs/ws/PlaneTrackerEvents.js +30 -0
  170. package/esm/CamOverlayAPI.js +113 -146
  171. package/esm/CamScripterAPI.js +51 -32
  172. package/esm/CamStreamerAPI.js +183 -37
  173. package/esm/CamSwitcherAPI.js +146 -180
  174. package/esm/PlaneTrackerAPI.js +253 -0
  175. package/esm/VapixAPI.js +285 -212
  176. package/esm/{CreatePackage.js → bin/CreatePackage.js} +16 -16
  177. package/esm/errors/errors.js +122 -6
  178. package/esm/index.js +20 -6
  179. package/esm/internal/ProxyClient.js +28 -34
  180. package/esm/{CamSwitcherEvents.js → internal/WsEvents.js} +31 -20
  181. package/esm/internal/constants.js +1 -0
  182. package/esm/internal/convertors.js +108 -0
  183. package/esm/internal/utils.js +0 -9
  184. package/esm/{CamOverlayDrawingAPI.js → node/CamOverlayDrawingAPI.js} +26 -18
  185. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/Frame.js +33 -0
  186. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/Painter.js +2 -13
  187. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/ResourceManager.js +7 -5
  188. package/esm/{CamScripterAPICameraEventsGenerator.js → node/CamScripterAPICameraEventsGenerator.js} +11 -11
  189. package/esm/node/DefaultClient.js +12 -16
  190. package/esm/node/Digest.test.js +11 -0
  191. package/esm/node/HttpRequestSender.js +14 -4
  192. package/esm/node/HttpServer.js +1 -1
  193. package/esm/node/TimeZoneDaemon.js +25 -0
  194. package/esm/{VapixEvents.js → node/VapixEvents.js} +10 -10
  195. package/esm/node/WsClient.js +22 -15
  196. package/esm/{events → node/events}/AxisCameraStationEvents.js +18 -13
  197. package/esm/node/events/GenetecAgent.js +120 -0
  198. package/esm/node/index.js +18 -2
  199. package/esm/types/CamOverlayAPI/CamOverlayAPI.js +110 -0
  200. package/esm/{models → types}/CamOverlayAPI/accuweatherSchema.js +3 -4
  201. package/esm/{models → types}/CamOverlayAPI/customGraphicsSchema.js +3 -4
  202. package/esm/types/CamOverlayAPI/imagesSchema.js +6 -0
  203. package/esm/{models → types}/CamOverlayAPI/index.js +2 -4
  204. package/esm/{models → types}/CamOverlayAPI/infotickerSchema.js +3 -4
  205. package/esm/{models → types}/CamOverlayAPI/pipSchema.js +4 -5
  206. package/esm/{models → types}/CamOverlayAPI/ptzCompassSchema.js +4 -4
  207. package/esm/types/CamOverlayAPI/ptzSchema.js +9 -0
  208. package/esm/types/CamOverlayAPI/scoreBoardSchema.js +129 -0
  209. package/esm/types/CamOverlayAPI/screenSharingSchema.js +5 -0
  210. package/esm/{models/CamOverlayAPI/widgetCommonSchema.js → types/CamOverlayAPI/serviceCommonTypes.js} +32 -17
  211. package/esm/types/CamOverlayAPI/webCameraSharingSchema.js +5 -0
  212. package/esm/types/CamOverlayDrawingAPI.js +1 -0
  213. package/esm/types/CamOverlayPainter.js +11 -0
  214. package/esm/types/CamScripterAPI.js +23 -7
  215. package/esm/types/CamScripterAPICameraEventsGenerator.js +1 -0
  216. package/esm/types/CamStreamerAPI/CamStreamerAPI.js +132 -0
  217. package/esm/types/CamStreamerAPI/churchSchema.js +5 -0
  218. package/esm/types/CamStreamerAPI/daCastSchema.js +5 -0
  219. package/esm/types/CamStreamerAPI/dailymotionSchema.js +5 -0
  220. package/esm/types/CamStreamerAPI/facebookSchema.js +21 -0
  221. package/esm/types/CamStreamerAPI/gameChangerSchema.js +5 -0
  222. package/esm/types/CamStreamerAPI/hlsPullSchema.js +5 -0
  223. package/esm/types/CamStreamerAPI/hlsPushSchema.js +5 -0
  224. package/esm/types/CamStreamerAPI/ibmSchema.js +5 -0
  225. package/esm/types/CamStreamerAPI/index.js +9 -0
  226. package/esm/types/CamStreamerAPI/microsoftAzureSchema.js +5 -0
  227. package/esm/types/CamStreamerAPI/microsoftStreamSchema.js +5 -0
  228. package/esm/types/CamStreamerAPI/mpegDvbSchema.js +21 -0
  229. package/esm/types/CamStreamerAPI/oldStreamSchema.js +50 -0
  230. package/esm/types/CamStreamerAPI/rtmpSchema.js +13 -0
  231. package/esm/types/CamStreamerAPI/sdCardSchema.js +5 -0
  232. package/esm/types/CamStreamerAPI/srtSchema.js +5 -0
  233. package/esm/types/CamStreamerAPI/streamCommonTypes.js +115 -0
  234. package/esm/types/CamStreamerAPI/twitchSchema.js +5 -0
  235. package/esm/types/CamStreamerAPI/vimeoSchema.js +5 -0
  236. package/esm/types/CamStreamerAPI/windySchema.js +5 -0
  237. package/esm/types/CamStreamerAPI/wowzaSchema.js +5 -0
  238. package/esm/types/CamStreamerAPI/youtubeSchema.js +19 -0
  239. package/esm/types/CamSwitcherAPI.js +31 -1
  240. package/esm/types/GenetecAgent.js +28 -0
  241. package/esm/types/PlaneTrackerAPI.js +330 -0
  242. package/esm/types/VapixAPI.js +65 -2
  243. package/esm/types/VapixEvents.js +1 -0
  244. package/esm/types/common.js +16 -1
  245. package/esm/types/ws/CamOverlayEvents.js +16 -0
  246. package/esm/types/ws/CamStreamerEvents.js +33 -0
  247. package/esm/types/ws/PlaneTrackerEvents.js +204 -0
  248. package/esm/web/DefaultClient.js +25 -11
  249. package/esm/web/WsClient.js +16 -18
  250. package/esm/ws/CamOverlayEvents.js +20 -0
  251. package/esm/ws/CamStreamerEvents.js +20 -0
  252. package/esm/ws/CamSwitcherEvents.js +20 -0
  253. package/esm/ws/PlaneTrackerEvents.js +26 -0
  254. package/package.json +43 -9
  255. package/{esm → types}/CamOverlayAPI.d.ts +543 -311
  256. package/types/CamScripterAPI.d.ts +47 -0
  257. package/types/CamStreamerAPI.d.ts +2169 -0
  258. package/types/CamSwitcherAPI.d.ts +168 -0
  259. package/types/PlaneTrackerAPI.d.ts +242 -0
  260. package/types/VapixAPI.d.ts +118 -0
  261. package/types/bin/CreatePackage.d.ts +1 -0
  262. package/types/errors/errors.d.ts +103 -0
  263. package/types/index.d.ts +28 -0
  264. package/types/internal/ProxyClient.d.ts +10 -0
  265. package/types/internal/WsEvents.d.ts +38 -0
  266. package/{esm → types}/internal/constants.d.ts +1 -0
  267. package/types/internal/convertors.d.ts +6 -0
  268. package/types/internal/types.d.ts +47 -0
  269. package/{esm → types}/internal/utils.d.ts +1 -3
  270. package/types/node/CamOverlayDrawingAPI.d.ts +41 -0
  271. package/{cjs → types/node}/CamOverlayPainter/Frame.d.ts +8 -37
  272. package/{esm → types/node}/CamOverlayPainter/Painter.d.ts +5 -21
  273. package/types/node/CamOverlayPainter/ResourceManager.d.ts +15 -0
  274. package/types/node/CamScripterAPICameraEventsGenerator.d.ts +31 -0
  275. package/types/node/DefaultClient.d.ts +16 -0
  276. package/types/node/Digest.test.d.ts +1 -0
  277. package/{esm → types}/node/HttpRequestSender.d.ts +1 -0
  278. package/{esm → types}/node/HttpServer.d.ts +1 -1
  279. package/types/node/TimeZoneDaemon.d.ts +6 -0
  280. package/types/node/VapixEvents.d.ts +16 -0
  281. package/types/node/WsClient.d.ts +30 -0
  282. package/types/node/events/AxisCameraStationEvents.d.ts +12 -0
  283. package/types/node/events/GenetecAgent.d.ts +16 -0
  284. package/types/node/index.d.ts +18 -0
  285. package/{esm/models/CamOverlayAPI/widgetsSchema.d.ts → types/types/CamOverlayAPI/CamOverlayAPI.d.ts} +2387 -599
  286. package/{esm/models → types/types}/CamOverlayAPI/accuweatherSchema.d.ts +12 -12
  287. package/{esm/models → types/types}/CamOverlayAPI/customGraphicsSchema.d.ts +83 -82
  288. package/{cjs/models → types/types}/CamOverlayAPI/imagesSchema.d.ts +10 -10
  289. package/{esm/models → types/types}/CamOverlayAPI/index.d.ts +2 -4
  290. package/{esm/models → types/types}/CamOverlayAPI/infotickerSchema.d.ts +20 -20
  291. package/{cjs/models → types/types}/CamOverlayAPI/pipSchema.d.ts +14 -14
  292. package/{cjs/models → types/types}/CamOverlayAPI/ptzCompassSchema.d.ts +13 -10
  293. package/{cjs/models → types/types}/CamOverlayAPI/ptzSchema.d.ts +16 -16
  294. package/types/types/CamOverlayAPI/scoreBoardSchema.d.ts +357 -0
  295. package/{esm/models → types/types}/CamOverlayAPI/screenSharingSchema.d.ts +8 -8
  296. package/{cjs/models/CamOverlayAPI/widgetCommonSchema.d.ts → types/types/CamOverlayAPI/serviceCommonTypes.d.ts} +67 -48
  297. package/{cjs/models → types/types}/CamOverlayAPI/webCameraSharingSchema.d.ts +8 -8
  298. package/types/types/CamOverlayDrawingAPI.d.ts +48 -0
  299. package/types/types/CamOverlayPainter.d.ts +76 -0
  300. package/types/types/CamScripterAPI.d.ts +130 -0
  301. package/types/types/CamScripterAPICameraEventsGenerator.d.ts +45 -0
  302. package/types/types/CamStreamerAPI/CamStreamerAPI.d.ts +14570 -0
  303. package/types/types/CamStreamerAPI/churchSchema.d.ts +288 -0
  304. package/types/types/CamStreamerAPI/daCastSchema.d.ts +288 -0
  305. package/types/types/CamStreamerAPI/dailymotionSchema.d.ts +288 -0
  306. package/types/types/CamStreamerAPI/facebookSchema.d.ts +340 -0
  307. package/types/types/CamStreamerAPI/gameChangerSchema.d.ts +307 -0
  308. package/types/types/CamStreamerAPI/hlsPullSchema.d.ts +288 -0
  309. package/types/types/CamStreamerAPI/hlsPushSchema.d.ts +288 -0
  310. package/types/types/CamStreamerAPI/ibmSchema.d.ts +288 -0
  311. package/types/types/CamStreamerAPI/index.d.ts +9 -0
  312. package/types/types/CamStreamerAPI/microsoftAzureSchema.d.ts +288 -0
  313. package/types/types/CamStreamerAPI/microsoftStreamSchema.d.ts +288 -0
  314. package/types/types/CamStreamerAPI/mpegDvbSchema.d.ts +336 -0
  315. package/{esm/types/CamStreamerAPI.d.ts → types/types/CamStreamerAPI/oldStreamSchema.d.ts} +108 -39
  316. package/types/types/CamStreamerAPI/rtmpSchema.d.ts +609 -0
  317. package/types/types/CamStreamerAPI/sdCardSchema.d.ts +288 -0
  318. package/types/types/CamStreamerAPI/srtSchema.d.ts +288 -0
  319. package/types/types/CamStreamerAPI/streamCommonTypes.d.ts +583 -0
  320. package/types/types/CamStreamerAPI/twitchSchema.d.ts +288 -0
  321. package/types/types/CamStreamerAPI/vimeoSchema.d.ts +288 -0
  322. package/types/types/CamStreamerAPI/windySchema.d.ts +288 -0
  323. package/types/types/CamStreamerAPI/wowzaSchema.d.ts +288 -0
  324. package/types/types/CamStreamerAPI/youtubeSchema.d.ts +330 -0
  325. package/{esm → types}/types/CamSwitcherAPI.d.ts +127 -67
  326. package/{esm/events → types/types}/GenetecAgent.d.ts +47 -47
  327. package/types/types/PlaneTrackerAPI.d.ts +980 -0
  328. package/{esm → types}/types/VapixAPI.d.ts +255 -15
  329. package/types/types/VapixEvents.d.ts +15 -0
  330. package/types/types/common.d.ts +77 -0
  331. package/types/types/ws/CamOverlayEvents.d.ts +88 -0
  332. package/types/types/ws/CamStreamerEvents.d.ts +282 -0
  333. package/types/types/ws/PlaneTrackerEvents.d.ts +1703 -0
  334. package/types/web/DefaultClient.d.ts +8 -0
  335. package/types/web/WsClient.d.ts +17 -0
  336. package/types/ws/CamOverlayEvents.d.ts +8 -0
  337. package/types/ws/CamStreamerEvents.d.ts +8 -0
  338. package/types/ws/CamSwitcherEvents.d.ts +8 -0
  339. package/types/ws/PlaneTrackerEvents.d.ts +9 -0
  340. package/cjs/CamOverlayDrawingAPI.d.ts +0 -86
  341. package/cjs/CamOverlayPainter/ResourceManager.d.ts +0 -14
  342. package/cjs/CamOverlayPainter/ResourceManager.js +0 -46
  343. package/cjs/CamScripterAPICameraEventsGenerator.d.ts +0 -74
  344. package/cjs/CamSwitcherEvents.d.ts +0 -18
  345. package/cjs/VapixEvents.d.ts +0 -43
  346. package/cjs/events/AxisCameraStationEvents.d.ts +0 -10
  347. package/cjs/events/GenetecAgent.js +0 -123
  348. package/cjs/models/CamOverlayAPI/constants.d.ts +0 -11
  349. package/cjs/models/CamOverlayAPI/constants.js +0 -14
  350. package/cjs/models/CamOverlayAPI/fileSchema.d.ts +0 -28
  351. package/cjs/models/CamOverlayAPI/fileSchema.js +0 -17
  352. package/cjs/models/CamOverlayAPI/imagesSchema.js +0 -10
  353. package/cjs/models/CamOverlayAPI/ptzSchema.js +0 -13
  354. package/cjs/models/CamOverlayAPI/screenSharingSchema.js +0 -9
  355. package/cjs/models/CamOverlayAPI/webCameraSharingSchema.js +0 -9
  356. package/cjs/models/CamOverlayAPI/widgetsSchema.js +0 -27
  357. package/cjs/node/WsEventClient.d.ts +0 -13
  358. package/cjs/node/WsEventClient.js +0 -22
  359. package/cjs/types/CamOverlayAPI.d.ts +0 -328
  360. package/cjs/types/CamOverlayAPI.js +0 -26
  361. package/cjs/types/CamStreamerAPI.js +0 -28
  362. package/esm/CamOverlayDrawingAPI.d.ts +0 -86
  363. package/esm/CamOverlayPainter/ResourceManager.d.ts +0 -14
  364. package/esm/CamScripterAPI.d.ts +0 -19
  365. package/esm/CamScripterAPICameraEventsGenerator.d.ts +0 -74
  366. package/esm/CamStreamerAPI.d.ts +0 -16
  367. package/esm/CamSwitcherAPI.d.ts +0 -52
  368. package/esm/CamSwitcherEvents.d.ts +0 -18
  369. package/esm/VapixAPI.d.ts +0 -78
  370. package/esm/VapixEvents.d.ts +0 -43
  371. package/esm/errors/errors.d.ts +0 -37
  372. package/esm/events/AxisCameraStationEvents.d.ts +0 -10
  373. package/esm/events/GenetecAgent.js +0 -119
  374. package/esm/index.d.ts +0 -14
  375. package/esm/internal/ProxyClient.d.ts +0 -11
  376. package/esm/internal/types.d.ts +0 -35
  377. package/esm/models/CamOverlayAPI/constants.d.ts +0 -11
  378. package/esm/models/CamOverlayAPI/constants.js +0 -11
  379. package/esm/models/CamOverlayAPI/fileSchema.d.ts +0 -28
  380. package/esm/models/CamOverlayAPI/fileSchema.js +0 -14
  381. package/esm/models/CamOverlayAPI/imagesSchema.js +0 -7
  382. package/esm/models/CamOverlayAPI/ptzSchema.js +0 -10
  383. package/esm/models/CamOverlayAPI/screenSharingSchema.js +0 -6
  384. package/esm/models/CamOverlayAPI/webCameraSharingSchema.js +0 -6
  385. package/esm/models/CamOverlayAPI/widgetsSchema.js +0 -24
  386. package/esm/node/DefaultClient.d.ts +0 -16
  387. package/esm/node/WsClient.d.ts +0 -39
  388. package/esm/node/WsEventClient.d.ts +0 -13
  389. package/esm/node/WsEventClient.js +0 -18
  390. package/esm/types/CamOverlayAPI.d.ts +0 -328
  391. package/esm/types/CamOverlayAPI.js +0 -14
  392. package/esm/types/CamScripterAPI.d.ts +0 -67
  393. package/esm/types/CamStreamerAPI.js +0 -25
  394. package/esm/types/common.d.ts +0 -37
  395. package/esm/web/DefaultClient.d.ts +0 -6
  396. package/esm/web/WsClient.d.ts +0 -13
  397. package/esm/web/index.d.ts +0 -2
  398. /package/cjs/{CreatePackage.d.ts → bin/CreatePackage.d.ts} +0 -0
  399. /package/cjs/{internal → node}/Digest.d.ts +0 -0
  400. /package/{esm/CreatePackage.d.ts → cjs/node/Digest.test.d.ts} +0 -0
  401. /package/cjs/types/{CamSwitcherEvents.d.ts → ws/CamSwitcherEvents.d.ts} +0 -0
  402. /package/cjs/types/{CamSwitcherEvents.js → ws/CamSwitcherEvents.js} +0 -0
  403. /package/esm/{internal → node}/Digest.js +0 -0
  404. /package/esm/types/{CamSwitcherEvents.js → ws/CamSwitcherEvents.js} +0 -0
  405. /package/{esm → types}/internal/transformers.d.ts +0 -0
  406. /package/{esm → types}/internal/versionCompare.d.ts +0 -0
  407. /package/{esm/internal → types/node}/Digest.d.ts +0 -0
  408. /package/{esm/types → types/types/ws}/CamSwitcherEvents.d.ts +0 -0
  409. /package/{esm/node → types/web}/index.d.ts +0 -0
@@ -1,12 +1,12 @@
1
1
  import { z } from 'zod';
2
- import { AddNewClipError } from './errors/errors';
3
- import { isClip, isNullish, responseStringify } from './internal/utils';
4
- import { storageInfoListSchema, outputInfoSchema, audioPushInfoSchema, clipListSchema, playlistQueueSchema, streamSaveLoadSchema, clipSaveLoadSchema, playlistSaveLoadSchema, trackerSaveLoadSchema, } from './types/CamSwitcherAPI';
5
- import { networkCameraListSchema } from './types/common';
2
+ import { AddNewClipError, JsonParseError, ParameterNotFoundError, ErrorWithResponse } from './errors/errors';
3
+ import { parseBitrateOptionsToVapixParams, parseVapixParamsToBitrateOptions } from './internal/convertors';
4
+ import { isClip, isNullish } from './internal/utils';
5
+ import { storageInfoListSchema, outputInfoSchema, audioPushInfoSchema, clipListSchema, playlistQueueSchema, streamSaveLoadSchema, clipSaveLoadSchema, playlistSaveLoadSchema, trackerSaveLoadSchema, secondaryAudioSettingsSchema, globalAudioSettingsSchema, } from './types/CamSwitcherAPI';
6
+ import { networkCameraListSchema, } from './types/common';
6
7
  import { VapixAPI } from './VapixAPI';
7
- import { isFirmwareVersionAtLeast } from './internal/versionCompare';
8
- import { FIRMWARE_WITH_BITRATE_MODES_SUPPORT } from './internal/constants';
9
- const baseUrl = '/local/camswitcher/api';
8
+ import { ProxyClient } from './internal/ProxyClient';
9
+ const BASE_PATH = '/local/camswitcher/api';
10
10
  export class CamSwitcherAPI {
11
11
  client;
12
12
  CustomFormData;
@@ -14,112 +14,137 @@ export class CamSwitcherAPI {
14
14
  constructor(client, CustomFormData = FormData) {
15
15
  this.client = client;
16
16
  this.CustomFormData = CustomFormData;
17
- this.vapixAgent = new VapixAPI(client, () => '');
18
- }
19
- static getProxyUrlPath = () => `${baseUrl}/proxy.cgi`;
20
- static getWsEventsUrlPath = () => `/local/camswitcher/events`;
21
- static getClipPreviewUrlPath = (id, storage) => `${baseUrl}/clip_preview.cgi?clip_name=${id}&storage=${storage}`;
22
- async generateSilence(sampleRate, channels) {
23
- await this.client.get(`${baseUrl}/generate_silence.cgi`, {
24
- sample_rate: sampleRate.toString(),
25
- channels,
17
+ this.vapixAgent = new VapixAPI(client);
18
+ }
19
+ static getProxyPath = () => `${BASE_PATH}/proxy.cgi`;
20
+ static getWsEventsPath = () => `/local/camswitcher/events`;
21
+ static getClipPreviewPath = (clipId, storage) => `${BASE_PATH}/clip_preview.cgi?clip_name=${clipId}&storage=${storage}`;
22
+ getClient(proxyParams) {
23
+ return proxyParams ? new ProxyClient(this.client, proxyParams) : this.client;
24
+ }
25
+ async checkAPIAvailable(options) {
26
+ await this._getJson(`${BASE_PATH}/api_check.cgi`, undefined, options);
27
+ }
28
+ async checkCameraTime(options) {
29
+ const res = await this._getJson(`${BASE_PATH}/camera_time.cgi`, undefined, options);
30
+ return z.boolean().parse(res.data);
31
+ }
32
+ async getNetworkCameraList(options) {
33
+ const res = await this._getJson(`${BASE_PATH}/network_camera_list.cgi`, undefined, options);
34
+ return networkCameraListSchema.parse(res.data);
35
+ }
36
+ async generateSilence(sampleRate, channels, options) {
37
+ const agent = this.getClient(options?.proxyParams);
38
+ await agent.get({
39
+ path: `${BASE_PATH}/generate_silence.cgi`,
40
+ parameters: {
41
+ sample_rate: sampleRate.toString(),
42
+ channels,
43
+ },
44
+ timeout: options?.timeout,
26
45
  });
27
46
  }
28
- async checkCameraTime() {
29
- const data = await this.get(`${baseUrl}/camera_time.cgi`);
30
- return z.boolean().parse(data);
31
- }
32
- async getIpListFromNetworkCheck() {
33
- const data = await this.get(`${baseUrl}/network_camera_list.cgi`);
34
- return networkCameraListSchema.parse(data);
47
+ async getMaxFps(source, options) {
48
+ const res = await this._getJson(`${BASE_PATH}/get_max_framerate.cgi`, {
49
+ video_source: source,
50
+ }, options);
51
+ return z.number().parse(res.data);
35
52
  }
36
- async getMaxFps(source) {
37
- const data = await this.get(`${baseUrl}/get_max_framerate.cgi`, {
38
- video_source: source.toString(),
39
- });
40
- return z.number().parse(data);
53
+ async getStorageInfo(options) {
54
+ const res = await this._getJson(`${BASE_PATH}/get_storage.cgi`, undefined, options);
55
+ return storageInfoListSchema.parse(res.data);
41
56
  }
42
- async getStorageInfo() {
43
- const data = await this.get(`${baseUrl}/get_storage.cgi`);
44
- return storageInfoListSchema.parse(data);
57
+ async wsAuthorization(options) {
58
+ const res = await this._getJson(`${BASE_PATH}/ws_authorization.cgi`, undefined, options);
59
+ return z.string().parse(res.data);
45
60
  }
46
- async wsAuthorization() {
47
- const data = await this.get(`${baseUrl}/ws_authorization.cgi`);
48
- return z.string().parse(data);
61
+ async getOutputInfo(options) {
62
+ const res = await this._getJson(`${BASE_PATH}/output_info.cgi`, undefined, options);
63
+ return outputInfoSchema.parse(res.data);
49
64
  }
50
- async getOutputInfo() {
51
- const data = await this.get(`${baseUrl}/output_info.cgi`);
52
- return outputInfoSchema.parse(data);
65
+ async getAudioPushInfo(options) {
66
+ const res = await this._getJson(`${BASE_PATH}/audio_push_info.cgi`, undefined, options);
67
+ return audioPushInfoSchema.parse(res.data);
53
68
  }
54
- async getAudioPushInfo() {
55
- const data = await this.get(`${baseUrl}/audio_push_info.cgi`);
56
- return audioPushInfoSchema.parse(data);
69
+ async getStreamSaveList(options) {
70
+ const res = await this._getJson(`${BASE_PATH}/streams.cgi`, { action: 'get' }, options);
71
+ return streamSaveLoadSchema.parse(res.data);
57
72
  }
58
- async getStreamSaveList() {
59
- const data = await this.get(`${baseUrl}/streams.cgi`, { action: 'get' });
60
- return streamSaveLoadSchema.parse(data);
73
+ async getClipSaveList(options) {
74
+ const res = await this._getJson(`${BASE_PATH}/clips.cgi`, { action: 'get' }, options);
75
+ return clipSaveLoadSchema.parse(res.data);
61
76
  }
62
- async getClipSaveList() {
63
- const data = await this.get(`${baseUrl}/clips.cgi`, { action: 'get' });
64
- return clipSaveLoadSchema.parse(data);
77
+ async getPlaylistSaveList(options) {
78
+ const res = await this._getJson(`${BASE_PATH}/playlists.cgi`, { action: 'get' }, options);
79
+ return playlistSaveLoadSchema.parse(res.data);
65
80
  }
66
- async getPlaylistSaveList() {
67
- const data = await this.get(`${baseUrl}/playlists.cgi`, { action: 'get' });
68
- return playlistSaveLoadSchema.parse(data);
81
+ async getTrackerSaveList(options) {
82
+ const res = await this._getJson(`${BASE_PATH}/trackers.cgi`, { action: 'get' }, options);
83
+ return trackerSaveLoadSchema.parse(res.data);
69
84
  }
70
- async getTrackerSaveList() {
71
- const data = await this.get(`${baseUrl}/trackers.cgi`, { action: 'get' });
72
- return trackerSaveLoadSchema.parse(data);
85
+ async setStreamSaveList(data, options) {
86
+ await this._post(`${BASE_PATH}/streams.cgi`, JSON.stringify(data), { action: 'set' }, options);
73
87
  }
74
- async setStreamSaveList(data) {
75
- return await this.set(`${baseUrl}/streams.cgi`, data, { action: 'set' });
88
+ async setClipSaveList(data, options) {
89
+ await this._post(`${BASE_PATH}/clips.cgi`, JSON.stringify(data), { action: 'set' }, options);
76
90
  }
77
- async setClipSaveList(data) {
78
- return await this.set(`${baseUrl}/clips.cgi`, data, { action: 'set' });
91
+ async setPlaylistSaveList(data, options) {
92
+ await this._post(`${BASE_PATH}/playlists.cgi`, JSON.stringify(data), { action: 'set' }, options);
79
93
  }
80
- async setPlaylistSaveList(data) {
81
- return await this.set(`${baseUrl}/playlists.cgi`, data, { action: 'set' });
94
+ async setTrackerSaveList(data, options) {
95
+ await this._post(`${BASE_PATH}/trackers.cgi`, JSON.stringify(data), { action: 'set' }, options);
82
96
  }
83
- async setTrackerSaveList(data) {
84
- return await this.set(`${baseUrl}/trackers.cgi`, data, { action: 'set' });
97
+ async playlistSwitch(playlistName, options) {
98
+ await this._getJson(`${BASE_PATH}/playlist_switch.cgi`, { playlist_name: playlistName }, options);
85
99
  }
86
- async playlistSwitch(playlistName) {
87
- await this.get(`${baseUrl}/playlist_switch.cgi?playlist_name=${playlistName}`);
100
+ async playlistQueuePush(playlistName, options) {
101
+ await this._getJson(`${BASE_PATH}/playlist_queue_push.cgi`, { playlist_name: playlistName }, options);
88
102
  }
89
- async playlistQueuePush(playlistName) {
90
- await this.get(`${baseUrl}/playlist_queue_push.cgi?playlist_name=${playlistName}`);
103
+ async playlistQueueClear(options) {
104
+ await this._getJson(`${BASE_PATH}/playlist_queue_clear.cgi`, undefined, options);
91
105
  }
92
- async playlistQueueClear() {
93
- await this.get(`${baseUrl}/playlist_queue_clear.cgi`);
106
+ async playlistQueueList(options) {
107
+ const res = await this._getJson(`${BASE_PATH}/playlist_queue_list.cgi`, undefined, options);
108
+ return playlistQueueSchema.parse(res.data).playlistQueueList;
94
109
  }
95
- async playlistQueueList() {
96
- const data = await this.get(`${baseUrl}/playlist_queue_list.cgi`);
97
- return playlistQueueSchema.parse(data).playlistQueueList;
110
+ async playlistQueuePlayNext(options) {
111
+ await this._getJson(`${BASE_PATH}/playlist_queue_play_next.cgi`, undefined, options);
98
112
  }
99
- async playlistQueuePlayNext() {
100
- await this.get(`${baseUrl}/playlist_queue_play_next.cgi`);
101
- }
102
- async addNewClip(file, clipType, storage, id, fileName) {
113
+ async addNewClip(file, clipType, storage, clipId, fileName, options) {
114
+ const path = `${BASE_PATH}/clip_upload.cgi`;
103
115
  const formData = new this.CustomFormData();
104
- formData.append('clip_name', id);
116
+ formData.append('clip_name', clipId);
105
117
  formData.append('clip_type', clipType);
106
118
  formData.append('file', file, fileName);
107
- const path = `${baseUrl}/clip_upload.cgi?storage=${storage}`;
108
- const res = await this.client.post(path, formData);
119
+ const agent = this.getClient(options?.proxyParams);
120
+ const res = await agent.post({
121
+ path,
122
+ data: formData,
123
+ parameters: {
124
+ storage: storage,
125
+ },
126
+ timeout: options?.timeout,
127
+ });
109
128
  const output = (await res.json());
110
129
  if (output.status !== 200) {
111
130
  throw new AddNewClipError(output.message);
112
131
  }
113
132
  }
114
- removeClip(id, storage) {
115
- return this.get(`${baseUrl}/clip_remove.cgi`, { clip_name: id, storage });
133
+ async removeClip(clipId, storage, options) {
134
+ await this._getJson(`${BASE_PATH}/clip_remove.cgi`, { clip_name: clipId, storage }, options);
116
135
  }
117
- async getClipList() {
118
- const data = await this.get(`${baseUrl}/clip_list.cgi`);
119
- return clipListSchema.parse(data).clip_list;
136
+ async getClipList(options) {
137
+ const res = await this._getJson(`${BASE_PATH}/clip_list.cgi`, undefined, options);
138
+ return clipListSchema.parse(res.data).clip_list;
120
139
  }
121
- setCamSwitchOptions(data, cameraFWVersion) {
122
- const bitrateVapixParams = parseBitrateOptionsToBitrateVapixParams(cameraFWVersion, data.bitrateMode, data);
140
+ setCamSwitchOptions(data, cameraFWVersion, options) {
141
+ const bitrateData = {
142
+ bitrateMode: data.bitrateMode,
143
+ maximumBitRate: data.maximumBitRate,
144
+ retentionTime: data.retentionTime,
145
+ bitRateLimit: data.bitRateLimit,
146
+ };
147
+ const bitrateVapixParams = parseBitrateOptionsToVapixParams(cameraFWVersion, data.bitrateMode, bitrateData);
123
148
  const saveData = {
124
149
  video: {
125
150
  resolution: data.resolution,
@@ -136,9 +161,9 @@ export class CamSwitcherAPI {
136
161
  },
137
162
  keyboard: data.keyboard,
138
163
  };
139
- return this.setParamFromCameraJSON(CSW_PARAM_NAMES.SETTINGS, saveData);
164
+ return this.setParamFromCameraJSON(CSW_PARAM_NAMES.SETTINGS, saveData, options);
140
165
  }
141
- setGlobalAudioSettings(settings) {
166
+ setGlobalAudioSettings(settings, options) {
142
167
  let acceptedType = 'NONE';
143
168
  if (settings.type === 'source' && settings.source) {
144
169
  if (isClip(settings.source)) {
@@ -154,9 +179,9 @@ export class CamSwitcherAPI {
154
179
  clip_name: settings.source,
155
180
  storage: settings.storage,
156
181
  };
157
- return this.setParamFromCameraJSON(CSW_PARAM_NAMES.MASTER_AUDIO, data);
182
+ return this.setParamFromCameraJSON(CSW_PARAM_NAMES.MASTER_AUDIO, data, options);
158
183
  }
159
- setSecondaryAudioSettings(settings) {
184
+ setSecondaryAudioSettings(settings, options) {
160
185
  const data = {
161
186
  type: settings.type,
162
187
  stream_name: settings.streamName ?? '',
@@ -165,19 +190,19 @@ export class CamSwitcherAPI {
165
190
  secondary_audio_level: settings.secondaryAudioLevel,
166
191
  master_audio_level: settings.masterAudioLevel,
167
192
  };
168
- return this.setParamFromCameraJSON(CSW_PARAM_NAMES.SECONDARY_AUDIO, data);
193
+ return this.setParamFromCameraJSON(CSW_PARAM_NAMES.SECONDARY_AUDIO, data, options);
169
194
  }
170
- setDefaultPlaylist(id) {
171
- const value = JSON.stringify({ default_playlist_id: id });
195
+ setDefaultPlaylist(playlistId, options) {
196
+ const value = JSON.stringify({ default_playlist_id: playlistId });
172
197
  return this.vapixAgent.setParameter({
173
198
  [CSW_PARAM_NAMES.DEFAULT_PLAYLIST]: value,
174
- }, null);
199
+ }, options);
175
200
  }
176
- setPermanentRtspUrlToken(token) {
177
- return this.vapixAgent.setParameter({ [CSW_PARAM_NAMES.RTSP_TOKEN]: token }, null);
201
+ setPermanentRtspUrlToken(token, options) {
202
+ return this.vapixAgent.setParameter({ [CSW_PARAM_NAMES.RTSP_TOKEN]: token }, options);
178
203
  }
179
- async getCamSwitchOptions() {
180
- const saveData = await this.getParamFromCameraAndJSONParse(CSW_PARAM_NAMES.SETTINGS);
204
+ async getCamSwitchOptions(options) {
205
+ const saveData = await this.getParamFromCameraAndJSONParse(CSW_PARAM_NAMES.SETTINGS, options);
181
206
  if (isNullish(saveData.video)) {
182
207
  return saveData;
183
208
  }
@@ -202,12 +227,12 @@ export class CamSwitcherAPI {
202
227
  keyboard: saveData.keyboard,
203
228
  };
204
229
  }
205
- async getGlobalAudioSettings() {
230
+ async getGlobalAudioSettings(options) {
206
231
  const settings = {
207
232
  type: 'fromSource',
208
233
  source: 'fromSource',
209
234
  };
210
- const res = await this.getParamFromCameraAndJSONParse(CSW_PARAM_NAMES.MASTER_AUDIO);
235
+ const res = await this.getParamFromCameraAndJSONParse(CSW_PARAM_NAMES.MASTER_AUDIO, options);
211
236
  if (res.type === 'STREAM') {
212
237
  settings.type = 'source';
213
238
  settings.source = res.stream_name;
@@ -217,52 +242,52 @@ export class CamSwitcherAPI {
217
242
  settings.source = res.clip_name;
218
243
  settings.storage = res.storage;
219
244
  }
220
- return settings;
245
+ return globalAudioSettingsSchema.parse(settings);
221
246
  }
222
- async getSecondaryAudioSettings() {
223
- const res = await this.getParamFromCameraAndJSONParse(CSW_PARAM_NAMES.SECONDARY_AUDIO);
247
+ async getSecondaryAudioSettings(options) {
248
+ const res = await this.getParamFromCameraAndJSONParse(CSW_PARAM_NAMES.SECONDARY_AUDIO, options);
224
249
  const settings = {
225
250
  type: res.type ?? 'NONE',
226
251
  streamName: res.stream_name,
227
252
  clipName: res.clip_name,
228
- storage: res.storage,
253
+ storage: res.storage ?? 'SD_DISK',
229
254
  secondaryAudioLevel: res.secondary_audio_level ?? 1,
230
255
  masterAudioLevel: res.master_audio_level ?? 1,
231
256
  };
232
- return settings;
257
+ return secondaryAudioSettingsSchema.parse(settings);
233
258
  }
234
- async getPermanentRtspUrlToken() {
259
+ async getPermanentRtspUrlToken(options) {
235
260
  const paramName = CSW_PARAM_NAMES.RTSP_TOKEN;
236
- const res = await this.vapixAgent.getParameter([paramName], null);
237
- return res[paramName] ?? '';
261
+ const res = await this.vapixAgent.getParameter([paramName], options);
262
+ return z.string().parse(res[paramName] ?? '');
238
263
  }
239
- async get(path, parameters = {}) {
240
- const res = await this.client.get(path, parameters);
264
+ async _getJson(path, parameters, options) {
265
+ const agent = this.getClient(options?.proxyParams);
266
+ const res = await agent.get({ path, parameters, timeout: options?.timeout });
241
267
  if (res.ok) {
242
- const d = (await res.json());
243
- return d.data;
268
+ return await res.json();
244
269
  }
245
270
  else {
246
- throw new Error(await responseStringify(res));
271
+ throw new ErrorWithResponse(res);
247
272
  }
248
273
  }
249
- async set(path, data, parameters = {}) {
250
- const res = await this.client.post(path, JSON.stringify(data), parameters);
274
+ async _post(path, data, parameters, options, headers) {
275
+ const agent = this.getClient(options?.proxyParams);
276
+ const res = await agent.post({ path, data, parameters, timeout: options?.timeout, headers });
251
277
  if (res.ok) {
252
- const parsed = await res.json();
253
- return parsed.message === 'OK';
278
+ return await res.json();
254
279
  }
255
280
  else {
256
- throw new Error(await responseStringify(res));
281
+ throw new ErrorWithResponse(res);
257
282
  }
258
283
  }
259
- setParamFromCameraJSON(paramName, data) {
284
+ setParamFromCameraJSON(paramName, data, options) {
260
285
  const params = {};
261
286
  params[paramName] = JSON.stringify(data);
262
- return this.vapixAgent.setParameter(params, null);
287
+ return this.vapixAgent.setParameter(params, options);
263
288
  }
264
- async getParamFromCameraAndJSONParse(paramName) {
265
- const data = await this.vapixAgent.getParameter([paramName], null);
289
+ async getParamFromCameraAndJSONParse(paramName, options) {
290
+ const data = await this.vapixAgent.getParameter([paramName], options);
266
291
  if (data[paramName] !== undefined) {
267
292
  try {
268
293
  if (data[paramName] === '') {
@@ -273,10 +298,10 @@ export class CamSwitcherAPI {
273
298
  }
274
299
  }
275
300
  catch {
276
- throw new Error('Error: in JSON parsing of ' + paramName + '. Cannot parse: ' + data[paramName]);
301
+ throw new JsonParseError(paramName, data[paramName]);
277
302
  }
278
303
  }
279
- throw new Error("Error: no parametr '" + paramName + "' was found");
304
+ throw new ParameterNotFoundError(paramName);
280
305
  }
281
306
  }
282
307
  const CSW_PARAM_NAMES = {
@@ -286,62 +311,3 @@ const CSW_PARAM_NAMES = {
286
311
  RTSP_TOKEN: 'Camswitcher.RTSPAccessToken',
287
312
  DEFAULT_PLAYLIST: 'Camswitcher.DefaultPlaylist',
288
313
  };
289
- const parseBitrateOptionsToBitrateVapixParams = (firmWareVersion, bitrateMode, cameraOptions) => {
290
- if (!isFirmwareVersionAtLeast(firmWareVersion, FIRMWARE_WITH_BITRATE_MODES_SUPPORT)) {
291
- return `videomaxbitrate=${cameraOptions.maximumBitRate}`;
292
- }
293
- if (bitrateMode === null) {
294
- return '';
295
- }
296
- const data = {
297
- VBR: 'videobitratemode=vbr',
298
- MBR: `videobitratemode=mbr&videomaxbitrate=${cameraOptions.maximumBitRate}`,
299
- ABR: `videobitratemode=abr&videoabrtargetbitrate=${cameraOptions.maximumBitRate}&videoabrretentiontime=${cameraOptions.retentionTime}&videoabrmaxbitrate=${cameraOptions.bitRateLimit}`,
300
- };
301
- return data[bitrateMode];
302
- };
303
- const parseVapixParamsToBitrateOptions = (bitrateVapixParams) => {
304
- const params = {};
305
- const searchParams = new URLSearchParams(bitrateVapixParams);
306
- searchParams.forEach((value, key) => {
307
- params[key] = value;
308
- });
309
- const bitrateMode = params['videobitratemode'] !== undefined ? params['videobitratemode'].toUpperCase() : undefined;
310
- const hasLowerFw = bitrateMode === undefined && params['videomaxbitrate'] !== undefined;
311
- if (hasLowerFw) {
312
- const maximumBitRate = parseInt(params['videomaxbitrate'] ?? '0', 10);
313
- return {
314
- bitrateMode: 'MBR',
315
- maximumBitRate: maximumBitRate,
316
- retentionTime: 1,
317
- bitRateLimit: Math.floor(maximumBitRate * 1.1),
318
- };
319
- }
320
- if (bitrateMode === 'ABR') {
321
- const maximumBitRate = parseInt(params['videoabrtargetbitrate'] ?? '0', 10);
322
- const retentionTime = parseInt(params['videoabrretentiontime'] ?? '0', 10);
323
- const bitRateLimit = parseInt(params['videoabrmaxbitrate'] ?? '0', 10);
324
- return {
325
- bitrateMode,
326
- maximumBitRate,
327
- retentionTime,
328
- bitRateLimit,
329
- };
330
- }
331
- else if (bitrateMode === 'MBR') {
332
- const maximumBitRate = params['videomaxbitrate'] !== undefined ? parseInt(params['videomaxbitrate'], 10) : null;
333
- const oldMaximumBitrateParamValue = parseInt(params['videombrmaxbitrate'] ?? '0', 10);
334
- return {
335
- bitrateMode: bitrateMode,
336
- maximumBitRate: maximumBitRate ?? oldMaximumBitrateParamValue,
337
- retentionTime: 1,
338
- bitRateLimit: Math.floor(maximumBitRate ?? oldMaximumBitrateParamValue * 1.1),
339
- };
340
- }
341
- return {
342
- bitrateMode: bitrateMode,
343
- retentionTime: 1,
344
- maximumBitRate: 0,
345
- bitRateLimit: 0,
346
- };
347
- };