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,11 +1,11 @@
1
- import { callIrisApi } from '../internal/IrisApiEngine';
1
+ import { RtcConnection } from '../IAgoraRtcEngineEx';
2
2
  import {
3
3
  IBaseSpatialAudioEngine,
4
+ ILocalSpatialAudioEngine,
4
5
  RemoteVoicePositionInfo,
5
6
  SpatialAudioZone,
6
- ILocalSpatialAudioEngine,
7
7
  } from '../IAgoraSpatialAudio';
8
- import { RtcConnection } from '../IAgoraRtcEngineEx';
8
+
9
9
  // @ts-ignore
10
10
  export class IBaseSpatialAudioEngineImpl implements IBaseSpatialAudioEngine {
11
11
  release(): void {
@@ -498,3 +498,5 @@ export class ILocalSpatialAudioEngineImpl
498
498
  return 'LocalSpatialAudioEngine_setRemoteAudioAttenuation';
499
499
  }
500
500
  }
501
+
502
+ import { callIrisApi } from '../internal/IrisApiEngine';
@@ -1,6 +1,6 @@
1
- import { callIrisApi } from '../internal/IrisApiEngine';
2
- import { IAudioDeviceManager } from '../IAudioDeviceManager';
3
1
  import { AudioDeviceInfo } from '../IAgoraRtcEngine';
2
+ import { IAudioDeviceManager } from '../IAudioDeviceManager';
3
+
4
4
  // @ts-ignore
