agora-electron-sdk 4.1.1-rc.1 → 4.2.0-dev.13

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 (358) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +143 -143
  3. package/gulpfile.js +5 -4
  4. package/js/AgoraSdk.js +62 -60
  5. package/js/Private/AgoraBase.js +4575 -3269
  6. package/js/Private/AgoraMediaBase.js +968 -564
  7. package/js/Private/AgoraMediaPlayerTypes.js +422 -310
  8. package/js/Private/IAgoraLog.js +86 -74
  9. package/js/Private/IAgoraMediaEngine.js +32 -32
  10. package/js/Private/IAgoraMediaPlayer.js +16 -16
  11. package/js/Private/IAgoraMediaPlayerSource.js +3 -3
  12. package/js/Private/IAgoraMediaRecorder.js +12 -12
  13. package/js/Private/IAgoraMediaStreamingSource.js +84 -0
  14. package/js/Private/IAgoraMusicContentCenter.js +239 -81
  15. package/js/Private/IAgoraRhythmPlayer.js +70 -62
  16. package/js/Private/IAgoraRtcEngine.js +1807 -948
  17. package/js/Private/IAgoraRtcEngineEx.js +26 -18
  18. package/js/Private/IAgoraSpatialAudio.js +74 -30
  19. package/js/Private/IAudioDeviceManager.js +20 -20
  20. package/js/Private/extension/AgoraBaseExtension.js +2 -2
  21. package/js/Private/extension/AgoraMediaBaseExtension.js +2 -2
  22. package/js/Private/extension/AgoraMediaPlayerTypesExtension.js +2 -2
  23. package/js/Private/extension/IAgoraLogExtension.js +2 -2
  24. package/js/Private/extension/IAgoraMediaEngineExtension.js +2 -2
  25. package/js/Private/extension/IAgoraMediaPlayerExtension.js +2 -2
  26. package/js/Private/extension/IAgoraMediaPlayerSourceExtension.js +2 -2
  27. package/js/Private/extension/IAgoraMediaRecorderExtension.js +2 -2
  28. package/js/Private/extension/IAgoraMusicContentCenterExtension.js +2 -2
  29. package/js/Private/extension/IAgoraRhythmPlayerExtension.js +2 -2
  30. package/js/Private/extension/IAgoraRtcEngineExExtension.js +2 -2
  31. package/js/Private/extension/IAgoraRtcEngineExtension.js +2 -2
  32. package/js/Private/extension/IAgoraSpatialAudioExtension.js +2 -2
  33. package/js/Private/extension/IAudioDeviceManagerExtension.js +2 -2
  34. package/js/Private/impl/AgoraBaseImpl.js +23 -23
  35. package/js/Private/impl/AgoraMediaBaseImpl.js +118 -138
  36. package/js/Private/impl/IAgoraMediaEngineImpl.js +287 -325
  37. package/js/Private/impl/IAgoraMediaPlayerImpl.js +932 -938
  38. package/js/Private/impl/IAgoraMediaPlayerSourceImpl.js +63 -63
  39. package/js/Private/impl/IAgoraMediaRecorderImpl.js +47 -67
  40. package/js/Private/impl/IAgoraMusicContentCenterImpl.js +353 -323
  41. package/js/Private/impl/IAgoraRtcEngineExImpl.js +945 -907
  42. package/js/Private/impl/IAgoraRtcEngineImpl.js +4742 -4702
  43. package/js/Private/impl/IAgoraSpatialAudioImpl.js +362 -362
  44. package/js/Private/impl/IAudioDeviceManagerImpl.js +375 -375
  45. package/js/Private/internal/AudioDeviceManagerInternal.js +44 -44
  46. package/js/Private/internal/IrisApiEngine.js +391 -382
  47. package/js/Private/internal/LocalSpatialAudioEngineInternal.js +46 -46
  48. package/js/Private/internal/MediaEngineInternal.js +119 -123
  49. package/js/Private/internal/MediaPlayerInternal.js +215 -213
  50. package/js/Private/internal/MediaRecorderInternal.js +82 -81
  51. package/js/Private/internal/MusicContentCenterInternal.js +128 -130
  52. package/js/Private/internal/RtcEngineExInternal.js +422 -363
  53. package/js/Private/internal/emitter/EventEmitter.js +111 -111
  54. package/js/Private/ti/AgoraBase-ti.js +40 -40
  55. package/js/Private/ti/AgoraMediaBase-ti.js +71 -73
  56. package/js/Private/ti/AgoraMediaPlayerTypes-ti.js +5 -5
  57. package/js/Private/ti/IAgoraLog-ti.js +5 -5
  58. package/js/Private/ti/IAgoraMediaEngine-ti.js +5 -5
  59. package/js/Private/ti/IAgoraMediaPlayer-ti.js +38 -42
  60. package/js/Private/ti/IAgoraMediaPlayerSource-ti.js +48 -48
  61. package/js/Private/ti/IAgoraMediaRecorder-ti.js +5 -5
  62. package/js/Private/ti/IAgoraMediaStreamingSource-ti.js +5 -0
  63. package/js/Private/ti/IAgoraMusicContentCenter-ti.js +41 -41
  64. package/js/Private/ti/IAgoraRhythmPlayer-ti.js +5 -5
  65. package/js/Private/ti/IAgoraRtcEngine-ti.js +139 -139
  66. package/js/Private/ti/IAgoraRtcEngineEx-ti.js +5 -5
  67. package/js/Private/ti/IAgoraSpatialAudio-ti.js +5 -5
  68. package/js/Private/ti/IAudioDeviceManager-ti.js +5 -5
  69. package/js/Renderer/AgoraView.js +128 -131
  70. package/js/Renderer/IRenderer.js +40 -48
  71. package/js/Renderer/IRendererManager.js +9 -0
  72. package/js/Renderer/RendererManager.js +479 -392
  73. package/js/Renderer/{GlRenderer → WebGLRenderer}/index.js +469 -473
  74. package/js/Renderer/{GlRenderer → WebGLRenderer}/webgl-utils.js +1337 -1337
  75. package/js/Renderer/YUVCanvasRenderer/index.js +195 -185
  76. package/js/Renderer/index.js +18 -0
  77. package/js/Types.js +17 -29
  78. package/js/Utils.js +168 -173
  79. package/package.json +61 -103
  80. package/scripts/bootstrap.js +1 -1
  81. package/scripts/build.js +1 -0
  82. package/scripts/buildJS.js +3 -3
  83. package/scripts/clean.js +2 -1
  84. package/scripts/downloadPrebuild.js +5 -5
  85. package/scripts/getConfig.js +3 -2
  86. package/scripts/synclib.js +8 -5
  87. package/scripts/util.js +3 -2
  88. package/scripts/zipBuild.js +2 -1
  89. package/ts/AgoraSdk.ts +9 -6
  90. package/ts/Private/AgoraBase.ts +278 -173
  91. package/ts/Private/AgoraMediaBase.ts +167 -100
  92. package/ts/Private/AgoraMediaPlayerTypes.ts +1 -1
  93. package/ts/Private/IAgoraMediaEngine.ts +43 -56
  94. package/ts/Private/IAgoraMediaPlayer.ts +90 -104
  95. package/ts/Private/IAgoraMediaPlayerSource.ts +3 -8
  96. package/ts/Private/IAgoraMediaRecorder.ts +8 -35
  97. package/ts/Private/IAgoraMediaStreamingSource.ts +80 -0
  98. package/ts/Private/IAgoraMusicContentCenter.ts +93 -12
  99. package/ts/Private/IAgoraRtcEngine.ts +807 -910
  100. package/ts/Private/IAgoraRtcEngineEx.ts +187 -191
  101. package/ts/Private/IAgoraSpatialAudio.ts +40 -22
  102. package/ts/Private/IAudioDeviceManager.ts +35 -13
  103. package/ts/Private/extension/IAgoraMediaEngineExtension.ts +1 -1
  104. package/ts/Private/extension/IAgoraMediaPlayerExtension.ts +4 -7
  105. package/ts/Private/extension/IAgoraMediaRecorderExtension.ts +6 -1
  106. package/ts/Private/extension/IAgoraMusicContentCenterExtension.ts +1 -1
  107. package/ts/Private/extension/IAgoraRtcEngineExtension.ts +4 -4
  108. package/ts/Private/impl/AgoraBaseImpl.ts +3 -3
  109. package/ts/Private/impl/AgoraMediaBaseImpl.ts +36 -42
  110. package/ts/Private/impl/IAgoraMediaEngineImpl.ts +79 -127
  111. package/ts/Private/impl/IAgoraMediaPlayerImpl.ts +106 -106
  112. package/ts/Private/impl/IAgoraMediaRecorderImpl.ts +13 -45
  113. package/ts/Private/impl/IAgoraMusicContentCenterImpl.ts +61 -16
  114. package/ts/Private/impl/IAgoraRtcEngineExImpl.ts +129 -59
  115. package/ts/Private/impl/IAgoraRtcEngineImpl.ts +490 -416
  116. package/ts/Private/impl/IAgoraSpatialAudioImpl.ts +5 -3
  117. package/ts/Private/impl/IAudioDeviceManagerImpl.ts +4 -2
  118. package/ts/Private/internal/AudioDeviceManagerInternal.ts +6 -5
  119. package/ts/Private/internal/IrisApiEngine.ts +41 -32
  120. package/ts/Private/internal/LocalSpatialAudioEngineInternal.ts +17 -13
  121. package/ts/Private/internal/MediaEngineInternal.ts +9 -11
  122. package/ts/Private/internal/MediaPlayerInternal.ts +42 -31
  123. package/ts/Private/internal/MediaRecorderInternal.ts +24 -22
  124. package/ts/Private/internal/MusicContentCenterInternal.ts +16 -18
  125. package/ts/Private/internal/RtcEngineExInternal.ts +189 -66
  126. package/ts/Private/ti/AgoraMediaBase-ti.ts +9 -10
  127. package/ts/Private/ti/IAgoraMediaPlayer-ti.ts +0 -5
  128. package/{js/Private/ti/AgoraMediaPlayerTypes-ti.d.ts → ts/Private/ti/IAgoraMediaStreamingSource-ti.ts} +11 -6
  129. package/ts/Private/ti/IAgoraMusicContentCenter-ti.ts +4 -4
  130. package/ts/Private/ti/IAgoraRtcEngine-ti.ts +4 -4
  131. package/ts/Renderer/AgoraView.ts +12 -7
  132. package/ts/Renderer/IRenderer.ts +11 -16
  133. package/ts/Renderer/IRendererManager.ts +35 -0
  134. package/ts/Renderer/RendererManager.ts +146 -82
  135. package/ts/Renderer/{GlRenderer → WebGLRenderer}/index.ts +36 -51
  136. package/ts/Renderer/YUVCanvasRenderer/index.ts +41 -25
  137. package/ts/Renderer/index.ts +2 -0
  138. package/ts/Types.ts +43 -23
  139. package/ts/Utils.ts +7 -12
  140. package/types/AgoraSdk.d.ts +38 -36
  141. package/types/AgoraSdk.d.ts.map +1 -0
  142. package/types/Private/AgoraBase.d.ts +4455 -4358
  143. package/types/Private/AgoraBase.d.ts.map +1 -0
  144. package/types/Private/AgoraMediaBase.d.ts +1125 -1070
  145. package/types/Private/AgoraMediaBase.d.ts.map +1 -0
  146. package/types/Private/AgoraMediaPlayerTypes.d.ts +409 -408
  147. package/types/Private/AgoraMediaPlayerTypes.d.ts.map +1 -0
  148. package/types/Private/IAgoraLog.d.ts +81 -80
  149. package/types/Private/IAgoraLog.d.ts.map +1 -0
  150. package/types/Private/IAgoraMediaEngine.d.ts +184 -193
  151. package/types/Private/IAgoraMediaEngine.d.ts.map +1 -0
  152. package/types/Private/IAgoraMediaPlayer.d.ts +533 -546
  153. package/types/Private/IAgoraMediaPlayer.d.ts.map +1 -0
  154. package/types/Private/IAgoraMediaPlayerSource.d.ts +83 -88
  155. package/types/Private/IAgoraMediaPlayerSource.d.ts.map +1 -0
  156. package/types/Private/IAgoraMediaRecorder.d.ts +29 -49
  157. package/types/Private/IAgoraMediaRecorder.d.ts.map +1 -0
  158. package/types/Private/IAgoraMediaStreamingSource.d.ts +42 -0
  159. package/types/Private/IAgoraMediaStreamingSource.d.ts.map +1 -0
  160. package/types/Private/IAgoraMusicContentCenter.d.ts +336 -255
  161. package/types/Private/IAgoraMusicContentCenter.d.ts.map +1 -0
  162. package/types/Private/IAgoraRhythmPlayer.d.ts +65 -64
  163. package/types/Private/IAgoraRhythmPlayer.d.ts.map +1 -0
  164. package/types/Private/IAgoraRtcEngine.d.ts +4948 -5058
  165. package/types/Private/IAgoraRtcEngine.d.ts.map +1 -0
  166. package/types/Private/IAgoraRtcEngineEx.d.ts +554 -570
  167. package/types/Private/IAgoraRtcEngineEx.d.ts.map +1 -0
  168. package/types/Private/IAgoraSpatialAudio.d.ts +266 -248
  169. package/types/Private/IAgoraSpatialAudio.d.ts.map +1 -0
  170. package/types/Private/IAudioDeviceManager.d.ts +255 -233
  171. package/types/Private/IAudioDeviceManager.d.ts.map +1 -0
  172. package/types/Private/extension/AgoraBaseExtension.d.ts +2 -1
  173. package/types/Private/extension/AgoraBaseExtension.d.ts.map +1 -0
  174. package/types/Private/extension/AgoraMediaBaseExtension.d.ts +2 -1
  175. package/types/Private/extension/AgoraMediaBaseExtension.d.ts.map +1 -0
  176. package/types/Private/extension/AgoraMediaPlayerTypesExtension.d.ts +2 -1
  177. package/types/Private/extension/AgoraMediaPlayerTypesExtension.d.ts.map +1 -0
  178. package/types/Private/extension/IAgoraLogExtension.d.ts +2 -1
  179. package/types/Private/extension/IAgoraLogExtension.d.ts.map +1 -0
  180. package/types/Private/extension/IAgoraMediaEngineExtension.d.ts +41 -40
  181. package/types/Private/extension/IAgoraMediaEngineExtension.d.ts.map +1 -0
  182. package/types/Private/extension/IAgoraMediaPlayerExtension.d.ts +47 -46
  183. package/types/Private/extension/IAgoraMediaPlayerExtension.d.ts.map +1 -0
  184. package/types/Private/extension/IAgoraMediaPlayerSourceExtension.d.ts +2 -1
  185. package/types/Private/extension/IAgoraMediaPlayerSourceExtension.d.ts.map +1 -0
  186. package/types/Private/extension/IAgoraMediaRecorderExtension.d.ts +45 -40
  187. package/types/Private/extension/IAgoraMediaRecorderExtension.d.ts.map +1 -0
  188. package/types/Private/extension/IAgoraMusicContentCenterExtension.d.ts +21 -20
  189. package/types/Private/extension/IAgoraMusicContentCenterExtension.d.ts.map +1 -0
  190. package/types/Private/extension/IAgoraRhythmPlayerExtension.d.ts +2 -1
  191. package/types/Private/extension/IAgoraRhythmPlayerExtension.d.ts.map +1 -0
  192. package/types/Private/extension/IAgoraRtcEngineExExtension.d.ts +2 -1
  193. package/types/Private/extension/IAgoraRtcEngineExExtension.d.ts.map +1 -0
  194. package/types/Private/extension/IAgoraRtcEngineExtension.d.ts +43 -42
  195. package/types/Private/extension/IAgoraRtcEngineExtension.d.ts.map +1 -0
  196. package/types/Private/extension/IAgoraSpatialAudioExtension.d.ts +2 -1
  197. package/types/Private/extension/IAgoraSpatialAudioExtension.d.ts.map +1 -0
  198. package/types/Private/extension/IAudioDeviceManagerExtension.d.ts +2 -1
  199. package/types/Private/extension/IAudioDeviceManagerExtension.d.ts.map +1 -0
  200. package/types/Private/impl/AgoraBaseImpl.d.ts +3 -2
  201. package/types/Private/impl/AgoraBaseImpl.d.ts.map +1 -0
  202. package/types/Private/impl/AgoraMediaBaseImpl.d.ts +9 -7
  203. package/types/Private/impl/AgoraMediaBaseImpl.d.ts.map +1 -0
  204. package/types/Private/impl/IAgoraMediaEngineImpl.d.ts +40 -43
  205. package/types/Private/impl/IAgoraMediaEngineImpl.d.ts.map +1 -0
  206. package/types/Private/impl/IAgoraMediaPlayerImpl.d.ts +141 -141
  207. package/types/Private/impl/IAgoraMediaPlayerImpl.d.ts.map +1 -0
  208. package/types/Private/impl/IAgoraMediaPlayerSourceImpl.d.ts +3 -2
  209. package/types/Private/impl/IAgoraMediaPlayerSourceImpl.d.ts.map +1 -0
  210. package/types/Private/impl/IAgoraMediaRecorderImpl.d.ts +11 -13
  211. package/types/Private/impl/IAgoraMediaRecorderImpl.d.ts.map +1 -0
  212. package/types/Private/impl/IAgoraMusicContentCenterImpl.d.ts +59 -51
  213. package/types/Private/impl/IAgoraMusicContentCenterImpl.d.ts.map +1 -0
  214. package/types/Private/impl/IAgoraRtcEngineExImpl.d.ts +106 -101
  215. package/types/Private/impl/IAgoraRtcEngineExImpl.d.ts.map +1 -0
  216. package/types/Private/impl/IAgoraRtcEngineImpl.d.ts +570 -566
  217. package/types/Private/impl/IAgoraRtcEngineImpl.d.ts.map +1 -0
  218. package/types/Private/impl/IAgoraSpatialAudioImpl.d.ts +49 -48
  219. package/types/Private/impl/IAgoraSpatialAudioImpl.d.ts.map +1 -0
  220. package/types/Private/impl/IAudioDeviceManagerImpl.d.ts +65 -64
  221. package/types/Private/impl/IAudioDeviceManagerImpl.d.ts.map +1 -0
  222. package/types/Private/internal/AudioDeviceManagerInternal.d.ts +9 -8
  223. package/types/Private/internal/AudioDeviceManagerInternal.d.ts.map +1 -0
  224. package/types/Private/internal/IrisApiEngine.d.ts +148 -146
  225. package/types/Private/internal/IrisApiEngine.d.ts.map +1 -0
  226. package/types/Private/internal/LocalSpatialAudioEngineInternal.d.ts +19 -18
  227. package/types/Private/internal/LocalSpatialAudioEngineInternal.d.ts.map +1 -0
  228. package/types/Private/internal/MediaEngineInternal.d.ts +22 -21
  229. package/types/Private/internal/MediaEngineInternal.d.ts.map +1 -0
  230. package/types/Private/internal/MediaPlayerInternal.d.ts +34 -33
  231. package/types/Private/internal/MediaPlayerInternal.d.ts.map +1 -0
  232. package/types/Private/internal/MediaRecorderInternal.d.ts +18 -15
  233. package/types/Private/internal/MediaRecorderInternal.d.ts.map +1 -0
  234. package/types/Private/internal/MusicContentCenterInternal.d.ts +40 -39
  235. package/types/Private/internal/MusicContentCenterInternal.d.ts.map +1 -0
  236. package/types/Private/internal/RtcEngineExInternal.d.ts +80 -73
  237. package/types/Private/internal/RtcEngineExInternal.d.ts.map +1 -0
  238. package/{js → types}/Private/internal/emitter/EventEmitter.d.ts +60 -59
  239. package/types/Private/internal/emitter/EventEmitter.d.ts.map +1 -0
  240. package/types/Private/ti/AgoraBase-ti.d.ts +8 -7
  241. package/types/Private/ti/AgoraBase-ti.d.ts.map +1 -0
  242. package/types/Private/ti/AgoraMediaBase-ti.d.ts +14 -12
  243. package/types/Private/ti/AgoraMediaBase-ti.d.ts.map +1 -0
  244. package/types/Private/ti/AgoraMediaPlayerTypes-ti.d.ts +7 -6
  245. package/types/Private/ti/AgoraMediaPlayerTypes-ti.d.ts.map +1 -0
  246. package/types/Private/ti/IAgoraLog-ti.d.ts +7 -6
  247. package/types/Private/ti/IAgoraLog-ti.d.ts.map +1 -0
  248. package/types/Private/ti/IAgoraMediaEngine-ti.d.ts +7 -6
  249. package/types/Private/ti/IAgoraMediaEngine-ti.d.ts.map +1 -0
  250. package/types/Private/ti/IAgoraMediaPlayer-ti.d.ts +8 -8
  251. package/types/Private/ti/IAgoraMediaPlayer-ti.d.ts.map +1 -0
  252. package/types/Private/ti/IAgoraMediaPlayerSource-ti.d.ts +8 -7
  253. package/types/Private/ti/IAgoraMediaPlayerSource-ti.d.ts.map +1 -0
  254. package/types/Private/ti/IAgoraMediaRecorder-ti.d.ts +7 -6
  255. package/types/Private/ti/IAgoraMediaRecorder-ti.d.ts.map +1 -0
  256. package/{js/Private/ti/IAgoraMediaRecorder-ti.d.ts → types/Private/ti/IAgoraMediaStreamingSource-ti.d.ts} +7 -6
  257. package/types/Private/ti/IAgoraMediaStreamingSource-ti.d.ts.map +1 -0
  258. package/types/Private/ti/IAgoraMusicContentCenter-ti.d.ts +8 -7
  259. package/types/Private/ti/IAgoraMusicContentCenter-ti.d.ts.map +1 -0
  260. package/types/Private/ti/IAgoraRhythmPlayer-ti.d.ts +7 -6
  261. package/types/Private/ti/IAgoraRhythmPlayer-ti.d.ts.map +1 -0
  262. package/types/Private/ti/IAgoraRtcEngine-ti.d.ts +10 -9
  263. package/types/Private/ti/IAgoraRtcEngine-ti.d.ts.map +1 -0
  264. package/types/Private/ti/IAgoraRtcEngineEx-ti.d.ts +7 -6
  265. package/types/Private/ti/IAgoraRtcEngineEx-ti.d.ts.map +1 -0
  266. package/types/Private/ti/IAgoraSpatialAudio-ti.d.ts +7 -6
  267. package/types/Private/ti/IAgoraSpatialAudio-ti.d.ts.map +1 -0
  268. package/types/Private/ti/IAudioDeviceManager-ti.d.ts +7 -6
  269. package/types/Private/ti/IAudioDeviceManager-ti.d.ts.map +1 -0
  270. package/types/Renderer/AgoraView.d.ts +70 -70
  271. package/types/Renderer/AgoraView.d.ts.map +1 -0
  272. package/types/Renderer/IRenderer.d.ts +22 -21
  273. package/types/Renderer/IRenderer.d.ts.map +1 -0
  274. package/types/Renderer/IRendererManager.d.ts +18 -0
  275. package/types/Renderer/IRendererManager.d.ts.map +1 -0
  276. package/types/Renderer/RendererManager.d.ts +154 -71
  277. package/types/Renderer/RendererManager.d.ts.map +1 -0
  278. package/types/Renderer/{GlRenderer → WebGLRenderer}/index.d.ts +49 -59
  279. package/types/Renderer/WebGLRenderer/index.d.ts.map +1 -0
  280. package/types/Renderer/WebGLRenderer/webgl-utils.d.ts +1 -0
  281. package/types/Renderer/WebGLRenderer/webgl-utils.d.ts.map +1 -0
  282. package/types/Renderer/YUVCanvasRenderer/index.d.ts +16 -16
  283. package/types/Renderer/YUVCanvasRenderer/index.d.ts.map +1 -0
  284. package/types/Renderer/index.d.ts +3 -0
  285. package/types/Renderer/index.d.ts.map +1 -0
  286. package/types/Types.d.ts +280 -260
  287. package/types/Types.d.ts.map +1 -0
  288. package/types/Utils.d.ts +59 -58
  289. package/types/Utils.d.ts.map +1 -0
  290. package/js/AgoraSdk.d.ts +0 -36
  291. package/js/Private/AgoraBase.d.ts +0 -4358
  292. package/js/Private/AgoraMediaBase.d.ts +0 -1070
  293. package/js/Private/AgoraMediaPlayerTypes.d.ts +0 -408
  294. package/js/Private/IAgoraLog.d.ts +0 -80
  295. package/js/Private/IAgoraMediaEngine.d.ts +0 -193
  296. package/js/Private/IAgoraMediaPlayer.d.ts +0 -546
  297. package/js/Private/IAgoraMediaPlayerSource.d.ts +0 -88
  298. package/js/Private/IAgoraMediaRecorder.d.ts +0 -49
  299. package/js/Private/IAgoraMusicContentCenter.d.ts +0 -255
  300. package/js/Private/IAgoraRhythmPlayer.d.ts +0 -64
  301. package/js/Private/IAgoraRtcEngine.d.ts +0 -5058
  302. package/js/Private/IAgoraRtcEngineEx.d.ts +0 -570
  303. package/js/Private/IAgoraSpatialAudio.d.ts +0 -248
  304. package/js/Private/IAudioDeviceManager.d.ts +0 -233
  305. package/js/Private/extension/AgoraBaseExtension.d.ts +0 -1
  306. package/js/Private/extension/AgoraMediaBaseExtension.d.ts +0 -1
  307. package/js/Private/extension/AgoraMediaPlayerTypesExtension.d.ts +0 -1
  308. package/js/Private/extension/IAgoraLogExtension.d.ts +0 -1
  309. package/js/Private/extension/IAgoraMediaEngineExtension.d.ts +0 -40
  310. package/js/Private/extension/IAgoraMediaPlayerExtension.d.ts +0 -46
  311. package/js/Private/extension/IAgoraMediaPlayerSourceExtension.d.ts +0 -1
  312. package/js/Private/extension/IAgoraMediaRecorderExtension.d.ts +0 -40
  313. package/js/Private/extension/IAgoraMusicContentCenterExtension.d.ts +0 -20
  314. package/js/Private/extension/IAgoraRhythmPlayerExtension.d.ts +0 -1
  315. package/js/Private/extension/IAgoraRtcEngineExExtension.d.ts +0 -1
  316. package/js/Private/extension/IAgoraRtcEngineExtension.d.ts +0 -42
  317. package/js/Private/extension/IAgoraSpatialAudioExtension.d.ts +0 -1
  318. package/js/Private/extension/IAudioDeviceManagerExtension.d.ts +0 -1
  319. package/js/Private/impl/AgoraBaseImpl.d.ts +0 -2
  320. package/js/Private/impl/AgoraMediaBaseImpl.d.ts +0 -7
  321. package/js/Private/impl/IAgoraMediaEngineImpl.d.ts +0 -43
  322. package/js/Private/impl/IAgoraMediaPlayerImpl.d.ts +0 -141
  323. package/js/Private/impl/IAgoraMediaPlayerSourceImpl.d.ts +0 -2
  324. package/js/Private/impl/IAgoraMediaRecorderImpl.d.ts +0 -13
  325. package/js/Private/impl/IAgoraMusicContentCenterImpl.d.ts +0 -51
  326. package/js/Private/impl/IAgoraRtcEngineExImpl.d.ts +0 -101
  327. package/js/Private/impl/IAgoraRtcEngineImpl.d.ts +0 -566
  328. package/js/Private/impl/IAgoraSpatialAudioImpl.d.ts +0 -48
  329. package/js/Private/impl/IAudioDeviceManagerImpl.d.ts +0 -64
  330. package/js/Private/internal/AudioDeviceManagerInternal.d.ts +0 -8
  331. package/js/Private/internal/IrisApiEngine.d.ts +0 -146
  332. package/js/Private/internal/LocalSpatialAudioEngineInternal.d.ts +0 -18
  333. package/js/Private/internal/MediaEngineInternal.d.ts +0 -21
  334. package/js/Private/internal/MediaPlayerInternal.d.ts +0 -33
  335. package/js/Private/internal/MediaRecorderInternal.d.ts +0 -15
  336. package/js/Private/internal/MusicContentCenterInternal.d.ts +0 -39
  337. package/js/Private/internal/RtcEngineExInternal.d.ts +0 -73
  338. package/js/Private/ti/AgoraBase-ti.d.ts +0 -7
  339. package/js/Private/ti/AgoraMediaBase-ti.d.ts +0 -12
  340. package/js/Private/ti/IAgoraLog-ti.d.ts +0 -6
  341. package/js/Private/ti/IAgoraMediaEngine-ti.d.ts +0 -6
  342. package/js/Private/ti/IAgoraMediaPlayer-ti.d.ts +0 -8
  343. package/js/Private/ti/IAgoraMediaPlayerSource-ti.d.ts +0 -7
  344. package/js/Private/ti/IAgoraMusicContentCenter-ti.d.ts +0 -7
  345. package/js/Private/ti/IAgoraRhythmPlayer-ti.d.ts +0 -6
  346. package/js/Private/ti/IAgoraRtcEngine-ti.d.ts +0 -9
  347. package/js/Private/ti/IAgoraRtcEngineEx-ti.d.ts +0 -6
  348. package/js/Private/ti/IAgoraSpatialAudio-ti.d.ts +0 -6
  349. package/js/Private/ti/IAudioDeviceManager-ti.d.ts +0 -6
  350. package/js/Renderer/AgoraView.d.ts +0 -70
  351. package/js/Renderer/GlRenderer/index.d.ts +0 -59
  352. package/js/Renderer/GlRenderer/webgl-utils.d.ts +0 -0
  353. package/js/Renderer/IRenderer.d.ts +0 -21
  354. package/js/Renderer/RendererManager.d.ts +0 -71
  355. package/js/Renderer/YUVCanvasRenderer/index.d.ts +0 -16
  356. package/js/Types.d.ts +0 -260
  357. package/js/Utils.d.ts +0 -58
  358. /package/ts/Renderer/{GlRenderer → WebGLRenderer}/webgl-utils.js +0 -0
