agora-electron-sdk 0.0.0-dev.1

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 (369) hide show
  1. package/CHANGELOG.md +315 -0
  2. package/LICENSE +21 -0
  3. package/README.md +143 -0
  4. package/gulpfile.js +52 -0
  5. package/js/AgoraSdk.js +64 -0
  6. package/js/Decoder/gpu-utils.js +74 -0
  7. package/js/Decoder/index.js +172 -0
  8. package/js/Private/AgoraBase.js +3985 -0
  9. package/js/Private/AgoraMediaBase.js +1014 -0
  10. package/js/Private/AgoraMediaPlayerTypes.js +316 -0
  11. package/js/Private/IAgoraH265Transcoder.js +36 -0
  12. package/js/Private/IAgoraLog.js +78 -0
  13. package/js/Private/IAgoraMediaEngine.js +32 -0
  14. package/js/Private/IAgoraMediaPlayer.js +16 -0
  15. package/js/Private/IAgoraMediaPlayerSource.js +3 -0
  16. package/js/Private/IAgoraMediaRecorder.js +10 -0
  17. package/js/Private/IAgoraMediaStreamingSource.js +74 -0
  18. package/js/Private/IAgoraMusicContentCenter.js +157 -0
  19. package/js/Private/IAgoraRhythmPlayer.js +62 -0
  20. package/js/Private/IAgoraRtcEngine.js +982 -0
  21. package/js/Private/IAgoraRtcEngineEx.js +19 -0
  22. package/js/Private/IAgoraSpatialAudio.js +24 -0
  23. package/js/Private/IAudioDeviceManager.js +20 -0
  24. package/js/Private/extension/AgoraBaseExtension.js +3 -0
  25. package/js/Private/extension/AgoraMediaBaseExtension.js +2 -0
  26. package/js/Private/extension/AgoraMediaPlayerTypesExtension.js +2 -0
  27. package/js/Private/extension/IAgoraH265TranscoderExtension.js +2 -0
  28. package/js/Private/extension/IAgoraLogExtension.js +2 -0
  29. package/js/Private/extension/IAgoraMediaEngineExtension.js +2 -0
  30. package/js/Private/extension/IAgoraMediaPlayerExtension.js +2 -0
  31. package/js/Private/extension/IAgoraMediaPlayerSourceExtension.js +2 -0
  32. package/js/Private/extension/IAgoraMediaRecorderExtension.js +2 -0
  33. package/js/Private/extension/IAgoraMusicContentCenterExtension.js +2 -0
  34. package/js/Private/extension/IAgoraRhythmPlayerExtension.js +2 -0
  35. package/js/Private/extension/IAgoraRtcEngineExExtension.js +2 -0
  36. package/js/Private/extension/IAgoraRtcEngineExtension.js +2 -0
  37. package/js/Private/extension/IAgoraSpatialAudioExtension.js +2 -0
  38. package/js/Private/extension/IAudioDeviceManagerExtension.js +2 -0
  39. package/js/Private/impl/AgoraBaseImpl.js +23 -0
  40. package/js/Private/impl/AgoraMediaBaseImpl.js +149 -0
  41. package/js/Private/impl/IAgoraH265TranscoderImpl.js +116 -0
  42. package/js/Private/impl/IAgoraMediaEngineImpl.js +337 -0
  43. package/js/Private/impl/IAgoraMediaPlayerImpl.js +950 -0
  44. package/js/Private/impl/IAgoraMediaPlayerSourceImpl.js +73 -0
  45. package/js/Private/impl/IAgoraMediaRecorderImpl.js +47 -0
  46. package/js/Private/impl/IAgoraMusicContentCenterImpl.js +422 -0
  47. package/js/Private/impl/IAgoraRtcEngineExImpl.js +1042 -0
  48. package/js/Private/impl/IAgoraRtcEngineImpl.js +5167 -0
  49. package/js/Private/impl/IAgoraSpatialAudioImpl.js +358 -0
  50. package/js/Private/impl/IAudioDeviceManagerImpl.js +375 -0
  51. package/js/Private/internal/AgoraH265TranscoderInternal.js +62 -0
  52. package/js/Private/internal/AgoraMediaBaseInternal.js +15 -0
  53. package/js/Private/internal/AudioDeviceManagerInternal.js +44 -0
  54. package/js/Private/internal/IrisApiEngine.js +424 -0
  55. package/js/Private/internal/LocalSpatialAudioEngineInternal.js +7 -0
  56. package/js/Private/internal/MediaEngineInternal.js +122 -0
  57. package/js/Private/internal/MediaPlayerInternal.js +194 -0
  58. package/js/Private/internal/MediaRecorderInternal.js +70 -0
  59. package/js/Private/internal/MusicContentCenterInternal.js +139 -0
  60. package/js/Private/internal/RtcEngineExInternal.js +430 -0
  61. package/js/Private/ipc/main.js +21 -0
  62. package/js/Private/ipc/renderer.js +21 -0
  63. package/js/Private/ti/AgoraBase-ti.js +40 -0
  64. package/js/Private/ti/AgoraMediaBase-ti.js +75 -0
  65. package/js/Private/ti/AgoraMediaPlayerTypes-ti.js +5 -0
  66. package/js/Private/ti/IAgoraH265Transcoder-ti.js +40 -0
  67. package/js/Private/ti/IAgoraLog-ti.js +5 -0
  68. package/js/Private/ti/IAgoraMediaEngine-ti.js +5 -0
  69. package/js/Private/ti/IAgoraMediaPlayer-ti.js +38 -0
  70. package/js/Private/ti/IAgoraMediaPlayerSource-ti.js +50 -0
  71. package/js/Private/ti/IAgoraMediaRecorder-ti.js +5 -0
  72. package/js/Private/ti/IAgoraMediaStreamingSource-ti.js +5 -0
  73. package/js/Private/ti/IAgoraMusicContentCenter-ti.js +42 -0
  74. package/js/Private/ti/IAgoraRhythmPlayer-ti.js +5 -0
  75. package/js/Private/ti/IAgoraRtcEngine-ti.js +141 -0
  76. package/js/Private/ti/IAgoraRtcEngineEx-ti.js +5 -0
  77. package/js/Private/ti/IAgoraSpatialAudio-ti.js +5 -0
  78. package/js/Private/ti/IAudioDeviceManager-ti.js +5 -0
  79. package/js/Renderer/AgoraView.js +161 -0
  80. package/js/Renderer/CapabilityManager.js +99 -0
  81. package/js/Renderer/IRenderer.js +136 -0
  82. package/js/Renderer/IRendererCache.js +75 -0
  83. package/js/Renderer/RendererCache.js +100 -0
  84. package/js/Renderer/RendererManager.js +301 -0
  85. package/js/Renderer/WebCodecsRenderer/index.js +109 -0
  86. package/js/Renderer/WebCodecsRendererCache.js +115 -0
  87. package/js/Renderer/WebGLRenderer/index.js +314 -0
  88. package/js/Renderer/WebGLRenderer/webgl-utils.js +1337 -0
  89. package/js/Renderer/YUVCanvasRenderer/index.js +46 -0
  90. package/js/Renderer/index.js +17 -0
  91. package/js/Types.js +67 -0
  92. package/js/Utils.js +187 -0
  93. package/package.json +167 -0
  94. package/scripts/bootstrap.js +29 -0
  95. package/scripts/build.js +37 -0
  96. package/scripts/buildJS.js +14 -0
  97. package/scripts/checkElectron.js +43 -0
  98. package/scripts/clean.js +16 -0
  99. package/scripts/download.js +105 -0
  100. package/scripts/downloadPrebuild.js +199 -0
  101. package/scripts/getConfig.js +73 -0
  102. package/scripts/logger.js +32 -0
  103. package/scripts/synclib.js +69 -0
  104. package/scripts/util.js +47 -0
  105. package/scripts/zipBuild.js +40 -0
  106. package/ts/AgoraSdk.ts +54 -0
  107. package/ts/Decoder/gpu-utils.ts +92 -0
  108. package/ts/Decoder/index.ts +206 -0
  109. package/ts/Private/AgoraBase.ts +5511 -0
  110. package/ts/Private/AgoraMediaBase.ts +1764 -0
  111. package/ts/Private/AgoraMediaPlayerTypes.ts +464 -0
  112. package/ts/Private/IAgoraH265Transcoder.ts +73 -0
  113. package/ts/Private/IAgoraLog.ts +91 -0
  114. package/ts/Private/IAgoraMediaEngine.ts +316 -0
  115. package/ts/Private/IAgoraMediaPlayer.ts +744 -0
  116. package/ts/Private/IAgoraMediaPlayerSource.ts +137 -0
  117. package/ts/Private/IAgoraMediaRecorder.ts +25 -0
  118. package/ts/Private/IAgoraMediaStreamingSource.ts +81 -0
  119. package/ts/Private/IAgoraMusicContentCenter.ts +455 -0
  120. package/ts/Private/IAgoraRhythmPlayer.ts +67 -0
  121. package/ts/Private/IAgoraRtcEngine.ts +7306 -0
  122. package/ts/Private/IAgoraRtcEngineEx.ts +992 -0
  123. package/ts/Private/IAgoraSpatialAudio.ts +250 -0
  124. package/ts/Private/IAudioDeviceManager.ts +342 -0
  125. package/ts/Private/extension/AgoraBaseExtension.ts +14 -0
  126. package/ts/Private/extension/AgoraMediaBaseExtension.ts +1 -0
  127. package/ts/Private/extension/AgoraMediaPlayerTypesExtension.ts +1 -0
  128. package/ts/Private/extension/IAgoraH265TranscoderExtension.ts +39 -0
  129. package/ts/Private/extension/IAgoraLogExtension.ts +1 -0
  130. package/ts/Private/extension/IAgoraMediaEngineExtension.ts +62 -0
  131. package/ts/Private/extension/IAgoraMediaPlayerExtension.ts +64 -0
  132. package/ts/Private/extension/IAgoraMediaPlayerSourceExtension.ts +1 -0
  133. package/ts/Private/extension/IAgoraMediaRecorderExtension.ts +59 -0
  134. package/ts/Private/extension/IAgoraMusicContentCenterExtension.ts +34 -0
  135. package/ts/Private/extension/IAgoraRhythmPlayerExtension.ts +1 -0
  136. package/ts/Private/extension/IAgoraRtcEngineExExtension.ts +1 -0
  137. package/ts/Private/extension/IAgoraRtcEngineExtension.ts +64 -0
  138. package/ts/Private/extension/IAgoraSpatialAudioExtension.ts +1 -0
  139. package/ts/Private/extension/IAudioDeviceManagerExtension.ts +1 -0
  140. package/ts/Private/impl/AgoraBaseImpl.ts +39 -0
  141. package/ts/Private/impl/AgoraMediaBaseImpl.ts +237 -0
  142. package/ts/Private/impl/IAgoraH265TranscoderImpl.ts +152 -0
  143. package/ts/Private/impl/IAgoraMediaEngineImpl.ts +491 -0
  144. package/ts/Private/impl/IAgoraMediaPlayerImpl.ts +1169 -0
  145. package/ts/Private/impl/IAgoraMediaPlayerSourceImpl.ts +94 -0
  146. package/ts/Private/impl/IAgoraMediaRecorderImpl.ts +59 -0
  147. package/ts/Private/impl/IAgoraMusicContentCenterImpl.ts +562 -0
  148. package/ts/Private/impl/IAgoraRtcEngineExImpl.ts +1672 -0
  149. package/ts/Private/impl/IAgoraRtcEngineImpl.ts +7352 -0
  150. package/ts/Private/impl/IAgoraSpatialAudioImpl.ts +495 -0
  151. package/ts/Private/impl/IAudioDeviceManagerImpl.ts +443 -0
  152. package/ts/Private/internal/AgoraH265TranscoderInternal.ts +97 -0
  153. package/ts/Private/internal/AgoraMediaBaseInternal.ts +15 -0
  154. package/ts/Private/internal/AudioDeviceManagerInternal.ts +46 -0
  155. package/ts/Private/internal/IrisApiEngine.ts +598 -0
  156. package/ts/Private/internal/LocalSpatialAudioEngineInternal.ts +3 -0
  157. package/ts/Private/internal/MediaEngineInternal.ts +190 -0
  158. package/ts/Private/internal/MediaPlayerInternal.ts +311 -0
  159. package/ts/Private/internal/MediaRecorderInternal.ts +100 -0
  160. package/ts/Private/internal/MusicContentCenterInternal.ts +208 -0
  161. package/ts/Private/internal/RtcEngineExInternal.ts +647 -0
  162. package/ts/Private/ipc/main.ts +22 -0
  163. package/ts/Private/ipc/renderer.ts +21 -0
  164. package/ts/Private/ti/AgoraBase-ti.ts +16 -0
  165. package/ts/Private/ti/AgoraMediaBase-ti.ts +58 -0
  166. package/ts/Private/ti/AgoraMediaPlayerTypes-ti.ts +11 -0
  167. package/ts/Private/ti/IAgoraH265Transcoder-ti.ts +16 -0
  168. package/ts/Private/ti/IAgoraLog-ti.ts +11 -0
  169. package/ts/Private/ti/IAgoraMediaEngine-ti.ts +11 -0
  170. package/ts/Private/ti/IAgoraMediaPlayer-ti.ts +14 -0
  171. package/ts/Private/ti/IAgoraMediaPlayerSource-ti.ts +26 -0
  172. package/ts/Private/ti/IAgoraMediaRecorder-ti.ts +11 -0
  173. package/ts/Private/ti/IAgoraMediaStreamingSource-ti.ts +11 -0
  174. package/ts/Private/ti/IAgoraMusicContentCenter-ti.ts +18 -0
  175. package/ts/Private/ti/IAgoraRhythmPlayer-ti.ts +11 -0
  176. package/ts/Private/ti/IAgoraRtcEngine-ti.ts +119 -0
  177. package/ts/Private/ti/IAgoraRtcEngineEx-ti.ts +11 -0
  178. package/ts/Private/ti/IAgoraSpatialAudio-ti.ts +11 -0
  179. package/ts/Private/ti/IAudioDeviceManager-ti.ts +11 -0
  180. package/ts/Renderer/AgoraView.ts +235 -0
  181. package/ts/Renderer/CapabilityManager.ts +126 -0
  182. package/ts/Renderer/IRenderer.ts +158 -0
  183. package/ts/Renderer/IRendererCache.ts +96 -0
  184. package/ts/Renderer/RendererCache.ts +124 -0
  185. package/ts/Renderer/RendererManager.ts +400 -0
  186. package/ts/Renderer/WebCodecsRenderer/index.ts +145 -0
  187. package/ts/Renderer/WebCodecsRendererCache.ts +137 -0
  188. package/ts/Renderer/WebGLRenderer/index.ts +489 -0
  189. package/ts/Renderer/WebGLRenderer/webgl-utils.js +1510 -0
  190. package/ts/Renderer/YUVCanvasRenderer/index.ts +67 -0
  191. package/ts/Renderer/index.ts +1 -0
  192. package/ts/Types.ts +249 -0
  193. package/ts/Utils.ts +197 -0
  194. package/types/AgoraSdk.d.ts +40 -0
  195. package/types/AgoraSdk.d.ts.map +1 -0
  196. package/types/Decoder/gpu-utils.d.ts +21 -0
  197. package/types/Decoder/gpu-utils.d.ts.map +1 -0
  198. package/types/Decoder/index.d.ts +26 -0
  199. package/types/Decoder/index.d.ts.map +1 -0
  200. package/types/Private/AgoraBase.d.ts +5310 -0
  201. package/types/Private/AgoraBase.d.ts.map +1 -0
  202. package/types/Private/AgoraMediaBase.d.ts +1668 -0
  203. package/types/Private/AgoraMediaBase.d.ts.map +1 -0
  204. package/types/Private/AgoraMediaPlayerTypes.d.ts +453 -0
  205. package/types/Private/AgoraMediaPlayerTypes.d.ts.map +1 -0
  206. package/types/Private/IAgoraH265Transcoder.d.ts +28 -0
  207. package/types/Private/IAgoraH265Transcoder.d.ts.map +1 -0
  208. package/types/Private/IAgoraLog.d.ts +89 -0
  209. package/types/Private/IAgoraLog.d.ts.map +1 -0
  210. package/types/Private/IAgoraMediaEngine.d.ts +250 -0
  211. package/types/Private/IAgoraMediaEngine.d.ts.map +1 -0
  212. package/types/Private/IAgoraMediaPlayer.d.ts +648 -0
  213. package/types/Private/IAgoraMediaPlayer.d.ts.map +1 -0
  214. package/types/Private/IAgoraMediaPlayerSource.d.ts +109 -0
  215. package/types/Private/IAgoraMediaPlayerSource.d.ts.map +1 -0
  216. package/types/Private/IAgoraMediaRecorder.d.ts +20 -0
  217. package/types/Private/IAgoraMediaRecorder.d.ts.map +1 -0
  218. package/types/Private/IAgoraMediaStreamingSource.d.ts +42 -0
  219. package/types/Private/IAgoraMediaStreamingSource.d.ts.map +1 -0
  220. package/types/Private/IAgoraMusicContentCenter.d.ts +381 -0
  221. package/types/Private/IAgoraMusicContentCenter.d.ts.map +1 -0
  222. package/types/Private/IAgoraRhythmPlayer.d.ts +65 -0
  223. package/types/Private/IAgoraRhythmPlayer.d.ts.map +1 -0
  224. package/types/Private/IAgoraRtcEngine.d.ts +6103 -0
  225. package/types/Private/IAgoraRtcEngine.d.ts.map +1 -0
  226. package/types/Private/IAgoraRtcEngineEx.d.ts +741 -0
  227. package/types/Private/IAgoraRtcEngineEx.d.ts.map +1 -0
  228. package/types/Private/IAgoraSpatialAudio.d.ts +196 -0
  229. package/types/Private/IAgoraSpatialAudio.d.ts.map +1 -0
  230. package/types/Private/IAudioDeviceManager.d.ts +312 -0
  231. package/types/Private/IAudioDeviceManager.d.ts.map +1 -0
  232. package/types/Private/extension/AgoraBaseExtension.d.ts +14 -0
  233. package/types/Private/extension/AgoraBaseExtension.d.ts.map +1 -0
  234. package/types/Private/extension/AgoraMediaBaseExtension.d.ts +2 -0
  235. package/types/Private/extension/AgoraMediaBaseExtension.d.ts.map +1 -0
  236. package/types/Private/extension/AgoraMediaPlayerTypesExtension.d.ts +2 -0
  237. package/types/Private/extension/AgoraMediaPlayerTypesExtension.d.ts.map +1 -0
  238. package/types/Private/extension/IAgoraH265TranscoderExtension.d.ts +24 -0
  239. package/types/Private/extension/IAgoraH265TranscoderExtension.d.ts.map +1 -0
  240. package/types/Private/extension/IAgoraLogExtension.d.ts +2 -0
  241. package/types/Private/extension/IAgoraLogExtension.d.ts.map +1 -0
  242. package/types/Private/extension/IAgoraMediaEngineExtension.d.ts +40 -0
  243. package/types/Private/extension/IAgoraMediaEngineExtension.d.ts.map +1 -0
  244. package/types/Private/extension/IAgoraMediaPlayerExtension.d.ts +46 -0
  245. package/types/Private/extension/IAgoraMediaPlayerExtension.d.ts.map +1 -0
  246. package/types/Private/extension/IAgoraMediaPlayerSourceExtension.d.ts +2 -0
  247. package/types/Private/extension/IAgoraMediaPlayerSourceExtension.d.ts.map +1 -0
  248. package/types/Private/extension/IAgoraMediaRecorderExtension.d.ts +44 -0
  249. package/types/Private/extension/IAgoraMediaRecorderExtension.d.ts.map +1 -0
  250. package/types/Private/extension/IAgoraMusicContentCenterExtension.d.ts +20 -0
  251. package/types/Private/extension/IAgoraMusicContentCenterExtension.d.ts.map +1 -0
  252. package/types/Private/extension/IAgoraRhythmPlayerExtension.d.ts +2 -0
  253. package/types/Private/extension/IAgoraRhythmPlayerExtension.d.ts.map +1 -0
  254. package/types/Private/extension/IAgoraRtcEngineExExtension.d.ts +2 -0
  255. package/types/Private/extension/IAgoraRtcEngineExExtension.d.ts.map +1 -0
  256. package/types/Private/extension/IAgoraRtcEngineExtension.d.ts +42 -0
  257. package/types/Private/extension/IAgoraRtcEngineExtension.d.ts.map +1 -0
  258. package/types/Private/extension/IAgoraSpatialAudioExtension.d.ts +2 -0
  259. package/types/Private/extension/IAgoraSpatialAudioExtension.d.ts.map +1 -0
  260. package/types/Private/extension/IAudioDeviceManagerExtension.d.ts +2 -0
  261. package/types/Private/extension/IAudioDeviceManagerExtension.d.ts.map +1 -0
  262. package/types/Private/impl/AgoraBaseImpl.d.ts +3 -0
  263. package/types/Private/impl/AgoraBaseImpl.d.ts.map +1 -0
  264. package/types/Private/impl/AgoraMediaBaseImpl.d.ts +14 -0
  265. package/types/Private/impl/AgoraMediaBaseImpl.d.ts.map +1 -0
  266. package/types/Private/impl/IAgoraH265TranscoderImpl.d.ts +15 -0
  267. package/types/Private/impl/IAgoraH265TranscoderImpl.d.ts.map +1 -0
  268. package/types/Private/impl/IAgoraMediaEngineImpl.d.ts +46 -0
  269. package/types/Private/impl/IAgoraMediaEngineImpl.d.ts.map +1 -0
  270. package/types/Private/impl/IAgoraMediaPlayerImpl.d.ts +143 -0
  271. package/types/Private/impl/IAgoraMediaPlayerImpl.d.ts.map +1 -0
  272. package/types/Private/impl/IAgoraMediaPlayerSourceImpl.d.ts +3 -0
  273. package/types/Private/impl/IAgoraMediaPlayerSourceImpl.d.ts.map +1 -0
  274. package/types/Private/impl/IAgoraMediaRecorderImpl.d.ts +11 -0
  275. package/types/Private/impl/IAgoraMediaRecorderImpl.d.ts.map +1 -0
  276. package/types/Private/impl/IAgoraMusicContentCenterImpl.d.ts +67 -0
  277. package/types/Private/impl/IAgoraMusicContentCenterImpl.d.ts.map +1 -0
  278. package/types/Private/impl/IAgoraRtcEngineExImpl.d.ts +116 -0
  279. package/types/Private/impl/IAgoraRtcEngineExImpl.d.ts.map +1 -0
  280. package/types/Private/impl/IAgoraRtcEngineImpl.d.ts +628 -0
  281. package/types/Private/impl/IAgoraRtcEngineImpl.d.ts.map +1 -0
  282. package/types/Private/impl/IAgoraSpatialAudioImpl.d.ts +47 -0
  283. package/types/Private/impl/IAgoraSpatialAudioImpl.d.ts.map +1 -0
  284. package/types/Private/impl/IAudioDeviceManagerImpl.d.ts +65 -0
  285. package/types/Private/impl/IAudioDeviceManagerImpl.d.ts.map +1 -0
  286. package/types/Private/internal/AgoraH265TranscoderInternal.d.ts +14 -0
  287. package/types/Private/internal/AgoraH265TranscoderInternal.d.ts.map +1 -0
  288. package/types/Private/internal/AgoraMediaBaseInternal.d.ts +8 -0
  289. package/types/Private/internal/AgoraMediaBaseInternal.d.ts.map +1 -0
  290. package/types/Private/internal/AudioDeviceManagerInternal.d.ts +9 -0
  291. package/types/Private/internal/AudioDeviceManagerInternal.d.ts.map +1 -0
  292. package/types/Private/internal/IrisApiEngine.d.ts +69 -0
  293. package/types/Private/internal/IrisApiEngine.d.ts.map +1 -0
  294. package/types/Private/internal/LocalSpatialAudioEngineInternal.d.ts +4 -0
  295. package/types/Private/internal/LocalSpatialAudioEngineInternal.d.ts.map +1 -0
  296. package/types/Private/internal/MediaEngineInternal.d.ts +23 -0
  297. package/types/Private/internal/MediaEngineInternal.d.ts.map +1 -0
  298. package/types/Private/internal/MediaPlayerInternal.d.ts +30 -0
  299. package/types/Private/internal/MediaPlayerInternal.d.ts.map +1 -0
  300. package/types/Private/internal/MediaRecorderInternal.d.ts +16 -0
  301. package/types/Private/internal/MediaRecorderInternal.d.ts.map +1 -0
  302. package/types/Private/internal/MusicContentCenterInternal.d.ts +31 -0
  303. package/types/Private/internal/MusicContentCenterInternal.d.ts.map +1 -0
  304. package/types/Private/internal/RtcEngineExInternal.d.ts +73 -0
  305. package/types/Private/internal/RtcEngineExInternal.d.ts.map +1 -0
  306. package/types/Private/ipc/main.d.ts +2 -0
  307. package/types/Private/ipc/main.d.ts.map +1 -0
  308. package/types/Private/ipc/renderer.d.ts +3 -0
  309. package/types/Private/ipc/renderer.d.ts.map +1 -0
  310. package/types/Private/ti/AgoraBase-ti.d.ts +8 -0
  311. package/types/Private/ti/AgoraBase-ti.d.ts.map +1 -0
  312. package/types/Private/ti/AgoraMediaBase-ti.d.ts +15 -0
  313. package/types/Private/ti/AgoraMediaBase-ti.d.ts.map +1 -0
  314. package/types/Private/ti/AgoraMediaPlayerTypes-ti.d.ts +7 -0
  315. package/types/Private/ti/AgoraMediaPlayerTypes-ti.d.ts.map +1 -0
  316. package/types/Private/ti/IAgoraH265Transcoder-ti.d.ts +8 -0
  317. package/types/Private/ti/IAgoraH265Transcoder-ti.d.ts.map +1 -0
  318. package/types/Private/ti/IAgoraLog-ti.d.ts +7 -0
  319. package/types/Private/ti/IAgoraLog-ti.d.ts.map +1 -0
  320. package/types/Private/ti/IAgoraMediaEngine-ti.d.ts +7 -0
  321. package/types/Private/ti/IAgoraMediaEngine-ti.d.ts.map +1 -0
  322. package/types/Private/ti/IAgoraMediaPlayer-ti.d.ts +8 -0
  323. package/types/Private/ti/IAgoraMediaPlayer-ti.d.ts.map +1 -0
  324. package/types/Private/ti/IAgoraMediaPlayerSource-ti.d.ts +8 -0
  325. package/types/Private/ti/IAgoraMediaPlayerSource-ti.d.ts.map +1 -0
  326. package/types/Private/ti/IAgoraMediaRecorder-ti.d.ts +7 -0
  327. package/types/Private/ti/IAgoraMediaRecorder-ti.d.ts.map +1 -0
  328. package/types/Private/ti/IAgoraMediaStreamingSource-ti.d.ts +7 -0
  329. package/types/Private/ti/IAgoraMediaStreamingSource-ti.d.ts.map +1 -0
  330. package/types/Private/ti/IAgoraMusicContentCenter-ti.d.ts +8 -0
  331. package/types/Private/ti/IAgoraMusicContentCenter-ti.d.ts.map +1 -0
  332. package/types/Private/ti/IAgoraRhythmPlayer-ti.d.ts +7 -0
  333. package/types/Private/ti/IAgoraRhythmPlayer-ti.d.ts.map +1 -0
  334. package/types/Private/ti/IAgoraRtcEngine-ti.d.ts +10 -0
  335. package/types/Private/ti/IAgoraRtcEngine-ti.d.ts.map +1 -0
  336. package/types/Private/ti/IAgoraRtcEngineEx-ti.d.ts +7 -0
  337. package/types/Private/ti/IAgoraRtcEngineEx-ti.d.ts.map +1 -0
  338. package/types/Private/ti/IAgoraSpatialAudio-ti.d.ts +7 -0
  339. package/types/Private/ti/IAgoraSpatialAudio-ti.d.ts.map +1 -0
  340. package/types/Private/ti/IAudioDeviceManager-ti.d.ts +7 -0
  341. package/types/Private/ti/IAudioDeviceManager-ti.d.ts.map +1 -0
  342. package/types/Renderer/AgoraView.d.ts +76 -0
  343. package/types/Renderer/AgoraView.d.ts.map +1 -0
  344. package/types/Renderer/CapabilityManager.d.ts +20 -0
  345. package/types/Renderer/CapabilityManager.d.ts.map +1 -0
  346. package/types/Renderer/IRenderer.d.ts +20 -0
  347. package/types/Renderer/IRenderer.d.ts.map +1 -0
  348. package/types/Renderer/IRendererCache.d.ts +26 -0
  349. package/types/Renderer/IRendererCache.d.ts.map +1 -0
  350. package/types/Renderer/RendererCache.d.ts +24 -0
  351. package/types/Renderer/RendererCache.d.ts.map +1 -0
  352. package/types/Renderer/RendererManager.d.ts +66 -0
  353. package/types/Renderer/RendererManager.d.ts.map +1 -0
  354. package/types/Renderer/WebCodecsRenderer/index.d.ts +14 -0
  355. package/types/Renderer/WebCodecsRenderer/index.d.ts.map +1 -0
  356. package/types/Renderer/WebCodecsRendererCache.d.ts +15 -0
  357. package/types/Renderer/WebCodecsRendererCache.d.ts.map +1 -0
  358. package/types/Renderer/WebGLRenderer/index.d.ts +27 -0
  359. package/types/Renderer/WebGLRenderer/index.d.ts.map +1 -0
  360. package/types/Renderer/WebGLRenderer/webgl-utils.d.ts +1 -0
  361. package/types/Renderer/WebGLRenderer/webgl-utils.d.ts.map +1 -0
  362. package/types/Renderer/YUVCanvasRenderer/index.d.ts +9 -0
  363. package/types/Renderer/YUVCanvasRenderer/index.d.ts.map +1 -0
  364. package/types/Renderer/index.d.ts +2 -0
  365. package/types/Renderer/index.d.ts.map +1 -0
  366. package/types/Types.d.ts +177 -0
  367. package/types/Types.d.ts.map +1 -0
  368. package/types/Utils.d.ts +50 -0
  369. package/types/Utils.d.ts.map +1 -0