5
5
  export class IAudioDeviceManagerImpl implements IAudioDeviceManager {
6
6
  enumeratePlaybackDevices(): AudioDeviceInfo[] {
@@ -439,3 +439,5 @@ export class IAudioDeviceManagerImpl implements IAudioDeviceManager {
439
439
  return 'AudioDeviceManager_getRecordingDefaultDevice';
440
440
  }
441
441
  }
442
+
443
+ import { callIrisApi } from '../internal/IrisApiEngine';
@@ -1,9 +1,10 @@
1
1
  import { AudioDeviceInfo } from '../IAgoraRtcEngine';
2
- import { callIrisApi } from './IrisApiEngine';
3
2
  import { IAudioDeviceManagerImpl } from '../impl/IAudioDeviceManagerImpl';
4
3
 
4
+ import { callIrisApi } from './IrisApiEngine';
5
+
5
6
  export class AudioDeviceManagerInternal extends IAudioDeviceManagerImpl {
6
- getPlaybackDeviceInfo(): AudioDeviceInfo {
7
+ override getPlaybackDeviceInfo(): AudioDeviceInfo {
7
8
  const apiType = this.getApiTypeFromGetPlaybackDeviceInfo();
8
9
  const jsonParams = {};
9
10
  const jsonResults = callIrisApi.call(this, apiType, jsonParams);
@@ -13,7 +14,7 @@ export class AudioDeviceManagerInternal extends IAudioDeviceManagerImpl {
13
14
  };
14
15
  }
15
16
 
16
- getRecordingDeviceInfo(): AudioDeviceInfo {
17
+ override getRecordingDeviceInfo(): AudioDeviceInfo {
17
18
  const apiType = this.getApiTypeFromGetRecordingDeviceInfo();
18
19
  const jsonParams = {};
19
20
  const jsonResults = callIrisApi.call(this, apiType, jsonParams);
@@ -23,7 +24,7 @@ export class AudioDeviceManagerInternal extends IAudioDeviceManagerImpl {
23
24
  };
24
25
  }
25
26
 
26
- getPlaybackDefaultDevice(): AudioDeviceInfo {
27
+ override getPlaybackDefaultDevice(): AudioDeviceInfo {
27
28
  const apiType = this.getApiTypeFromGetPlaybackDefaultDevice();
28
29
  const jsonParams = {};
29
30
  const jsonResults = callIrisApi.call(this, apiType, jsonParams);
@@ -33,7 +34,7 @@ export class AudioDeviceManagerInternal extends IAudioDeviceManagerImpl {
33
34
  };
34
35
  }
35
36
 
36
- getRecordingDefaultDevice(): AudioDeviceInfo {
37
+ override getRecordingDefaultDevice(): AudioDeviceInfo {
37
38
  const apiType = this.getApiTypeFromGetRecordingDefaultDevice();
38
39
  const jsonParams = {};
39
40
  const jsonResults = callIrisApi.call(this, apiType, jsonParams);
@@ -1,51 +1,48 @@
1
- const JSON = require('json-bigint');
2
- import { AgoraEnv } from '../../Utils';
1
+ import JSON from 'json-bigint';
3
2
 
3
+ import { AgoraEnv } from '../../Utils';
4
4
  import { IAudioEncodedFrameObserver } from '../AgoraBase';
5
5
  import {
6
6
  AudioFrame,
7
7
  AudioPcmFrame,
8
8
  IAudioFrameObserver,
9
+ IAudioPcmFrameSink,
9
10
  IAudioSpectrumObserver,
10
11
  IMediaRecorderObserver,
11
12
  IVideoEncodedFrameObserver,
12
13
  IVideoFrameObserver,
13
14
  VideoFrame,
14
15
  } from '../AgoraMediaBase';
15
- import {
16
- IDirectCdnStreamingEventHandler,
17
- IMetadataObserver,
18
- IRtcEngineEventHandler,
19
- Metadata,
20
- } from '../IAgoraRtcEngine';
21
16
  import {
22
17
  IMediaPlayer,
23
- IMediaPlayerAudioFrameObserver,
24
18
  IMediaPlayerVideoFrameObserver,
25
19
  } from '../IAgoraMediaPlayer';
26
20
  import { IMediaPlayerSourceObserver } from '../IAgoraMediaPlayerSource';
27
21
  import { IMusicContentCenterEventHandler } from '../IAgoraMusicContentCenter';
28
-
22
+ import {
23
+ IDirectCdnStreamingEventHandler,
24
+ IMetadataObserver,
25
+ IRtcEngineEventHandler,
26
+ Metadata,
27
+ } from '../IAgoraRtcEngine';
29
28
  import { processIAudioEncodedFrameObserver } from '../impl/AgoraBaseImpl';
30
29
  import {
31
30
  processIAudioFrameObserver,
32
31
  processIAudioFrameObserverBase,
32
+ processIAudioPcmFrameSink,
33
33
  processIAudioSpectrumObserver,
34
34
  processIMediaRecorderObserver,
35
35
  processIVideoEncodedFrameObserver,
36
36
  processIVideoFrameObserver,
37
37
  } from '../impl/AgoraMediaBaseImpl';
38
+ import { processIMediaPlayerVideoFrameObserver } from '../impl/IAgoraMediaPlayerImpl';
39
+ import { processIMediaPlayerSourceObserver } from '../impl/IAgoraMediaPlayerSourceImpl';
40
+ import { processIMusicContentCenterEventHandler } from '../impl/IAgoraMusicContentCenterImpl';
38
41
  import {
39
42
  processIDirectCdnStreamingEventHandler,
40
43
  processIMetadataObserver,
41
44
  processIRtcEngineEventHandler,
42
45
  } from '../impl/IAgoraRtcEngineImpl';
43
- import {
44
- processIMediaPlayerAudioFrameObserver,
45
- processIMediaPlayerVideoFrameObserver,
46
- } from '../impl/IAgoraMediaPlayerImpl';
47
- import { processIMediaPlayerSourceObserver } from '../impl/IAgoraMediaPlayerSourceImpl';
48
- import { processIMusicContentCenterEventHandler } from '../impl/IAgoraMusicContentCenterImpl';
49
46
 
50
47
  import { MediaEngineInternal } from './MediaEngineInternal';
51
48
  import { MediaPlayerInternal } from './MediaPlayerInternal';
@@ -55,11 +52,11 @@ import {
55
52
  MusicContentCenterInternal,
56
53
  } from './MusicContentCenterInternal';
57
54
  import { RtcEngineExInternal } from './RtcEngineExInternal';
58
-
55
+ import type { EventEmitter as IEventEmitter } from './emitter/EventEmitter';
59
56
  import EventEmitter from './emitter/EventEmitter';
60
57
 
61
58
  // @ts-ignore
62
- export const DeviceEventEmitter = new EventEmitter();
59
+ export const DeviceEventEmitter: IEventEmitter = new EventEmitter();
63
60
 
64
61
  const AgoraRtcNg = AgoraEnv.AgoraElectronBridge;
65
62
  AgoraRtcNg.OnEvent('call_back_with_buffer', (...params: any) => {
@@ -103,7 +100,7 @@ export type EventProcessor = {
103
100
  | IAudioEncodedFrameObserver
104
101
  | IVideoEncodedFrameObserver
105
102
  | IMediaPlayerSourceObserver
106
- | IMediaPlayerAudioFrameObserver
103
+ | IAudioPcmFrameSink
107
104
  | IMediaPlayerVideoFrameObserver
108
105
  | IMediaRecorderObserver
109
106
  | IMetadataObserver
@@ -215,9 +212,9 @@ export const EVENT_PROCESSORS = {
215
212
  MediaPlayerInternal._source_observers.get(data.playerId),
216
213
  },
217
214
  IMediaPlayerAudioFrameObserver: {
218
- suffix: 'MediaPlayer_AudioFrameObserver_',
215
+ suffix: 'AudioPcmFrameSink_',
219
216
  type: EVENT_TYPE.IMediaPlayer,
220
- func: [processIMediaPlayerAudioFrameObserver],
217
+ func: [processIAudioPcmFrameSink],
221
218
  preprocess: (event: string, data: any, buffers: Uint8Array[]) => {
222
219
  if (data.frame) {
223
220
  (data.frame as AudioPcmFrame).data_ = Array.from(buffers[0] ?? []);
@@ -227,7 +224,7 @@ export const EVENT_PROCESSORS = {
227
224
  MediaPlayerInternal._audio_frame_observers.get(data.playerId),
228
225
  },
229
226
  IMediaPlayerVideoFrameObserver: {
230
- suffix: 'MediaPlayer_VideoFrameObserver_',
227
+ suffix: 'MediaPlayerVideoFrameObserver_',
231
228
  type: EVENT_TYPE.IMediaPlayer,
232
229
  func: [processIMediaPlayerVideoFrameObserver],
233
230
  preprocess: (event: string, data: any, buffers: Uint8Array[]) => {
@@ -247,9 +244,7 @@ export const EVENT_PROCESSORS = {
247
244
  type: EVENT_TYPE.IMediaRecorder,
248
245
  func: [processIMediaRecorderObserver],
249
246
  handlers: (data: any) => [
250
- MediaRecorderInternal._observers.get(
251
- (data.connection.channelId ?? '') + data.connection.localUid
252
- ),
247
+ MediaRecorderInternal._observers.get(data.nativeHandle),
253
248
  ],
254
249
  },
255
250
  IMetadataObserver: {
@@ -320,7 +315,6 @@ function handleEvent(...[event, data, buffers]: any) {
320
315
  let processor: EventProcessor = EVENT_PROCESSORS.IRtcEngineEventHandler;
321
316
 
322
317
  Object.values(EVENT_PROCESSORS).some((it) => {
323
- // @ts-ignore
324
318
  const p = it as EventProcessor;
325
319
  if (
326
320
  _event.startsWith(p.suffix) &&
@@ -355,7 +349,7 @@ function handleEvent(...[event, data, buffers]: any) {
355
349
  /**
356
350
  * @internal
357
351
  */
358
- export function callIrisApi<T>(funcName: string, params: any): any {
352
+ export function callIrisApi(funcName: string, params: any): any {
359
353
  try {
360
354
  const buffers: Uint8Array[] = [];
361
355
 
@@ -375,6 +369,8 @@ export function callIrisApi<T>(funcName: string, params: any): any {
375
369
  buffers.push(Buffer.from(''));
376
370
  // frame.metadata_buffer
377
371
  buffers.push(Buffer.from(''));
372
+ // frame.alphaBuffer
373
+ buffers.push(params.frame.alphaBuffer);
378
374
  break;
379
375
  case 'MediaEngine_pushEncodedVideoImage':
380
376
  // imageBuffer
@@ -391,6 +387,13 @@ export function callIrisApi<T>(funcName: string, params: any): any {
391
387
  params.toJSON = function () {
392
388
  return { ...json, playerId: params.mediaPlayerId };
393
389
  };
390
+ } else if (funcName.startsWith('MediaRecorder_')) {
391
+ // @ts-ignore
392
+ params.nativeHandle = (this as MediaRecorderInternal).nativeHandle;
393
+ const json = params.toJSON?.call();
394
+ params.toJSON = function () {
395
+ return { ...json, nativeHandle: params.nativeHandle };
396
+ };
394
397
  } else if (funcName.startsWith('RtcEngine_')) {
395
398
  switch (funcName) {
396
399
  case 'RtcEngine_initialize':
@@ -415,12 +418,18 @@ export function callIrisApi<T>(funcName: string, params: any): any {
415
418
  buffers.push(params.data);
416
419
  break;
417
420
  case 'RtcEngine_destroyMediaPlayer':
418
- // @ts-ignore
419
421
  params.mediaPlayerId = params.media_player.getMediaPlayerId();
420
422
  params.toJSON = function () {
421
423
  return { playerId: params.mediaPlayerId };
422
424
  };
423
425
  break;
426
+ case 'RtcEngine_destroyMediaRecorder':
427
+ // @ts-ignore
428
+ params.nativeHandle = (this as MediaRecorderInternal).nativeHandle;
429
+ params.toJSON = function () {
430
+ return { nativeHandle: params.nativeHandle };
431
+ };
432
+ break;
424
433
  }
425
434
  }
426
435
 
@@ -432,15 +441,15 @@ export function callIrisApi<T>(funcName: string, params: any): any {
432
441
  );
433
442
  let ret = callApiResult;
434
443
  if (ret !== undefined && ret !== null && ret !== '') {
435
- ret = JSON.parse(ret);
444
+ const retObj = JSON.parse(ret);
436
445
  if (isDebuggable()) {
437
- if (typeof ret.result === 'number' && ret.result < 0) {
446
+ if (typeof retObj.result === 'number' && retObj.result < 0) {
438
447
  console.error('callApi', funcName, JSON.stringify(params), ret);
439
448
  } else {
440
449
  console.debug('callApi', funcName, JSON.stringify(params), ret);
441
450
  }
442
451
  }
443
- return ret;
452
+ return retObj;
444
453
  } else {
445
454
  if (isDebuggable()) {
446
455
  console.error(
@@ -465,8 +474,8 @@ export function callIrisApi<T>(funcName: string, params: any): any {
465
474
  } else {
466
475
  console.warn('callApi', funcName, JSON.stringify(params), e);
467
476
  }
468
- return {};
469
477
  }
478
+ return {};
470
479
  }
471
480
 
472
481
  /**
@@ -7,23 +7,25 @@ import {
7
7
  import { ILocalSpatialAudioEngineImpl } from '../impl/IAgoraSpatialAudioImpl';
8
8
 
9
9
  export class LocalSpatialAudioEngineInternal extends ILocalSpatialAudioEngineImpl {
10
- protected getApiTypeFromRelease(): string {
10
+ protected override getApiTypeFromRelease(): string {
11
11
  return 'LocalSpatialAudioEngine_release';
12
12
  }
13
13
 
14
- protected getApiTypeFromSetMaxAudioRecvCount(maxCount: number): string {
14
+ protected override getApiTypeFromSetMaxAudioRecvCount(
15
+ maxCount: number
16
+ ): string {
15
17
  return 'LocalSpatialAudioEngine_setMaxAudioRecvCount';
16
18
  }
17
19
 
18
- protected getApiTypeFromSetAudioRecvRange(range: number): string {
20
+ protected override getApiTypeFromSetAudioRecvRange(range: number): string {
19
21
  return 'LocalSpatialAudioEngine_setAudioRecvRange';
20
22
  }
21
23
 
22
- protected getApiTypeFromSetDistanceUnit(unit: number): string {
24
+ protected override getApiTypeFromSetDistanceUnit(unit: number): string {
23
25
  return 'LocalSpatialAudioEngine_setDistanceUnit';
24
26
  }
25
27
 
26
- protected getApiTypeFromUpdateSelfPosition(
28
+ protected override getApiTypeFromUpdateSelfPosition(
27
29
  position: number[],
28
30
  axisForward: number[],
29
31
  axisRight: number[],
@@ -32,7 +34,7 @@ export class LocalSpatialAudioEngineInternal extends ILocalSpatialAudioEngineImp
32
34
  return 'LocalSpatialAudioEngine_updateSelfPosition';
33
35
  }
34
36
 
35
- protected getApiTypeFromUpdateSelfPositionEx(
37
+ protected override getApiTypeFromUpdateSelfPositionEx(
36
38
  position: number[],
37
39
  axisForward: number[],
38
40
  axisRight: number[],
@@ -42,33 +44,35 @@ export class LocalSpatialAudioEngineInternal extends ILocalSpatialAudioEngineImp
42
44
  return 'LocalSpatialAudioEngine_updateSelfPositionEx';
43
45
  }
44
46
 
45
- protected getApiTypeFromUpdatePlayerPositionInfo(
47
+ protected override getApiTypeFromUpdatePlayerPositionInfo(
46
48
  playerId: number,
47
49
  positionInfo: RemoteVoicePositionInfo
48
50
  ): string {
49
51
  return 'LocalSpatialAudioEngine_updatePlayerPositionInfo';
50
52
  }
51
53
 
52
- protected getApiTypeFromSetParameters(params: string): string {
54
+ protected override getApiTypeFromSetParameters(params: string): string {
53
55
  return 'LocalSpatialAudioEngine_setParameters';
54
56
  }
55
57
 
56
- protected getApiTypeFromMuteLocalAudioStream(mute: boolean): string {
58
+ protected override getApiTypeFromMuteLocalAudioStream(mute: boolean): string {
57
59
  return 'LocalSpatialAudioEngine_muteLocalAudioStream';
58
60
  }
59
61
 
60
- protected getApiTypeFromMuteAllRemoteAudioStreams(mute: boolean): string {
62
+ protected override getApiTypeFromMuteAllRemoteAudioStreams(
63
+ mute: boolean
64
+ ): string {
61
65
  return 'LocalSpatialAudioEngine_muteAllRemoteAudioStreams';
62
66
  }
63
67
 
64
- protected getApiTypeFromSetZones(
68
+ protected override getApiTypeFromSetZones(
65
69
  zones: SpatialAudioZone[],
66
70
  zoneCount: number
67
71
  ): string {
68
72
  return 'LocalSpatialAudioEngine_setZones';
69
73
  }
70
74
 
71
- protected getApiTypeFromSetPlayerAttenuation(
75
+ protected override getApiTypeFromSetPlayerAttenuation(
72
76
  playerId: number,
73
77
  attenuation: number,
74
78
  forceSet: boolean
@@ -76,7 +80,7 @@ export class LocalSpatialAudioEngineInternal extends ILocalSpatialAudioEngineImp
76
80
  return 'LocalSpatialAudioEngine_setPlayerAttenuation';
77
81
  }
78
82
 
79
- protected getApiTypeFromMuteRemoteAudioStream(
83
+ protected override getApiTypeFromMuteRemoteAudioStream(
80
84
  uid: number,
81
85
  mute: boolean
82
86
  ): string {
@@ -19,7 +19,7 @@ import AgoraMediaBaseTI from '../ti/AgoraMediaBase-ti';
19
19
  const checkers = createCheckers(AgoraMediaBaseTI);
20
20
 
21
21
  import { DeviceEventEmitter, EVENT_TYPE } from './IrisApiEngine';
22
- import { EmitterSubscription } from './emitter/EventEmitter';
22
+ import type { EmitterSubscription } from './emitter/EventEmitter';
23
23
 
24
24
  export class MediaEngineInternal extends IMediaEngineImpl {
25
25
  static _audio_frame_observers: IAudioFrameObserver[] = [];
@@ -39,7 +39,7 @@ export class MediaEngineInternal extends IMediaEngineImpl {
39
39
  }
40
40
  >();
41
41
 
42
- registerAudioFrameObserver(observer: IAudioFrameObserver): number {
42
+ override registerAudioFrameObserver(observer: IAudioFrameObserver): number {
43
43
  if (
44
44
  !MediaEngineInternal._audio_frame_observers.find(
45
45
  (value) => value === observer
@@ -50,7 +50,7 @@ export class MediaEngineInternal extends IMediaEngineImpl {
50
50
  return super.registerAudioFrameObserver(observer);
51
51
  }
52
52
 
53
- unregisterAudioFrameObserver(observer: IAudioFrameObserver): number {
53
+ override unregisterAudioFrameObserver(observer: IAudioFrameObserver): number {
54
54
  MediaEngineInternal._audio_frame_observers =
55
55
  MediaEngineInternal._audio_frame_observers.filter(
56
56
  (value) => value !== observer
@@ -58,7 +58,7 @@ export class MediaEngineInternal extends IMediaEngineImpl {
58
58
  return super.unregisterAudioFrameObserver(observer);
59
59
  }
60
60
 
61
- registerVideoFrameObserver(observer: IVideoFrameObserver): number {
61
+ override registerVideoFrameObserver(observer: IVideoFrameObserver): number {
62
62
  if (
63
63
  !MediaEngineInternal._video_frame_observers.find(
64
64
  (value) => value === observer
@@ -69,7 +69,7 @@ export class MediaEngineInternal extends IMediaEngineImpl {
69
69
  return super.registerVideoFrameObserver(observer);
70
70
  }
71
71
 
72
- unregisterVideoFrameObserver(observer: IVideoFrameObserver): number {
72
+ override unregisterVideoFrameObserver(observer: IVideoFrameObserver): number {
73
73
  MediaEngineInternal._video_frame_observers =
74
74
  MediaEngineInternal._video_frame_observers.filter(
75
75
  (value) => value !== observer
@@ -77,7 +77,7 @@ export class MediaEngineInternal extends IMediaEngineImpl {
77
77
  return super.unregisterVideoFrameObserver(observer);
78
78
  }
79
79
 
80
- registerVideoEncodedFrameObserver(
80
+ override registerVideoEncodedFrameObserver(
81
81
  observer: IVideoEncodedFrameObserver
82
82
  ): number {
83
83
  if (
@@ -90,7 +90,7 @@ export class MediaEngineInternal extends IMediaEngineImpl {
90
90
  return super.registerVideoEncodedFrameObserver(observer);
91
91
  }
92
92
 
93
- unregisterVideoEncodedFrameObserver(
93
+ override unregisterVideoEncodedFrameObserver(
94
94
  observer: IVideoEncodedFrameObserver
95
95
  ): number {
96
96
  MediaEngineInternal._video_encoded_frame_observers =
@@ -100,7 +100,7 @@ export class MediaEngineInternal extends IMediaEngineImpl {
100
100
  return super.unregisterVideoEncodedFrameObserver(observer);
101
101
  }
102
102
 
103
- release() {
103
+ override release() {
104
104
  MediaEngineInternal._audio_frame_observers = [];
105
105
  MediaEngineInternal._video_frame_observers = [];
106
106
  MediaEngineInternal._video_encoded_frame_observers = [];
@@ -168,9 +168,7 @@ export class MediaEngineInternal extends IMediaEngineImpl {
168
168
  listener: IMediaEngineEvent[EventType]
169
169
  ) {
170
170
  if (!this._events.has(listener)) return;
171
- DeviceEventEmitter.removeSubscription(
172
- this._events.get(listener)!.subscription
173
- );
171
+ this._events.get(listener)!.subscription.remove();
174
172
  this._events.delete(listener);
175
173
  }
176
174
 
@@ -2,20 +2,24 @@ import { createCheckers } from 'ts-interface-checker';
2
2
 
3
3
  import { AgoraEnv, logWarn } from '../../Utils';
4
4
 
5
- import { ErrorCodeType, VideoSourceType } from '../AgoraBase';
6
- import { IAudioSpectrumObserver, RenderModeType } from '../AgoraMediaBase';
5
+ import { ErrorCodeType } from '../AgoraBase';
7
6
  import {
8
- IMediaPlayerAudioFrameObserver,
9
- IMediaPlayerVideoFrameObserver,
10
- } from '../IAgoraMediaPlayer';
7
+ IAudioPcmFrameSink,
8
+ IAudioSpectrumObserver,
9
+ RawAudioFrameOpModeType,
10
+ RenderModeType,
11
+ VideoSourceType,
12
+ } from '../AgoraMediaBase';
13
+ import { IMediaPlayerVideoFrameObserver } from '../IAgoraMediaPlayer';
11
14
  import { IMediaPlayerSourceObserver } from '../IAgoraMediaPlayerSource';
12
-
13
15
  import { IMediaPlayerEvent } from '../extension/IAgoraMediaPlayerExtension';
14
16
 
15
- import { processIAudioSpectrumObserver } from '../impl/AgoraMediaBaseImpl';
17
+ import {
18
+ processIAudioPcmFrameSink,
19
+ processIAudioSpectrumObserver,
20
+ } from '../impl/AgoraMediaBaseImpl';
16
21
  import {
17
22
  IMediaPlayerImpl,
18
- processIMediaPlayerAudioFrameObserver,
19
23
  processIMediaPlayerVideoFrameObserver,
20
24
  } from '../impl/IAgoraMediaPlayerImpl';
21
25
  import { processIMediaPlayerSourceObserver } from '../impl/IAgoraMediaPlayerSourceImpl';
@@ -30,15 +34,17 @@ const checkers = createCheckers(
30
34
  );
31
35
 
32
36
  import { DeviceEventEmitter, EVENT_TYPE } from './IrisApiEngine';
33
- import { EmitterSubscription } from './emitter/EventEmitter';
37
+ import type { EmitterSubscription } from './emitter/EventEmitter';
34
38
 
35
39
  export class MediaPlayerInternal extends IMediaPlayerImpl {
36
40
  static _source_observers: Map<number, IMediaPlayerSourceObserver[]> = new Map<
37
41
  number,
38
42
  IMediaPlayerSourceObserver[]
39
43
  >();
40
- static _audio_frame_observers: Map<number, IMediaPlayerAudioFrameObserver[]> =
41
- new Map<number, IMediaPlayerAudioFrameObserver[]>();
44
+ static _audio_frame_observers: Map<number, IAudioPcmFrameSink[]> = new Map<
45
+ number,
46
+ IAudioPcmFrameSink[]
47
+ >();
42
48
  static _video_frame_observers: Map<number, IMediaPlayerVideoFrameObserver[]> =
43
49
  new Map<number, IMediaPlayerVideoFrameObserver[]>();
44
50
  static _audio_spectrum_observers: Map<number, IAudioSpectrumObserver[]> =
@@ -143,7 +149,7 @@ export class MediaPlayerInternal extends IMediaPlayerImpl {
143
149
  eventType,
144
150
  data[1]
145
151
  );
146
- processIMediaPlayerAudioFrameObserver(
152
+ processIAudioPcmFrameSink(
147
153
  { [eventType]: listener },
148
154
  eventType,
149
155
  data[1]
@@ -170,9 +176,7 @@ export class MediaPlayerInternal extends IMediaPlayerImpl {
170
176
  listener: IMediaPlayerEvent[EventType]
171
177
  ) {
172
178
  if (!this._events.has(listener)) return;
173
- DeviceEventEmitter.removeSubscription(
174
- this._events.get(listener)!.subscription
175
- );
179
+ this._events.get(listener)!.subscription.remove();
176
180
  this._events.delete(listener);
177
181
  }
178
182
 
@@ -194,11 +198,13 @@ export class MediaPlayerInternal extends IMediaPlayerImpl {
194
198
  }
195
199
  }
196
200
 
197
- getMediaPlayerId(): number {
201
+ override getMediaPlayerId(): number {
198
202
  return this._mediaPlayerId;
199
203
  }
200
204
 
201
- registerPlayerSourceObserver(observer: IMediaPlayerSourceObserver): number {
205
+ override registerPlayerSourceObserver(
206
+ observer: IMediaPlayerSourceObserver
207
+ ): number {
202
208
  let observers = MediaPlayerInternal._source_observers.get(
203
209
  this._mediaPlayerId
204
210
  );
@@ -212,7 +218,9 @@ export class MediaPlayerInternal extends IMediaPlayerImpl {
212
218
  return super.registerPlayerSourceObserver(observer);
213
219
  }
214
220
 
215
- unregisterPlayerSourceObserver(observer: IMediaPlayerSourceObserver): number {
221
+ override unregisterPlayerSourceObserver(
222
+ observer: IMediaPlayerSourceObserver
223
+ ): number {
216
224
  let observers = MediaPlayerInternal._source_observers.get(
217
225
  this._mediaPlayerId
218
226
  );
@@ -224,7 +232,10 @@ export class MediaPlayerInternal extends IMediaPlayerImpl {
224
232
  return super.unregisterPlayerSourceObserver(observer);
225
233
  }
226
234
 
227
- registerAudioFrameObserver(observer: IMediaPlayerAudioFrameObserver): number {
235
+ override registerAudioFrameObserver(
236
+ observer: IAudioPcmFrameSink,
237
+ mode: RawAudioFrameOpModeType = RawAudioFrameOpModeType.RawAudioFrameOpModeReadOnly
238
+ ): number {
228
239
  let observers = MediaPlayerInternal._audio_frame_observers.get(
229
240
  this._mediaPlayerId
230
241
  );
@@ -238,12 +249,10 @@ export class MediaPlayerInternal extends IMediaPlayerImpl {
238
249
  if (!observers.find((value) => value === observer)) {
239
250
  observers.push(observer);
240
251
  }
241
- return super.registerAudioFrameObserver(observer);
252
+ return super.registerAudioFrameObserver(observer, mode);
242
253
  }
243
254
 
244
- unregisterAudioFrameObserver(
245
- observer: IMediaPlayerAudioFrameObserver
246
- ): number {
255
+ override unregisterAudioFrameObserver(observer: IAudioPcmFrameSink): number {
247
256
  let observers = MediaPlayerInternal._audio_frame_observers.get(
248
257
  this._mediaPlayerId
249
258
  );
@@ -255,7 +264,9 @@ export class MediaPlayerInternal extends IMediaPlayerImpl {
255
264
  return super.unregisterAudioFrameObserver(observer);
256
265
  }
257
266
 
258
- registerVideoFrameObserver(observer: IMediaPlayerVideoFrameObserver): number {
267
+ override registerVideoFrameObserver(
268
+ observer: IMediaPlayerVideoFrameObserver
269
+ ): number {
259
270
  let observers = MediaPlayerInternal._video_frame_observers.get(
260
271
  this._mediaPlayerId
261
272
  );
@@ -272,7 +283,7 @@ export class MediaPlayerInternal extends IMediaPlayerImpl {
272
283
  return super.registerVideoFrameObserver(observer);
273
284
  }
274
285
 
275
- unregisterVideoFrameObserver(
286
+ override unregisterVideoFrameObserver(
276
287
  observer: IMediaPlayerVideoFrameObserver
277
288
  ): number {
278
289
  let observers = MediaPlayerInternal._video_frame_observers.get(
@@ -286,7 +297,7 @@ export class MediaPlayerInternal extends IMediaPlayerImpl {
286
297
  return super.unregisterVideoFrameObserver(observer);
287
298
  }
288
299
 
289
- registerMediaPlayerAudioSpectrumObserver(
300
+ override registerMediaPlayerAudioSpectrumObserver(
290
301
  observer: IAudioSpectrumObserver,
291
302
  intervalInMS: number
292
303
  ): number {
@@ -309,7 +320,7 @@ export class MediaPlayerInternal extends IMediaPlayerImpl {
309
320
  );
310
321
  }
311
322
 
312
- unregisterMediaPlayerAudioSpectrumObserver(
323
+ override unregisterMediaPlayerAudioSpectrumObserver(
313
324
  observer: IAudioSpectrumObserver
314
325
  ): number {
315
326
  let observers = MediaPlayerInternal._audio_spectrum_observers.get(
@@ -323,21 +334,21 @@ export class MediaPlayerInternal extends IMediaPlayerImpl {
323
334
  return super.unregisterMediaPlayerAudioSpectrumObserver(observer);
324
335
  }
325
336
 
326
- protected getApiTypeFromSetPlayerOptionInInt(
337
+ protected override getApiTypeFromSetPlayerOptionInInt(
327
338
  key: string,
328
339
  value: number
329
340
  ): string {
330
341
  return 'MediaPlayer_setPlayerOption';
331
342
  }
332
343
 
333
- protected getApiTypeFromSetPlayerOptionInString(
344
+ protected override getApiTypeFromSetPlayerOptionInString(
334
345
  key: string,
335
346
  value: string
336
347
  ): string {
337
348
  return 'MediaPlayer_setPlayerOption2';
338
349
  }
339
350
 
340
- setView(view: HTMLElement): number {
351
+ override setView(view: HTMLElement): number {
341
352
  logWarn('Also can use other api setupLocalVideo');
342
353
  return (
343
354
  AgoraEnv.AgoraRendererManager?.setupVideo({
@@ -348,7 +359,7 @@ export class MediaPlayerInternal extends IMediaPlayerImpl {
348
359
  );
349
360
  }
350
361
 
351
- setRenderMode(renderMode: RenderModeType): number {
362
+ override setRenderMode(renderMode: RenderModeType): number {
352
363
  logWarn(
353
364
  'Also can use other api setRenderOption or setRenderOptionByConfig'
354
365
  );