@@ -1,382 +1,391 @@
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.DeviceEventEmitter = void 0;
7
- const JSON = require('json-bigint');
8
- const Utils_1 = require("../../Utils");
9
- const AgoraBaseImpl_1 = require("../impl/AgoraBaseImpl");
10
- const AgoraMediaBaseImpl_1 = require("../impl/AgoraMediaBaseImpl");
11
- const IAgoraRtcEngineImpl_1 = require("../impl/IAgoraRtcEngineImpl");
12
- const IAgoraMediaPlayerImpl_1 = require("../impl/IAgoraMediaPlayerImpl");
13
- const IAgoraMediaPlayerSourceImpl_1 = require("../impl/IAgoraMediaPlayerSourceImpl");
14
- const IAgoraMusicContentCenterImpl_1 = require("../impl/IAgoraMusicContentCenterImpl");
15
- const MediaEngineInternal_1 = require("./MediaEngineInternal");
16
- const MediaPlayerInternal_1 = require("./MediaPlayerInternal");
17
- const MediaRecorderInternal_1 = require("./MediaRecorderInternal");
18
- const MusicContentCenterInternal_1 = require("./MusicContentCenterInternal");
19
- const RtcEngineExInternal_1 = require("./RtcEngineExInternal");
20
- const EventEmitter_1 = __importDefault(require("./emitter/EventEmitter"));
21
- // @ts-ignore
22
- exports.DeviceEventEmitter = new EventEmitter_1.default();
23
- const AgoraRtcNg = Utils_1.AgoraEnv.AgoraElectronBridge;
24
- AgoraRtcNg.OnEvent('call_back_with_buffer', (...params) => {
25
- try {
26
- handleEvent(...params);
27
- }
28
- catch (e) {
29
- console.error(e);
30
- }
31
- });
32
- /**
33
- * @internal
34
- */
35
- function setDebuggable(flag) {
36
- Utils_1.AgoraEnv.enableLogging = flag;
37
- Utils_1.AgoraEnv.enableDebugLogging = flag;
38
- }
39
- exports.setDebuggable = setDebuggable;
40
- /**
41
- * @internal
42
- */
43
- function isDebuggable() {
44
- return Utils_1.AgoraEnv.enableLogging && Utils_1.AgoraEnv.enableDebugLogging;
45
- }
46
- exports.isDebuggable = isDebuggable;
47
- var EVENT_TYPE;
48
- (function (EVENT_TYPE) {
49
- EVENT_TYPE[EVENT_TYPE["IMediaEngine"] = 0] = "IMediaEngine";
50
- EVENT_TYPE[EVENT_TYPE["IMediaPlayer"] = 1] = "IMediaPlayer";
51
- EVENT_TYPE[EVENT_TYPE["IMediaRecorder"] = 2] = "IMediaRecorder";
52
- EVENT_TYPE[EVENT_TYPE["IRtcEngine"] = 3] = "IRtcEngine";
53
- EVENT_TYPE[EVENT_TYPE["IMusicContentCenter"] = 4] = "IMusicContentCenter";
54
- })(EVENT_TYPE = exports.EVENT_TYPE || (exports.EVENT_TYPE = {}));
55
- /**
56
- * @internal
57
- */
58
- exports.EVENT_PROCESSORS = {
59
- IAudioFrameObserver: {
60
- suffix: 'AudioFrameObserver_',
61
- type: EVENT_TYPE.IMediaEngine,
62
- func: [AgoraMediaBaseImpl_1.processIAudioFrameObserver, AgoraMediaBaseImpl_1.processIAudioFrameObserverBase],
63
- preprocess: (event, data, buffers) => {
64
- if (data.audioFrame) {
65
- data.audioFrame.buffer = buffers[0];
66
- }
67
- },
68
- handlers: () => MediaEngineInternal_1.MediaEngineInternal._audio_frame_observers,
69
- },
70
- IVideoFrameObserver: {
71
- suffix: 'VideoFrameObserver_',
72
- type: EVENT_TYPE.IMediaEngine,
73
- func: [AgoraMediaBaseImpl_1.processIVideoFrameObserver],
74
- preprocess: (event, data, buffers) => {
75
- if (data.videoFrame) {
76
- data.videoFrame.yBuffer = buffers[0];
77
- data.videoFrame.uBuffer = buffers[1];
78
- data.videoFrame.vBuffer = buffers[2];
79
- data.videoFrame.metadata_buffer = buffers[3];
80
- data.videoFrame.alphaBuffer = buffers[4];
81
- }
82
- },
83
- handlers: () => MediaEngineInternal_1.MediaEngineInternal._video_frame_observers,
84
- },
85
- IAudioSpectrumObserver: {
86
- suffix: 'AudioSpectrumObserver_',
87
- type: EVENT_TYPE.IRtcEngine,
88
- func: [AgoraMediaBaseImpl_1.processIAudioSpectrumObserver],
89
- preprocess: (event, data, buffers) => {
90
- // if (data.data) {
91
- // (data.data as AudioSpectrumData).audioSpectrumData = buffers[0];
92
- // }
93
- },
94
- handlers: (data) => data.playerId === 0
95
- ? RtcEngineExInternal_1.RtcEngineExInternal._audio_spectrum_observers
96
- : undefined,
97
- },
98
- IMediaPlayerAudioSpectrumObserver: {
99
- suffix: 'AudioSpectrumObserver_',
100
- type: EVENT_TYPE.IMediaPlayer,
101
- func: [AgoraMediaBaseImpl_1.processIAudioSpectrumObserver],
102
- preprocess: (event, data, buffers) => {
103
- // if (data.data) {
104
- // (data.data as AudioSpectrumData).audioSpectrumData = buffers[0];
105
- // }
106
- },
107
- handlers: (data) => data.playerId !== 0
108
- ? MediaPlayerInternal_1.MediaPlayerInternal._audio_spectrum_observers.get(data.playerId)
109
- : undefined,
110
- },
111
- IAudioEncodedFrameObserver: {
112
- suffix: 'AudioEncodedFrameObserver_',
113
- type: EVENT_TYPE.IRtcEngine,
114
- func: [AgoraBaseImpl_1.processIAudioEncodedFrameObserver],
115
- preprocess: (event, data, buffers) => {
116
- switch (event) {
117
- case 'OnRecordAudioEncodedFrame':
118
- case 'OnPlaybackAudioEncodedFrame':
119
- case 'OnMixedAudioEncodedFrame':
120
- data.frameBuffer = buffers[0];
121
- break;
122
- }
123
- },
124
- handlers: () => RtcEngineExInternal_1.RtcEngineExInternal._audio_encoded_frame_observers,
125
- },
126
- IVideoEncodedFrameObserver: {
127
- suffix: 'VideoEncodedFrameObserver_',
128
- type: EVENT_TYPE.IMediaEngine,
129
- func: [AgoraMediaBaseImpl_1.processIVideoEncodedFrameObserver],
130
- preprocess: (event, data, buffers) => {
131
- switch (event) {
132
- case 'onEncodedVideoFrameReceived':
133
- data.imageBuffer = buffers[0];
134
- break;
135
- }
136
- },
137
- handlers: () => MediaEngineInternal_1.MediaEngineInternal._video_encoded_frame_observers,
138
- },
139
- IMediaPlayerSourceObserver: {
140
- suffix: 'MediaPlayerSourceObserver_',
141
- type: EVENT_TYPE.IMediaPlayer,
142
- func: [IAgoraMediaPlayerSourceImpl_1.processIMediaPlayerSourceObserver],
143
- handlers: (data) => MediaPlayerInternal_1.MediaPlayerInternal._source_observers.get(data.playerId),
144
- },
145
- IMediaPlayerAudioFrameObserver: {
146
- suffix: 'MediaPlayer_AudioFrameObserver_',
147
- type: EVENT_TYPE.IMediaPlayer,
148
- func: [IAgoraMediaPlayerImpl_1.processIMediaPlayerAudioFrameObserver],
149
- preprocess: (event, data, buffers) => {
150
- var _a;
151
- if (data.frame) {
152
- data.frame.data_ = Array.from((_a = buffers[0]) !== null && _a !== void 0 ? _a : []);
153
- }
154
- },
155
- handlers: (data) => MediaPlayerInternal_1.MediaPlayerInternal._audio_frame_observers.get(data.playerId),
156
- },
157
- IMediaPlayerVideoFrameObserver: {
158
- suffix: 'MediaPlayer_VideoFrameObserver_',
159
- type: EVENT_TYPE.IMediaPlayer,
160
- func: [IAgoraMediaPlayerImpl_1.processIMediaPlayerVideoFrameObserver],
161
- preprocess: (event, data, buffers) => {
162
- if (data.frame) {
163
- data.frame.yBuffer = buffers[0];
164
- data.frame.uBuffer = buffers[1];
165
- data.frame.vBuffer = buffers[2];
166
- data.frame.metadata_buffer = buffers[3];
167
- data.frame.alphaBuffer = buffers[4];
168
- }
169
- },
170
- handlers: (data) => MediaPlayerInternal_1.MediaPlayerInternal._video_frame_observers.get(data.playerId),
171
- },
172
- IMediaRecorderObserver: {
173
- suffix: 'MediaRecorderObserver_',
174
- type: EVENT_TYPE.IMediaRecorder,
175
- func: [AgoraMediaBaseImpl_1.processIMediaRecorderObserver],
176
- handlers: (data) => {
177
- var _a;
178
- return [
179
- MediaRecorderInternal_1.MediaRecorderInternal._observers.get(((_a = data.connection.channelId) !== null && _a !== void 0 ? _a : '') + data.connection.localUid),
180
- ];
181
- },
182
- },
183
- IMetadataObserver: {
184
- suffix: 'MetadataObserver_',
185
- type: EVENT_TYPE.IRtcEngine,
186
- func: [IAgoraRtcEngineImpl_1.processIMetadataObserver],
187
- preprocess: (event, data, buffers) => {
188
- switch (event) {
189
- case 'onMetadataReceived':
190
- if (data.metadata) {
191
- data.metadata.buffer = buffers[0];
192
- }
193
- break;
194
- }
195
- },
196
- handlers: () => RtcEngineExInternal_1.RtcEngineExInternal._metadata_observer,
197
- },
198
- IDirectCdnStreamingEventHandler: {
199
- suffix: 'DirectCdnStreamingEventHandler_',
200
- type: EVENT_TYPE.IRtcEngine,
201
- func: [IAgoraRtcEngineImpl_1.processIDirectCdnStreamingEventHandler],
202
- handlers: () => RtcEngineExInternal_1.RtcEngineExInternal._direct_cdn_streaming_event_handler,
203
- },
204
- IRtcEngineEventHandler: {
205
- suffix: 'RtcEngineEventHandler_',
206
- type: EVENT_TYPE.IRtcEngine,
207
- func: [IAgoraRtcEngineImpl_1.processIRtcEngineEventHandler],
208
- preprocess: (event, data, buffers) => {
209
- switch (event) {
210
- case 'onStreamMessage':
211
- case 'onStreamMessageEx':
212
- data.data = buffers[0];
213
- break;
214
- }
215
- },
216
- handlers: () => RtcEngineExInternal_1.RtcEngineExInternal._event_handlers,
217
- },
218
- IMusicContentCenterEventHandler: {
219
- suffix: 'MusicContentCenterEventHandler_',
220
- type: EVENT_TYPE.IMusicContentCenter,
221
- func: [IAgoraMusicContentCenterImpl_1.processIMusicContentCenterEventHandler],
222
- preprocess: (event, data, buffers) => {
223
- switch (event) {
224
- case 'onMusicCollectionResult': {
225
- const result = data.result;
226
- data.result = new MusicContentCenterInternal_1.MusicCollectionInternal(result);
227
- break;
228
- }
229
- }
230
- },
231
- handlers: () => MusicContentCenterInternal_1.MusicContentCenterInternal._event_handlers,
232
- },
233
- };
234
- function handleEvent(...[event, data, buffers]) {
235
- var _a, _b;
236
- if (isDebuggable()) {
237
- console.info('onEvent', event, data, buffers);
238
- }
239
- let _data;
240
- try {
241
- _data = (_a = JSON.parse(data)) !== null && _a !== void 0 ? _a : {};
242
- }
243
- catch (e) {
244
- _data = {};
245
- }
246
- let _event = event;
247
- let processor = exports.EVENT_PROCESSORS.IRtcEngineEventHandler;
248
- Object.values(exports.EVENT_PROCESSORS).some((it) => {
249
- // @ts-ignore
250
- const p = it;
251
- if (_event.startsWith(p.suffix) &&
252
- processor.handlers(_data) !== undefined) {
253
- processor = p;
254
- const reg = new RegExp(`^${processor.suffix}`, 'g');
255
- _event = _event.replace(reg, '');
256
- return true;
257
- }
258
- return false;
259
- });
260
- if (_event.endsWith('Ex')) {
261
- _event = _event.replace(/Ex$/g, '');
262
- }
263
- const _buffers = buffers;
264
- if (processor.preprocess)
265
- processor.preprocess(_event, _data, _buffers);
266
- (_b = processor.handlers(_data)) === null || _b === void 0 ? void 0 : _b.map((value) => {
267
- if (value) {
268
- processor.func.map((it) => {
269
- it(value, _event, _data);
270
- });
271
- }
272
- });
273
- emitEvent(_event, processor.type, _data);
274
- }
275
- /**
276
- * @internal
277
- */
278
- function callIrisApi(funcName, params) {
279
- var _a;
280
- try {
281
- const buffers = [];
282
- if (funcName.startsWith('MediaEngine_')) {
283
- switch (funcName) {
284
- case 'MediaEngine_pushAudioFrame':
285
- case 'MediaEngine_pushCaptureAudioFrame':
286
- case 'MediaEngine_pushReverseAudioFrame':
287
- case 'MediaEngine_pushDirectAudioFrame':
288
- // frame.buffer
289
- buffers.push(params.frame.buffer);
290
- break;
291
- case 'MediaEngine_pushVideoFrame':
292
- // frame.buffer
293
- buffers.push(params.frame.buffer);
294
- // frame.eglContext
295
- buffers.push(Buffer.from(''));
296
- // frame.metadata_buffer
297
- buffers.push(Buffer.from(''));
298
- break;
299
- case 'MediaEngine_pushEncodedVideoImage':
300
- // imageBuffer
301
- buffers.push(params.imageBuffer);
302
- break;
303
- }
304
- }
305
- else if (funcName.startsWith('MediaPlayer_') ||
306
- funcName.startsWith('MusicPlayer_')) {
307
- // @ts-ignore
308
- params.mediaPlayerId = this.getMediaPlayerId();
309
- const json = (_a = params.toJSON) === null || _a === void 0 ? void 0 : _a.call();
310
- params.toJSON = function () {
311
- return Object.assign(Object.assign({}, json), { playerId: params.mediaPlayerId });
312
- };
313
- }
314
- else if (funcName.startsWith('RtcEngine_')) {
315
- switch (funcName) {
316
- case 'RtcEngine_initialize':
317
- AgoraRtcNg.InitializeEnv();
318
- break;
319
- case 'RtcEngine_release':
320
- AgoraRtcNg.CallApi(funcName, JSON.stringify(params), buffers, buffers.length);
321
- AgoraRtcNg.ReleaseEnv();
322
- return;
323
- case 'RtcEngine_sendMetaData':
324
- // metadata.buffer
325
- buffers.push(params.metadata.buffer);
326
- break;
327
- case 'RtcEngine_sendStreamMessage':
328
- case 'RtcEngine_sendStreamMessageEx':
329
- // data
330
- buffers.push(params.data);
331
- break;
332
- case 'RtcEngine_destroyMediaPlayer':
333
- // @ts-ignore
334
- params.mediaPlayerId = params.media_player.getMediaPlayerId();
335
- params.toJSON = function () {
336
- return { playerId: params.mediaPlayerId };
337
- };
338
- break;
339
- }
340
- }
341
- let { callApiReturnCode, callApiResult } = AgoraRtcNg.CallApi(funcName, JSON.stringify(params), buffers, buffers.length);
342
- let ret = callApiResult;
343
- if (ret !== undefined && ret !== null && ret !== '') {
344
- ret = JSON.parse(ret);
345
- if (isDebuggable()) {
346
- if (typeof ret.result === 'number' && ret.result < 0) {
347
- console.error('callApi', funcName, JSON.stringify(params), ret);
348
- }
349
- else {
350
- console.debug('callApi', funcName, JSON.stringify(params), ret);
351
- }
352
- }
353
- return ret;
354
- }
355
- else {
356
- if (isDebuggable()) {
357
- console.error('callApi', funcName, JSON.stringify(params), callApiReturnCode);
358
- }
359
- else {
360
- console.warn('callApi', funcName, JSON.stringify(params), callApiReturnCode);
361
- }
362
- return { result: callApiReturnCode };
363
- }
364
- }
365
- catch (e) {
366
- if (isDebuggable()) {
367
- console.error('callApi', funcName, JSON.stringify(params), e);
368
- }
369
- else {
370
- console.warn('callApi', funcName, JSON.stringify(params), e);
371
- }
372
- return {};
373
- }
374
- }
375
- exports.callIrisApi = callIrisApi;
376
- /**
377
- * @internal
378
- */
379
- function emitEvent(eventType, ...params) {
380
- exports.DeviceEventEmitter.emit(eventType, ...params);
381
- }
382
- exports.emitEvent = emitEvent;
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.DeviceEventEmitter = void 0;
7
+ const json_bigint_1 = __importDefault(require("json-bigint"));
8
+ const Utils_1 = require("../../Utils");
9
+ const AgoraBaseImpl_1 = require("../impl/AgoraBaseImpl");
10
+ const AgoraMediaBaseImpl_1 = require("../impl/AgoraMediaBaseImpl");
11
+ const IAgoraMediaPlayerImpl_1 = require("../impl/IAgoraMediaPlayerImpl");
12
+ const IAgoraMediaPlayerSourceImpl_1 = require("../impl/IAgoraMediaPlayerSourceImpl");
13
+ const IAgoraMusicContentCenterImpl_1 = require("../impl/IAgoraMusicContentCenterImpl");
14
+ const IAgoraRtcEngineImpl_1 = require("../impl/IAgoraRtcEngineImpl");
15
+ const MediaEngineInternal_1 = require("./MediaEngineInternal");
16
+ const MediaPlayerInternal_1 = require("./MediaPlayerInternal");
17
+ const MediaRecorderInternal_1 = require("./MediaRecorderInternal");
18
+ const MusicContentCenterInternal_1 = require("./MusicContentCenterInternal");
19
+ const RtcEngineExInternal_1 = require("./RtcEngineExInternal");
20
+ const EventEmitter_1 = __importDefault(require("./emitter/EventEmitter"));
21
+ // @ts-ignore
22
+ exports.DeviceEventEmitter = new EventEmitter_1.default();
23
+ const AgoraRtcNg = Utils_1.AgoraEnv.AgoraElectronBridge;
24
+ AgoraRtcNg.OnEvent('call_back_with_buffer', (...params) => {
25
+ try {
26
+ handleEvent(...params);
27
+ }
28
+ catch (e) {
29
+ console.error(e);
30
+ }
31
+ });
32
+ /**
33
+ * @internal
34
+ */
35
+ function setDebuggable(flag) {
36
+ Utils_1.AgoraEnv.enableLogging = flag;
37
+ Utils_1.AgoraEnv.enableDebugLogging = flag;
38
+ }
39
+ exports.setDebuggable = setDebuggable;
40
+ /**
41
+ * @internal
42
+ */
43
+ function isDebuggable() {
44
+ return Utils_1.AgoraEnv.enableLogging && Utils_1.AgoraEnv.enableDebugLogging;
45
+ }
46
+ exports.isDebuggable = isDebuggable;
47
+ var EVENT_TYPE;
48
+ (function (EVENT_TYPE) {
49
+ EVENT_TYPE[EVENT_TYPE["IMediaEngine"] = 0] = "IMediaEngine";
50
+ EVENT_TYPE[EVENT_TYPE["IMediaPlayer"] = 1] = "IMediaPlayer";
51
+ EVENT_TYPE[EVENT_TYPE["IMediaRecorder"] = 2] = "IMediaRecorder";
52
+ EVENT_TYPE[EVENT_TYPE["IRtcEngine"] = 3] = "IRtcEngine";
53
+ EVENT_TYPE[EVENT_TYPE["IMusicContentCenter"] = 4] = "IMusicContentCenter";
54
+ })(EVENT_TYPE = exports.EVENT_TYPE || (exports.EVENT_TYPE = {}));
55
+ /**
56
+ * @internal
57
+ */
58
+ exports.EVENT_PROCESSORS = {
59
+ IAudioFrameObserver: {
60
+ suffix: 'AudioFrameObserver_',
61
+ type: EVENT_TYPE.IMediaEngine,
62
+ func: [AgoraMediaBaseImpl_1.processIAudioFrameObserver, AgoraMediaBaseImpl_1.processIAudioFrameObserverBase],
63
+ preprocess: (event, data, buffers) => {
64
+ if (data.audioFrame) {
65
+ data.audioFrame.buffer = buffers[0];
66
+ }
67
+ },
68
+ handlers: () => MediaEngineInternal_1.MediaEngineInternal._audio_frame_observers,
69
+ },
70
+ IVideoFrameObserver: {
71
+ suffix: 'VideoFrameObserver_',
72
+ type: EVENT_TYPE.IMediaEngine,
73
+ func: [AgoraMediaBaseImpl_1.processIVideoFrameObserver],
74
+ preprocess: (event, data, buffers) => {
75
+ if (data.videoFrame) {
76
+ data.videoFrame.yBuffer = buffers[0];
77
+ data.videoFrame.uBuffer = buffers[1];
78
+ data.videoFrame.vBuffer = buffers[2];
79
+ data.videoFrame.metadata_buffer = buffers[3];
80
+ data.videoFrame.alphaBuffer = buffers[4];
81
+ }
82
+ },
83
+ handlers: () => MediaEngineInternal_1.MediaEngineInternal._video_frame_observers,
84
+ },
85
+ IAudioSpectrumObserver: {
86
+ suffix: 'AudioSpectrumObserver_',
87
+ type: EVENT_TYPE.IRtcEngine,
88
+ func: [AgoraMediaBaseImpl_1.processIAudioSpectrumObserver],
89
+ preprocess: (event, data, buffers) => {
90
+ // if (data.data) {
91
+ // (data.data as AudioSpectrumData).audioSpectrumData = buffers[0];
92
+ // }
93
+ },
94
+ handlers: (data) => data.playerId === 0
95
+ ? RtcEngineExInternal_1.RtcEngineExInternal._audio_spectrum_observers
96
+ : undefined,
97
+ },
98
+ IMediaPlayerAudioSpectrumObserver: {
99
+ suffix: 'AudioSpectrumObserver_',
100
+ type: EVENT_TYPE.IMediaPlayer,
101
+ func: [AgoraMediaBaseImpl_1.processIAudioSpectrumObserver],
102
+ preprocess: (event, data, buffers) => {
103
+ // if (data.data) {
104
+ // (data.data as AudioSpectrumData).audioSpectrumData = buffers[0];
105
+ // }
106
+ },
107
+ handlers: (data) => data.playerId !== 0
108
+ ? MediaPlayerInternal_1.MediaPlayerInternal._audio_spectrum_observers.get(data.playerId)
109
+ : undefined,
110
+ },
111
+ IAudioEncodedFrameObserver: {
112
+ suffix: 'AudioEncodedFrameObserver_',
113
+ type: EVENT_TYPE.IRtcEngine,
114
+ func: [AgoraBaseImpl_1.processIAudioEncodedFrameObserver],
115
+ preprocess: (event, data, buffers) => {
116
+ switch (event) {
117
+ case 'OnRecordAudioEncodedFrame':
118
+ case 'OnPlaybackAudioEncodedFrame':
119
+ case 'OnMixedAudioEncodedFrame':
120
+ data.frameBuffer = buffers[0];
121
+ break;
122
+ }
123
+ },
124
+ handlers: () => RtcEngineExInternal_1.RtcEngineExInternal._audio_encoded_frame_observers,
125
+ },
126
+ IVideoEncodedFrameObserver: {
127
+ suffix: 'VideoEncodedFrameObserver_',
128
+ type: EVENT_TYPE.IMediaEngine,
129
+ func: [AgoraMediaBaseImpl_1.processIVideoEncodedFrameObserver],
130
+ preprocess: (event, data, buffers) => {
131
+ switch (event) {
132
+ case 'onEncodedVideoFrameReceived':
133
+ data.imageBuffer = buffers[0];
134
+ break;
135
+ }
136
+ },
137
+ handlers: () => MediaEngineInternal_1.MediaEngineInternal._video_encoded_frame_observers,
138
+ },
139
+ IMediaPlayerSourceObserver: {
140
+ suffix: 'MediaPlayerSourceObserver_',
141
+ type: EVENT_TYPE.IMediaPlayer,
142
+ func: [IAgoraMediaPlayerSourceImpl_1.processIMediaPlayerSourceObserver],
143
+ handlers: (data) => MediaPlayerInternal_1.MediaPlayerInternal._source_observers.get(data.playerId),
144
+ },
145
+ IMediaPlayerAudioFrameObserver: {
146
+ suffix: 'AudioPcmFrameSink_',
147
+ type: EVENT_TYPE.IMediaPlayer,
148
+ func: [AgoraMediaBaseImpl_1.processIAudioPcmFrameSink],
149
+ preprocess: (event, data, buffers) => {
150
+ if (data.frame) {
151
+ data.frame.data_ = Array.from(buffers[0] ?? []);
152
+ }
153
+ },
154
+ handlers: (data) => MediaPlayerInternal_1.MediaPlayerInternal._audio_frame_observers.get(data.playerId),
155
+ },
156
+ IMediaPlayerVideoFrameObserver: {
157
+ suffix: 'MediaPlayerVideoFrameObserver_',
158
+ type: EVENT_TYPE.IMediaPlayer,
159
+ func: [IAgoraMediaPlayerImpl_1.processIMediaPlayerVideoFrameObserver],
160
+ preprocess: (event, data, buffers) => {
161
+ if (data.frame) {
162
+ data.frame.yBuffer = buffers[0];
163
+ data.frame.uBuffer = buffers[1];
164
+ data.frame.vBuffer = buffers[2];
165
+ data.frame.metadata_buffer = buffers[3];
166
+ data.frame.alphaBuffer = buffers[4];
167
+ }
168
+ },
169
+ handlers: (data) => MediaPlayerInternal_1.MediaPlayerInternal._video_frame_observers.get(data.playerId),
170
+ },
171
+ IMediaRecorderObserver: {
172
+ suffix: 'MediaRecorderObserver_',
173
+ type: EVENT_TYPE.IMediaRecorder,
174
+ func: [AgoraMediaBaseImpl_1.processIMediaRecorderObserver],
175
+ handlers: (data) => [
176
+ MediaRecorderInternal_1.MediaRecorderInternal._observers.get(data.nativeHandle),
177
+ ],
178
+ },
179
+ IMetadataObserver: {
180
+ suffix: 'MetadataObserver_',
181
+ type: EVENT_TYPE.IRtcEngine,
182
+ func: [IAgoraRtcEngineImpl_1.processIMetadataObserver],
183
+ preprocess: (event, data, buffers) => {
184
+ switch (event) {
185
+ case 'onMetadataReceived':
186
+ if (data.metadata) {
187
+ data.metadata.buffer = buffers[0];
188
+ }
189
+ break;
190
+ }
191
+ },
192
+ handlers: () => RtcEngineExInternal_1.RtcEngineExInternal._metadata_observer,
193
+ },
194
+ IDirectCdnStreamingEventHandler: {
195
+ suffix: 'DirectCdnStreamingEventHandler_',
196
+ type: EVENT_TYPE.IRtcEngine,
197
+ func: [IAgoraRtcEngineImpl_1.processIDirectCdnStreamingEventHandler],
198
+ handlers: () => RtcEngineExInternal_1.RtcEngineExInternal._direct_cdn_streaming_event_handler,
199
+ },
200
+ IRtcEngineEventHandler: {
201
+ suffix: 'RtcEngineEventHandler_',
202
+ type: EVENT_TYPE.IRtcEngine,
203
+ func: [IAgoraRtcEngineImpl_1.processIRtcEngineEventHandler],
204
+ preprocess: (event, data, buffers) => {
205
+ switch (event) {
206
+ case 'onStreamMessage':
207
+ case 'onStreamMessageEx':
208
+ data.data = buffers[0];
209
+ break;
210
+ }
211
+ },
212
+ handlers: () => RtcEngineExInternal_1.RtcEngineExInternal._event_handlers,
213
+ },
214
+ IMusicContentCenterEventHandler: {
215
+ suffix: 'MusicContentCenterEventHandler_',
216
+ type: EVENT_TYPE.IMusicContentCenter,
217
+ func: [IAgoraMusicContentCenterImpl_1.processIMusicContentCenterEventHandler],
218
+ preprocess: (event, data, buffers) => {
219
+ switch (event) {
220
+ case 'onMusicCollectionResult': {
221
+ const result = data.result;
222
+ data.result = new MusicContentCenterInternal_1.MusicCollectionInternal(result);
223
+ break;
224
+ }
225
+ }
226
+ },
227
+ handlers: () => MusicContentCenterInternal_1.MusicContentCenterInternal._event_handlers,
228
+ },
229
+ };
230
+ function handleEvent(...[event, data, buffers]) {
231
+ if (isDebuggable()) {
232
+ console.info('onEvent', event, data, buffers);
233
+ }
234
+ let _data;
235
+ try {
236
+ _data = json_bigint_1.default.parse(data) ?? {};
237
+ }
238
+ catch (e) {
239
+ _data = {};
240
+ }
241
+ let _event = event;
242
+ let processor = exports.EVENT_PROCESSORS.IRtcEngineEventHandler;
243
+ Object.values(exports.EVENT_PROCESSORS).some((it) => {
244
+ const p = it;
245
+ if (_event.startsWith(p.suffix) &&
246
+ processor.handlers(_data) !== undefined) {
247
+ processor = p;
248
+ const reg = new RegExp(`^${processor.suffix}`, 'g');
249
+ _event = _event.replace(reg, '');
250
+ return true;
251
+ }
252
+ return false;
253
+ });
254
+ if (_event.endsWith('Ex')) {
255
+ _event = _event.replace(/Ex$/g, '');
256
+ }
257
+ const _buffers = buffers;
258
+ if (processor.preprocess)
259
+ processor.preprocess(_event, _data, _buffers);
260
+ processor.handlers(_data)?.map((value) => {
261
+ if (value) {
262
+ processor.func.map((it) => {
263
+ it(value, _event, _data);
264
+ });
265
+ }
266
+ });
267
+ emitEvent(_event, processor.type, _data);
268
+ }
269
+ /**
270
+ * @internal
271
+ */
272
+ function callIrisApi(funcName, params) {
273
+ try {
274
+ const buffers = [];
275
+ if (funcName.startsWith('MediaEngine_')) {
276
+ switch (funcName) {
277
+ case 'MediaEngine_pushAudioFrame':
278
+ case 'MediaEngine_pushCaptureAudioFrame':
279
+ case 'MediaEngine_pushReverseAudioFrame':
280
+ case 'MediaEngine_pushDirectAudioFrame':
281
+ // frame.buffer
282
+ buffers.push(params.frame.buffer);
283
+ break;
284
+ case 'MediaEngine_pushVideoFrame':
285
+ // frame.buffer
286
+ buffers.push(params.frame.buffer);
287
+ // frame.eglContext
288
+ buffers.push(Buffer.from(''));
289
+ // frame.metadata_buffer
290
+ buffers.push(Buffer.from(''));
291
+ // frame.alphaBuffer
292
+ buffers.push(params.frame.alphaBuffer);
293
+ break;
294
+ case 'MediaEngine_pushEncodedVideoImage':
295
+ // imageBuffer
296
+ buffers.push(params.imageBuffer);
297
+ break;
298
+ }
299
+ }
300
+ else if (funcName.startsWith('MediaPlayer_') ||
301
+ funcName.startsWith('MusicPlayer_')) {
302
+ // @ts-ignore
303
+ params.mediaPlayerId = this.getMediaPlayerId();
304
+ const json = params.toJSON?.call();
305
+ params.toJSON = function () {
306
+ return { ...json, playerId: params.mediaPlayerId };
307
+ };
308
+ }
309
+ else if (funcName.startsWith('MediaRecorder_')) {
310
+ // @ts-ignore
311
+ params.nativeHandle = this.nativeHandle;
312
+ const json = params.toJSON?.call();
313
+ params.toJSON = function () {
314
+ return { ...json, nativeHandle: params.nativeHandle };
315
+ };
316
+ }
317
+ else if (funcName.startsWith('RtcEngine_')) {
318
+ switch (funcName) {
319
+ case 'RtcEngine_initialize':
320
+ AgoraRtcNg.InitializeEnv();
321
+ break;
322
+ case 'RtcEngine_release':
323
+ AgoraRtcNg.CallApi(funcName, json_bigint_1.default.stringify(params), buffers, buffers.length);
324
+ AgoraRtcNg.ReleaseEnv();
325
+ return;
326
+ case 'RtcEngine_sendMetaData':
327
+ // metadata.buffer
328
+ buffers.push(params.metadata.buffer);
329
+ break;
330
+ case 'RtcEngine_sendStreamMessage':
331
+ case 'RtcEngine_sendStreamMessageEx':
332
+ // data
333
+ buffers.push(params.data);
334
+ break;
335
+ case 'RtcEngine_destroyMediaPlayer':
336
+ params.mediaPlayerId = params.media_player.getMediaPlayerId();
337
+ params.toJSON = function () {
338
+ return { playerId: params.mediaPlayerId };
339
+ };
340
+ break;
341
+ case 'RtcEngine_destroyMediaRecorder':
342
+ // @ts-ignore
343
+ params.nativeHandle = this.nativeHandle;
344
+ params.toJSON = function () {
345
+ return { nativeHandle: params.nativeHandle };
346
+ };
347
+ break;
348
+ }
349
+ }
350
+ let { callApiReturnCode, callApiResult } = AgoraRtcNg.CallApi(funcName, json_bigint_1.default.stringify(params), buffers, buffers.length);
351
+ let ret = callApiResult;
352
+ if (ret !== undefined && ret !== null && ret !== '') {
353
+ const retObj = json_bigint_1.default.parse(ret);
354
+ if (isDebuggable()) {
355
+ if (typeof retObj.result === 'number' && retObj.result < 0) {
356
+ console.error('callApi', funcName, json_bigint_1.default.stringify(params), ret);
357
+ }
358
+ else {
359
+ console.debug('callApi', funcName, json_bigint_1.default.stringify(params), ret);
360
+ }
361
+ }
362
+ return retObj;
363
+ }
364
+ else {
365
+ if (isDebuggable()) {
366
+ console.error('callApi', funcName, json_bigint_1.default.stringify(params), callApiReturnCode);
367
+ }
368
+ else {
369
+ console.warn('callApi', funcName, json_bigint_1.default.stringify(params), callApiReturnCode);
370
+ }
371
+ return { result: callApiReturnCode };
372
+ }
373
+ }
374
+ catch (e) {
375
+ if (isDebuggable()) {
376
+ console.error('callApi', funcName, json_bigint_1.default.stringify(params), e);
377
+ }
378
+ else {
379
+ console.warn('callApi', funcName, json_bigint_1.default.stringify(params), e);
380
+ }
381
+ }
382
+ return {};
383
+ }
384
+ exports.callIrisApi = callIrisApi;
385
+ /**
386
+ * @internal
387
+ */
388
+ function emitEvent(eventType, ...params) {
389
+ exports.DeviceEventEmitter.emit(eventType, ...params);
390
+ }
391
+ exports.emitEvent = emitEvent;