@@ -0,0 +1,424 @@
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
+ exports.emitEvent = exports.callIrisApi = exports.EVENT_PROCESSORS = exports.EVENT_TYPE = exports.isDebuggable = exports.setDebuggable = exports.AgoraElectronBridge = exports.DeviceEventEmitter = void 0;
7
+ const eventemitter3_1 = __importDefault(require("eventemitter3"));
8
+ const json_bigint_1 = __importDefault(require("json-bigint"));
9
+ const JSON = (0, json_bigint_1.default)({ storeAsString: true });
10
+ const AgoraSdk_1 = __importDefault(require("../../AgoraSdk"));
11
+ const Utils_1 = require("../../Utils");
12
+ const AgoraBaseImpl_1 = require("../impl/AgoraBaseImpl");
13
+ const AgoraMediaBaseImpl_1 = require("../impl/AgoraMediaBaseImpl");
14
+ const IAgoraH265TranscoderImpl_1 = require("../impl/IAgoraH265TranscoderImpl");
15
+ const IAgoraMediaPlayerImpl_1 = require("../impl/IAgoraMediaPlayerImpl");
16
+ const IAgoraMediaPlayerSourceImpl_1 = require("../impl/IAgoraMediaPlayerSourceImpl");
17
+ const IAgoraMusicContentCenterImpl_1 = require("../impl/IAgoraMusicContentCenterImpl");
18
+ const IAgoraRtcEngineImpl_1 = require("../impl/IAgoraRtcEngineImpl");
19
+ const AgoraH265TranscoderInternal_1 = require("./AgoraH265TranscoderInternal");
20
+ const AgoraMediaBaseInternal_1 = require("./AgoraMediaBaseInternal");
21
+ const MediaEngineInternal_1 = require("./MediaEngineInternal");
22
+ const MediaPlayerInternal_1 = require("./MediaPlayerInternal");
23
+ const MediaRecorderInternal_1 = require("./MediaRecorderInternal");
24
+ const MusicContentCenterInternal_1 = require("./MusicContentCenterInternal");
25
+ const RtcEngineExInternal_1 = require("./RtcEngineExInternal");
26
+ // @ts-ignore
27
+ exports.DeviceEventEmitter = new eventemitter3_1.default();
28
+ const AgoraNode = require('../../../build/Release/agora_node_ext');
29
+ exports.AgoraElectronBridge = new AgoraNode.AgoraElectronBridge();
30
+ exports.AgoraElectronBridge.OnEvent('call_back_with_buffer', (...params) => {
31
+ try {
32
+ handleEvent(...params);
33
+ }
34
+ catch (e) {
35
+ console.error(e);
36
+ }
37
+ });
38
+ /**
39
+ * @internal
40
+ */
41
+ function setDebuggable(flag) {
42
+ Utils_1.AgoraEnv.enableLogging = flag;
43
+ Utils_1.AgoraEnv.enableDebugLogging = flag;
44
+ }
45
+ exports.setDebuggable = setDebuggable;
46
+ /**
47
+ * @internal
48
+ */
49
+ function isDebuggable() {
50
+ return Utils_1.AgoraEnv.enableLogging && Utils_1.AgoraEnv.enableDebugLogging;
51
+ }
52
+ exports.isDebuggable = isDebuggable;
53
+ var EVENT_TYPE;
54
+ (function (EVENT_TYPE) {
55
+ EVENT_TYPE[EVENT_TYPE["IMediaEngine"] = 0] = "IMediaEngine";
56
+ EVENT_TYPE[EVENT_TYPE["IMediaPlayer"] = 1] = "IMediaPlayer";
57
+ EVENT_TYPE[EVENT_TYPE["IMediaRecorder"] = 2] = "IMediaRecorder";
58
+ EVENT_TYPE[EVENT_TYPE["IRtcEngine"] = 3] = "IRtcEngine";
59
+ EVENT_TYPE[EVENT_TYPE["IMusicContentCenter"] = 4] = "IMusicContentCenter";
60
+ EVENT_TYPE[EVENT_TYPE["IAgoraH265Transcoder"] = 5] = "IAgoraH265Transcoder";
61
+ })(EVENT_TYPE = exports.EVENT_TYPE || (exports.EVENT_TYPE = {}));
62
+ /**
63
+ * @internal
64
+ */
65
+ exports.EVENT_PROCESSORS = {
66
+ IAudioFrameObserver: {
67
+ suffix: 'AudioFrameObserver_',
68
+ type: () => EVENT_TYPE.IMediaEngine,
69
+ func: [AgoraMediaBaseImpl_1.processIAudioFrameObserver, AgoraMediaBaseImpl_1.processIAudioFrameObserverBase],
70
+ preprocess: (event, data, buffers) => {
71
+ if (data.audioFrame) {
72
+ data.audioFrame.buffer = buffers[0];
73
+ }
74
+ },
75
+ handlers: (event, data) => MediaEngineInternal_1.MediaEngineInternal._audio_frame_observers,
76
+ },
77
+ IVideoFrameObserver: {
78
+ suffix: 'VideoFrameObserver_',
79
+ type: () => EVENT_TYPE.IMediaEngine,
80
+ func: [AgoraMediaBaseImpl_1.processIVideoFrameObserver],
81
+ preprocess: (event, data, buffers) => {
82
+ if (data.videoFrame) {
83
+ data.videoFrame.yBuffer = buffers[0];
84
+ data.videoFrame.uBuffer = buffers[1];
85
+ data.videoFrame.vBuffer = buffers[2];
86
+ data.videoFrame.metadata_buffer = buffers[3];
87
+ data.videoFrame.alphaBuffer = buffers[4];
88
+ let metaInfo = data.videoFrame.metaInfo;
89
+ data.videoFrame.metaInfo = new AgoraMediaBaseInternal_1.VideoFrameMetaInfoInternal(metaInfo);
90
+ }
91
+ },
92
+ handlers: (event, data) => MediaEngineInternal_1.MediaEngineInternal._video_frame_observers,
93
+ },
94
+ IAudioSpectrumObserver: {
95
+ suffix: 'AudioSpectrumObserver_',
96
+ type: (data) => data.playerId === 0 ? EVENT_TYPE.IRtcEngine : EVENT_TYPE.IMediaPlayer,
97
+ func: [AgoraMediaBaseImpl_1.processIAudioSpectrumObserver],
98
+ handlers: (event, data) => data.playerId === 0
99
+ ? RtcEngineExInternal_1.RtcEngineExInternal._audio_spectrum_observers
100
+ : MediaPlayerInternal_1.MediaPlayerInternal._audio_spectrum_observers.get(data.playerId),
101
+ },
102
+ IAudioEncodedFrameObserver: {
103
+ suffix: 'AudioEncodedFrameObserver_',
104
+ type: () => EVENT_TYPE.IRtcEngine,
105
+ func: [AgoraBaseImpl_1.processIAudioEncodedFrameObserver],
106
+ preprocess: (event, data, buffers) => {
107
+ switch (event) {
108
+ case 'OnRecordAudioEncodedFrame':
109
+ case 'OnPlaybackAudioEncodedFrame':
110
+ case 'OnMixedAudioEncodedFrame':
111
+ data.frameBuffer = buffers[0];
112
+ break;
113
+ }
114
+ },
115
+ handlers: (event, data) => RtcEngineExInternal_1.RtcEngineExInternal._audio_encoded_frame_observers,
116
+ },
117
+ IVideoEncodedFrameObserver: {
118
+ suffix: 'VideoEncodedFrameObserver_',
119
+ type: () => EVENT_TYPE.IMediaEngine,
120
+ func: [AgoraMediaBaseImpl_1.processIVideoEncodedFrameObserver],
121
+ preprocess: (event, data, buffers) => {
122
+ switch (event) {
123
+ case 'onEncodedVideoFrameReceived':
124
+ data.imageBuffer = buffers[0];
125
+ break;
126
+ }
127
+ },
128
+ handlers: (event, data) => MediaEngineInternal_1.MediaEngineInternal._video_encoded_frame_observers,
129
+ },
130
+ IMediaPlayerSourceObserver: {
131
+ suffix: 'MediaPlayerSourceObserver_',
132
+ type: () => EVENT_TYPE.IMediaPlayer,
133
+ func: [IAgoraMediaPlayerSourceImpl_1.processIMediaPlayerSourceObserver],
134
+ handlers: (event, data) => MediaPlayerInternal_1.MediaPlayerInternal._source_observers.get(data.playerId),
135
+ },
136
+ IAudioPcmFrameSink: {
137
+ suffix: 'AudioPcmFrameSink_',
138
+ type: () => EVENT_TYPE.IMediaPlayer,
139
+ func: [AgoraMediaBaseImpl_1.processIAudioPcmFrameSink],
140
+ preprocess: (event, data, buffers) => {
141
+ if (data.frame) {
142
+ data.frame.data_ = Array.from(buffers[0] ?? []);
143
+ }
144
+ },
145
+ handlers: (event, data) => MediaPlayerInternal_1.MediaPlayerInternal._audio_frame_observers.get(data.playerId),
146
+ },
147
+ IMediaPlayerVideoFrameObserver: {
148
+ suffix: 'MediaPlayerVideoFrameObserver_',
149
+ type: () => EVENT_TYPE.IMediaPlayer,
150
+ func: [IAgoraMediaPlayerImpl_1.processIMediaPlayerVideoFrameObserver],
151
+ preprocess: (event, data, buffers) => {
152
+ if (data.frame) {
153
+ data.frame.yBuffer = buffers[0];
154
+ data.frame.uBuffer = buffers[1];
155
+ data.frame.vBuffer = buffers[2];
156
+ data.frame.metadata_buffer = buffers[3];
157
+ data.frame.alphaBuffer = buffers[4];
158
+ let metaInfo = data.frame.metaInfo;
159
+ data.frame.metaInfo = new AgoraMediaBaseInternal_1.VideoFrameMetaInfoInternal(metaInfo);
160
+ }
161
+ },
162
+ handlers: (event, data) => MediaPlayerInternal_1.MediaPlayerInternal._video_frame_observers.get(data.playerId),
163
+ },
164
+ IMediaRecorderObserver: {
165
+ suffix: 'MediaRecorderObserver_',
166
+ type: () => EVENT_TYPE.IMediaRecorder,
167
+ func: [AgoraMediaBaseImpl_1.processIMediaRecorderObserver],
168
+ handlers: (event, data) => [
169
+ MediaRecorderInternal_1.MediaRecorderInternal._observers.get(data.nativeHandle),
170
+ ],
171
+ },
172
+ IMetadataObserver: {
173
+ suffix: 'MetadataObserver_',
174
+ type: () => EVENT_TYPE.IRtcEngine,
175
+ func: [IAgoraRtcEngineImpl_1.processIMetadataObserver],
176
+ preprocess: (event, data, buffers) => {
177
+ switch (event) {
178
+ case 'onMetadataReceived':
179
+ if (data.metadata) {
180
+ data.metadata.buffer = buffers[0];
181
+ }
182
+ break;
183
+ }
184
+ },
185
+ handlers: (event, data) => RtcEngineExInternal_1.RtcEngineExInternal._metadata_observer,
186
+ },
187
+ IDirectCdnStreamingEventHandler: {
188
+ suffix: 'DirectCdnStreamingEventHandler_',
189
+ type: () => EVENT_TYPE.IRtcEngine,
190
+ func: [IAgoraRtcEngineImpl_1.processIDirectCdnStreamingEventHandler],
191
+ handlers: (event, data) => RtcEngineExInternal_1.RtcEngineExInternal._direct_cdn_streaming_event_handler,
192
+ },
193
+ IRtcEngineEventHandler: {
194
+ suffix: 'RtcEngineEventHandler_',
195
+ type: () => EVENT_TYPE.IRtcEngine,
196
+ func: [IAgoraRtcEngineImpl_1.processIRtcEngineEventHandler],
197
+ preprocess: (event, data, buffers) => {
198
+ switch (event) {
199
+ case 'onStreamMessage':
200
+ case 'onStreamMessageEx':
201
+ data.data = buffers[0];
202
+ break;
203
+ }
204
+ },
205
+ handlers: (event, data) => RtcEngineExInternal_1.RtcEngineExInternal._event_handlers,
206
+ },
207
+ IMusicContentCenterEventHandler: {
208
+ suffix: 'MusicContentCenterEventHandler_',
209
+ type: () => EVENT_TYPE.IMusicContentCenter,
210
+ func: [IAgoraMusicContentCenterImpl_1.processIMusicContentCenterEventHandler],
211
+ preprocess: (event, data, buffers) => {
212
+ switch (event) {
213
+ case 'onMusicCollectionResult': {
214
+ const result = data.result;
215
+ data.result = new MusicContentCenterInternal_1.MusicCollectionInternal(result);
216
+ break;
217
+ }
218
+ }
219
+ },
220
+ handlers: (event, data) => MusicContentCenterInternal_1.MusicContentCenterInternal._event_handlers,
221
+ },
222
+ IH265TranscoderObserver: {
223
+ suffix: 'H265TranscoderObserver_',
224
+ type: () => EVENT_TYPE.IAgoraH265Transcoder,
225
+ func: [IAgoraH265TranscoderImpl_1.processIH265TranscoderObserver],
226
+ handlers: () => AgoraH265TranscoderInternal_1.H265TranscoderInternal._h265_transcoder_observers,
227
+ },
228
+ IFaceInfoObserver: {
229
+ suffix: 'FaceInfoObserver_',
230
+ type: () => EVENT_TYPE.IMediaEngine,
231
+ func: [AgoraMediaBaseImpl_1.processIFaceInfoObserver],
232
+ handlers: () => MediaEngineInternal_1.MediaEngineInternal._face_info_observers,
233
+ },
234
+ };
235
+ function handleEvent(...[event, data, buffers]) {
236
+ if (isDebuggable()) {
237
+ (0, Utils_1.logInfo)('onEvent', event, data, buffers);
238
+ }
239
+ let _event = event;
240
+ let processor = Object.values(exports.EVENT_PROCESSORS).find((it) => {
241
+ return _event.startsWith(it.suffix);
242
+ });
243
+ if (processor === undefined) {
244
+ return;
245
+ }
246
+ // allow replace preprocess to undefined for avoid call more than once
247
+ processor = { ...processor };
248
+ const reg = new RegExp(`^${processor.suffix}`, 'g');
249
+ _event = _event.replace(reg, '');
250
+ if (_event.endsWith('Ex')) {
251
+ _event = _event.replace(/Ex$/g, '');
252
+ }
253
+ // for new IrisType, but this is temporary
254
+ if (_event.includes('_')) {
255
+ _event = _event.substring(0, _event.indexOf('_'));
256
+ }
257
+ let _data;
258
+ try {
259
+ _data = JSON.parse(data) ?? {};
260
+ }
261
+ catch (e) {
262
+ _data = {};
263
+ }
264
+ const _buffers = buffers;
265
+ if (processor.handlers) {
266
+ const handlers = processor.handlers(_event, _data, _buffers);
267
+ if (handlers !== undefined) {
268
+ if (processor.preprocess) {
269
+ processor.preprocess(_event, _data, _buffers);
270
+ // call preprocess only once
271
+ processor.preprocess = undefined;
272
+ }
273
+ handlers.map((value) => {
274
+ if (value) {
275
+ processor.func.map((it) => {
276
+ it(value, _event, _data);
277
+ });
278
+ }
279
+ });
280
+ }
281
+ }
282
+ emitEvent(_event, processor, _data, _buffers);
283
+ }
284
+ /**
285
+ * @internal
286
+ */
287
+ function callIrisApi(funcName, params) {
288
+ try {
289
+ const buffers = [];
290
+ const rtcEngine = (0, AgoraSdk_1.default)();
291
+ if (funcName.startsWith('MediaEngine_')) {
292
+ switch (funcName) {
293
+ case 'MediaEngine_pushAudioFrame_c71f4ab':
294
+ // frame.buffer
295
+ buffers.push(params.frame.buffer);
296
+ break;
297
+ case 'MediaEngine_pushVideoFrame_4e544e2':
298
+ // frame.buffer
299
+ buffers.push(params.frame.buffer);
300
+ // frame.eglContext
301
+ buffers.push(Buffer.from(''));
302
+ // frame.metadata_buffer
303
+ buffers.push(Buffer.from(''));
304
+ // frame.alphaBuffer
305
+ buffers.push(params.frame.alphaBuffer);
306
+ // frame.d3d11_texture_2d
307
+ buffers.push(Buffer.from(''));
308
+ break;
309
+ case 'MediaEngine_pushEncodedVideoImage_e71452b':
310
+ // imageBuffer
311
+ buffers.push(params.imageBuffer);
312
+ break;
313
+ }
314
+ }
315
+ else if (funcName.startsWith('MediaPlayer_') ||
316
+ funcName.startsWith('MusicPlayer_')) {
317
+ // @ts-ignore
318
+ params.mediaPlayerId = this.getMediaPlayerId();
319
+ const json = params.toJSON?.call();
320
+ params.toJSON = function () {
321
+ return { ...json, playerId: params.mediaPlayerId };
322
+ };
323
+ }
324
+ else if (funcName.startsWith('MediaRecorder_')) {
325
+ // @ts-ignore
326
+ params.nativeHandle = this.nativeHandle;
327
+ const json = params.toJSON?.call();
328
+ params.toJSON = function () {
329
+ return { ...json, nativeHandle: params.nativeHandle };
330
+ };
331
+ }
332
+ else if (funcName.startsWith('RtcEngine_')) {
333
+ switch (funcName) {
334
+ case 'RtcEngine_initialize_0320339':
335
+ exports.AgoraElectronBridge.InitializeEnv();
336
+ break;
337
+ case 'RtcEngine_release':
338
+ exports.AgoraElectronBridge.CallApi(funcName, JSON.stringify(params), buffers, buffers.length);
339
+ exports.AgoraElectronBridge.ReleaseEnv();
340
+ return;
341
+ case 'RtcEngine_sendMetaData':
342
+ // metadata.buffer
343
+ buffers.push(params.metadata.buffer);
344
+ break;
345
+ case 'RtcEngine_sendStreamMessage_8715a45':
346
+ case 'RtcEngineEx_sendStreamMessageEx_0c34857':
347
+ // data
348
+ buffers.push(params.data);
349
+ break;
350
+ case 'RtcEngine_destroyMediaPlayer_328a49b':
351
+ params.mediaPlayerId = params.media_player.getMediaPlayerId();
352
+ params.toJSON = function () {
353
+ return { playerId: params.mediaPlayerId };
354
+ };
355
+ break;
356
+ case 'RtcEngine_destroyMediaRecorder_95cdef5':
357
+ // @ts-ignore
358
+ params.nativeHandle = params.mediaRecorder.nativeHandle;
359
+ params.toJSON = function () {
360
+ return { nativeHandle: params.nativeHandle };
361
+ };
362
+ break;
363
+ }
364
+ }
365
+ if (funcName.indexOf('joinChannel') != -1) {
366
+ if (Utils_1.AgoraEnv.CapabilityManager?.webCodecsDecoderEnabled) {
367
+ rtcEngine.getMediaEngine().registerVideoEncodedFrameObserver({});
368
+ }
369
+ }
370
+ else if (funcName.indexOf('leaveChannel') != -1) {
371
+ if (Utils_1.AgoraEnv.CapabilityManager?.webCodecsDecoderEnabled) {
372
+ rtcEngine.getMediaEngine().unregisterVideoEncodedFrameObserver({});
373
+ }
374
+ }
375
+ let { callApiReturnCode, callApiResult } = exports.AgoraElectronBridge.CallApi(funcName, JSON.stringify(params), buffers, buffers.length);
376
+ let ret = callApiResult;
377
+ if (ret !== undefined && ret !== null && ret !== '' && ret !== 'null') {
378
+ const retObj = JSON.parse(ret);
379
+ if (isDebuggable()) {
380
+ if (typeof retObj.result === 'number' && retObj.result < 0) {
381
+ (0, Utils_1.logError)('callApi', funcName, JSON.stringify(params), ret);
382
+ }
383
+ else {
384
+ (0, Utils_1.logDebug)('callApi', funcName, JSON.stringify(params), ret);
385
+ }
386
+ }
387
+ return retObj;
388
+ }
389
+ else {
390
+ if (isDebuggable()) {
391
+ (0, Utils_1.logError)('callApi', funcName, JSON.stringify(params), callApiReturnCode);
392
+ }
393
+ else {
394
+ (0, Utils_1.logWarn)('callApi', funcName, JSON.stringify(params), callApiReturnCode);
395
+ }
396
+ return { result: callApiReturnCode };
397
+ }
398
+ }
399
+ catch (e) {
400
+ if (isDebuggable()) {
401
+ (0, Utils_1.logError)('callApi', funcName, JSON.stringify(params), e);
402
+ }
403
+ else {
404
+ (0, Utils_1.logWarn)('callApi', funcName, JSON.stringify(params), e);
405
+ }
406
+ }
407
+ return {};
408
+ }
409
+ exports.callIrisApi = callIrisApi;
410
+ /**
411
+ * @internal
412
+ */
413
+ function emitEvent(eventType, eventProcessor, data, buffers) {
414
+ if (exports.DeviceEventEmitter.listenerCount(eventType) === 0) {
415
+ return;
416
+ }
417
+ if (eventProcessor.preprocess) {
418
+ eventProcessor.preprocess(eventType, data, buffers ?? []);
419
+ // call preprocess only once
420
+ eventProcessor.preprocess = undefined;
421
+ }
422
+ exports.DeviceEventEmitter.emit(eventType, eventProcessor, data);
423
+ }
424
+ exports.emitEvent = emitEvent;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LocalSpatialAudioEngineInternal = void 0;
4
+ const IAgoraSpatialAudioImpl_1 = require("../impl/IAgoraSpatialAudioImpl");
5
+ class LocalSpatialAudioEngineInternal extends IAgoraSpatialAudioImpl_1.ILocalSpatialAudioEngineImpl {
6
+ }
7
+ exports.LocalSpatialAudioEngineInternal = LocalSpatialAudioEngineInternal;
@@ -0,0 +1,122 @@
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
+ exports.MediaEngineInternal = void 0;
7
+ const ts_interface_checker_1 = require("ts-interface-checker");
8
+ const IAgoraMediaEngineImpl_1 = require("../impl/IAgoraMediaEngineImpl");
9
+ const AgoraMediaBase_ti_1 = __importDefault(require("../ti/AgoraMediaBase-ti"));
10
+ const checkers = (0, ts_interface_checker_1.createCheckers)(AgoraMediaBase_ti_1.default);
11
+ const IrisApiEngine_1 = require("./IrisApiEngine");
12
+ class MediaEngineInternal extends IAgoraMediaEngineImpl_1.IMediaEngineImpl {
13
+ registerAudioFrameObserver(observer) {
14
+ if (!MediaEngineInternal._audio_frame_observers.find((value) => value === observer)) {
15
+ MediaEngineInternal._audio_frame_observers.push(observer);
16
+ }
17
+ return super.registerAudioFrameObserver(observer);
18
+ }
19
+ unregisterAudioFrameObserver(observer) {
20
+ MediaEngineInternal._audio_frame_observers =
21
+ MediaEngineInternal._audio_frame_observers.filter((value) => value !== observer);
22
+ return super.unregisterAudioFrameObserver(observer);
23
+ }
24
+ registerVideoFrameObserver(observer) {
25
+ if (!MediaEngineInternal._video_frame_observers.find((value) => value === observer)) {
26
+ MediaEngineInternal._video_frame_observers.push(observer);
27
+ }
28
+ return super.registerVideoFrameObserver(observer);
29
+ }
30
+ unregisterVideoFrameObserver(observer) {
31
+ MediaEngineInternal._video_frame_observers =
32
+ MediaEngineInternal._video_frame_observers.filter((value) => value !== observer);
33
+ return super.unregisterVideoFrameObserver(observer);
34
+ }
35
+ registerVideoEncodedFrameObserver(observer) {
36
+ if (!MediaEngineInternal._video_encoded_frame_observers.find((value) => value === observer)) {
37
+ MediaEngineInternal._video_encoded_frame_observers.push(observer);
38
+ }
39
+ return super.registerVideoEncodedFrameObserver(observer);
40
+ }
41
+ unregisterVideoEncodedFrameObserver(observer) {
42
+ MediaEngineInternal._video_encoded_frame_observers =
43
+ MediaEngineInternal._video_encoded_frame_observers.filter((value) => value !== observer);
44
+ return super.unregisterVideoEncodedFrameObserver(observer);
45
+ }
46
+ registerFaceInfoObserver(observer) {
47
+ if (!MediaEngineInternal._face_info_observers.find((value) => value === observer)) {
48
+ MediaEngineInternal._face_info_observers.push(observer);
49
+ }
50
+ return super.registerFaceInfoObserver(observer);
51
+ }
52
+ unregisterFaceInfoObserver(observer) {
53
+ MediaEngineInternal._face_info_observers =
54
+ MediaEngineInternal._face_info_observers.filter((value) => value !== observer);
55
+ return super.unregisterFaceInfoObserver(observer);
56
+ }
57
+ release() {
58
+ MediaEngineInternal._audio_frame_observers = [];
59
+ MediaEngineInternal._video_frame_observers = [];
60
+ MediaEngineInternal._video_encoded_frame_observers = [];
61
+ MediaEngineInternal._face_info_observers = [];
62
+ this.removeAllListeners();
63
+ }
64
+ _addListenerPreCheck(eventType) {
65
+ if (checkers.IAudioFrameObserver?.strictTest({
66
+ [eventType]: undefined,
67
+ })) {
68
+ if (MediaEngineInternal._audio_frame_observers.length === 0) {
69
+ this.registerAudioFrameObserver({});
70
+ }
71
+ }
72
+ if (checkers.IVideoFrameObserver?.strictTest({
73
+ [eventType]: undefined,
74
+ })) {
75
+ if (MediaEngineInternal._video_frame_observers.length === 0) {
76
+ this.registerVideoFrameObserver({});
77
+ }
78
+ }
79
+ if (checkers.IVideoEncodedFrameObserver?.strictTest({
80
+ [eventType]: undefined,
81
+ })) {
82
+ if (MediaEngineInternal._video_encoded_frame_observers.length === 0) {
83
+ this.registerVideoEncodedFrameObserver({});
84
+ }
85
+ }
86
+ if (checkers.IFaceInfoObserver?.strictTest({
87
+ [eventType]: undefined,
88
+ })) {
89
+ if (MediaEngineInternal._face_info_observers.length === 0) {
90
+ this.registerFaceInfoObserver({});
91
+ }
92
+ }
93
+ return true;
94
+ }
95
+ addListener(eventType, listener) {
96
+ this._addListenerPreCheck(eventType);
97
+ const callback = (eventProcessor, data) => {
98
+ if (eventProcessor.type(data) !== IrisApiEngine_1.EVENT_TYPE.IMediaEngine) {
99
+ return;
100
+ }
101
+ eventProcessor.func.map((it) => {
102
+ it({ [eventType]: listener }, eventType, data);
103
+ });
104
+ };
105
+ // @ts-ignore
106
+ listener.agoraCallback = callback;
107
+ IrisApiEngine_1.DeviceEventEmitter.addListener(eventType, callback);
108
+ }
109
+ removeListener(eventType, listener) {
110
+ IrisApiEngine_1.DeviceEventEmitter.removeListener(eventType,
111
+ // @ts-ignore
112
+ listener?.agoraCallback ?? listener);
113
+ }
114
+ removeAllListeners(eventType) {
115
+ IrisApiEngine_1.DeviceEventEmitter.removeAllListeners(eventType);
116
+ }
117
+ }
118
+ exports.MediaEngineInternal = MediaEngineInternal;
119
+ MediaEngineInternal._audio_frame_observers = [];
120
+ MediaEngineInternal._video_frame_observers = [];
121
+ MediaEngineInternal._video_encoded_frame_observers = [];
122
+ MediaEngineInternal._face_info_observers = [];