agora-electron-sdk 4.5.2 → 4.5.3-dev.2

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 (411) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +6 -3
  3. package/js/example/src/renderer/examples/advanced/VideoEffect/videoEffectHelpers.js +395 -0
  4. package/js/{AgoraSdk.js → ts/AgoraSdk.js} +2 -12
  5. package/js/{Decoder → ts/Decoder}/index.js +1 -1
  6. package/js/{Private → ts/Private}/AgoraBase.js +829 -674
  7. package/js/{Private → ts/Private}/AgoraMediaBase.js +154 -151
  8. package/js/{Private → ts/Private}/AgoraMediaPlayerTypes.js +58 -54
  9. package/js/{Private → ts/Private}/IAgoraLog.js +13 -13
  10. package/js/{Private → ts/Private}/IAgoraMediaEngine.js +4 -4
  11. package/js/{Private → ts/Private}/IAgoraMediaPlayer.js +2 -2
  12. package/js/{Private → ts/Private}/IAgoraMusicContentCenter.js +1 -1
  13. package/js/{Private → ts/Private}/IAgoraRhythmPlayer.js +13 -13
  14. package/js/{Private → ts/Private}/IAgoraRtcEngine.js +150 -94
  15. package/js/{Private → ts/Private}/IAgoraRtcEngineEx.js +3 -3
  16. package/js/{Private → ts/Private}/IAgoraSpatialAudio.js +4 -4
  17. package/js/{Private → ts/Private}/IAudioDeviceManager.js +2 -2
  18. package/js/{Private → ts/Private}/impl/IAgoraMediaPlayerImpl.js +10 -0
  19. package/js/{Private → ts/Private}/impl/IAgoraRtcEngineExImpl.js +74 -0
  20. package/js/{Private → ts/Private}/impl/IAgoraRtcEngineImpl.js +233 -1
  21. package/js/{Private → ts/Private}/internal/IrisApiEngine.js +45 -0
  22. package/js/{Private → ts/Private}/internal/RtcEngineExInternal.js +74 -4
  23. package/js/ts/Private/internal/VideoEffectObjectInternal.js +14 -0
  24. package/js/{Private → ts/Private}/ti/IAgoraRtcEngine-ti.js +2 -0
  25. package/js/{Renderer → ts/Renderer}/AgoraView.js +19 -2
  26. package/js/{Renderer → ts/Renderer}/IRenderer.js +7 -4
  27. package/js/{Renderer → ts/Renderer}/IRendererCache.js +17 -1
  28. package/js/ts/Renderer/RendererCache.js +252 -0
  29. package/js/{Renderer → ts/Renderer}/RendererManager.js +13 -64
  30. package/js/{Renderer → ts/Renderer}/WebCodecsRenderer/index.js +5 -5
  31. package/js/{Renderer → ts/Renderer}/WebCodecsRendererCache.js +13 -1
  32. package/js/{Renderer → ts/Renderer}/WebGLRenderer/index.js +179 -26
  33. package/js/{Renderer → ts/Renderer}/YUVCanvasRenderer/index.js +12 -5
  34. package/js/{Utils.js → ts/Utils.js} +7 -7
  35. package/package.json +25 -12
  36. package/scripts/checkElectron.js +4 -2
  37. package/scripts/download.js +102 -0
  38. package/scripts/downloadPrebuild.js +2 -1
  39. package/scripts/synclib.js +2 -2
  40. package/ts/AgoraSdk.ts +2 -12
  41. package/ts/Decoder/index.ts +5 -1
  42. package/ts/Private/AgoraBase.ts +1259 -1060
  43. package/ts/Private/AgoraMediaBase.ts +351 -324
  44. package/ts/Private/AgoraMediaPlayerTypes.ts +94 -91
  45. package/ts/Private/IAgoraLog.ts +20 -18
  46. package/ts/Private/IAgoraMediaEngine.ts +86 -81
  47. package/ts/Private/IAgoraMediaPlayer.ts +196 -181
  48. package/ts/Private/IAgoraMediaPlayerSource.ts +40 -40
  49. package/ts/Private/IAgoraMusicContentCenter.ts +3 -3
  50. package/ts/Private/IAgoraRhythmPlayer.ts +15 -15
  51. package/ts/Private/IAgoraRtcEngine.ts +2492 -2047
  52. package/ts/Private/IAgoraRtcEngineEx.ts +434 -335
  53. package/ts/Private/IAgoraSpatialAudio.ts +43 -45
  54. package/ts/Private/IAudioDeviceManager.ts +106 -97
  55. package/ts/Private/impl/IAgoraMediaPlayerImpl.ts +12 -0
  56. package/ts/Private/impl/IAgoraRtcEngineExImpl.ts +138 -0
  57. package/ts/Private/impl/IAgoraRtcEngineImpl.ts +331 -0
  58. package/ts/Private/internal/IrisApiEngine.ts +47 -0
  59. package/ts/Private/internal/RtcEngineExInternal.ts +106 -9
  60. package/ts/Private/internal/VideoEffectObjectInternal.ts +14 -0
  61. package/ts/Private/ti/IAgoraRtcEngine-ti.ts +2 -0
  62. package/ts/Renderer/AgoraView.ts +32 -3
  63. package/ts/Renderer/IRenderer.ts +8 -3
  64. package/ts/Renderer/IRendererCache.ts +33 -0
  65. package/ts/Renderer/RendererCache.ts +211 -12
  66. package/ts/Renderer/RendererManager.ts +21 -99
  67. package/ts/Renderer/WebCodecsRenderer/index.ts +9 -6
  68. package/ts/Renderer/WebCodecsRendererCache.ts +17 -1
  69. package/ts/Renderer/WebGLRenderer/index.ts +246 -40
  70. package/ts/Renderer/YUVCanvasRenderer/index.ts +29 -16
  71. package/ts/Types.ts +14 -9
  72. package/ts/Utils.ts +8 -7
  73. package/types/example/src/renderer/examples/advanced/VideoEffect/videoEffectHelpers.d.ts +168 -0
  74. package/types/example/src/renderer/examples/advanced/VideoEffect/videoEffectHelpers.d.ts.map +1 -0
  75. package/types/{AgoraSdk.d.ts → ts/AgoraSdk.d.ts} +2 -12
  76. package/types/ts/AgoraSdk.d.ts.map +1 -0
  77. package/types/ts/Decoder/gpu-utils.d.ts.map +1 -0
  78. package/types/ts/Decoder/index.d.ts.map +1 -0
  79. package/types/ts/Private/AgoraBase.d.ts +5504 -0
  80. package/types/ts/Private/AgoraBase.d.ts.map +1 -0
  81. package/types/ts/Private/AgoraMediaBase.d.ts +1695 -0
  82. package/types/ts/Private/AgoraMediaBase.d.ts.map +1 -0
  83. package/types/ts/Private/AgoraMediaPlayerTypes.d.ts +456 -0
  84. package/types/ts/Private/AgoraMediaPlayerTypes.d.ts.map +1 -0
  85. package/types/ts/Private/IAgoraH265Transcoder.d.ts.map +1 -0
  86. package/types/ts/Private/IAgoraLog.d.ts +91 -0
  87. package/types/ts/Private/IAgoraLog.d.ts.map +1 -0
  88. package/types/ts/Private/IAgoraMediaEngine.d.ts +255 -0
  89. package/types/ts/Private/IAgoraMediaEngine.d.ts.map +1 -0
  90. package/types/ts/Private/IAgoraMediaPlayer.d.ts +662 -0
  91. package/types/ts/Private/IAgoraMediaPlayer.d.ts.map +1 -0
  92. package/types/ts/Private/IAgoraMediaPlayerSource.d.ts +109 -0
  93. package/types/ts/Private/IAgoraMediaPlayerSource.d.ts.map +1 -0
  94. package/types/ts/Private/IAgoraMediaRecorder.d.ts.map +1 -0
  95. package/types/ts/Private/IAgoraMediaStreamingSource.d.ts.map +1 -0
  96. package/types/{Private → ts/Private}/IAgoraMusicContentCenter.d.ts +3 -3
  97. package/types/ts/Private/IAgoraMusicContentCenter.d.ts.map +1 -0
  98. package/types/ts/Private/IAgoraRhythmPlayer.d.ts +65 -0
  99. package/types/ts/Private/IAgoraRhythmPlayer.d.ts.map +1 -0
  100. package/types/ts/Private/IAgoraRtcEngine.d.ts +6504 -0
  101. package/types/ts/Private/IAgoraRtcEngine.d.ts.map +1 -0
  102. package/types/ts/Private/IAgoraRtcEngineEx.d.ts +817 -0
  103. package/types/ts/Private/IAgoraRtcEngineEx.d.ts.map +1 -0
  104. package/types/ts/Private/IAgoraSpatialAudio.d.ts +194 -0
  105. package/types/ts/Private/IAgoraSpatialAudio.d.ts.map +1 -0
  106. package/types/ts/Private/IAudioDeviceManager.d.ts +321 -0
  107. package/types/ts/Private/IAudioDeviceManager.d.ts.map +1 -0
  108. package/types/ts/Private/extension/AgoraBaseExtension.d.ts.map +1 -0
  109. package/types/ts/Private/extension/AgoraMediaBaseExtension.d.ts.map +1 -0
  110. package/types/ts/Private/extension/AgoraMediaPlayerTypesExtension.d.ts.map +1 -0
  111. package/types/ts/Private/extension/IAgoraH265TranscoderExtension.d.ts.map +1 -0
  112. package/types/ts/Private/extension/IAgoraLogExtension.d.ts.map +1 -0
  113. package/types/ts/Private/extension/IAgoraMediaEngineExtension.d.ts.map +1 -0
  114. package/types/ts/Private/extension/IAgoraMediaPlayerExtension.d.ts.map +1 -0
  115. package/types/ts/Private/extension/IAgoraMediaPlayerSourceExtension.d.ts.map +1 -0
  116. package/types/ts/Private/extension/IAgoraMediaRecorderExtension.d.ts.map +1 -0
  117. package/types/ts/Private/extension/IAgoraMusicContentCenterExtension.d.ts.map +1 -0
  118. package/types/ts/Private/extension/IAgoraRhythmPlayerExtension.d.ts.map +1 -0
  119. package/types/ts/Private/extension/IAgoraRtcEngineExExtension.d.ts.map +1 -0
  120. package/types/ts/Private/extension/IAgoraRtcEngineExtension.d.ts.map +1 -0
  121. package/types/ts/Private/extension/IAgoraSpatialAudioExtension.d.ts.map +1 -0
  122. package/types/ts/Private/extension/IAudioDeviceManagerExtension.d.ts.map +1 -0
  123. package/types/ts/Private/impl/AgoraBaseImpl.d.ts.map +1 -0
  124. package/types/ts/Private/impl/AgoraMediaBaseImpl.d.ts.map +1 -0
  125. package/types/ts/Private/impl/IAgoraH265TranscoderImpl.d.ts.map +1 -0
  126. package/types/ts/Private/impl/IAgoraMediaEngineImpl.d.ts.map +1 -0
  127. package/types/{Private → ts/Private}/impl/IAgoraMediaPlayerImpl.d.ts +2 -0
  128. package/types/ts/Private/impl/IAgoraMediaPlayerImpl.d.ts.map +1 -0
  129. package/types/ts/Private/impl/IAgoraMediaPlayerSourceImpl.d.ts.map +1 -0
  130. package/types/ts/Private/impl/IAgoraMediaRecorderImpl.d.ts.map +1 -0
  131. package/types/ts/Private/impl/IAgoraMusicContentCenterImpl.d.ts.map +1 -0
  132. package/types/{Private → ts/Private}/impl/IAgoraRtcEngineExImpl.d.ts +7 -1
  133. package/types/ts/Private/impl/IAgoraRtcEngineExImpl.d.ts.map +1 -0
  134. package/types/{Private → ts/Private}/impl/IAgoraRtcEngineImpl.d.ts +27 -1
  135. package/types/ts/Private/impl/IAgoraRtcEngineImpl.d.ts.map +1 -0
  136. package/types/ts/Private/impl/IAgoraSpatialAudioImpl.d.ts.map +1 -0
  137. package/types/ts/Private/impl/IAudioDeviceManagerImpl.d.ts.map +1 -0
  138. package/types/ts/Private/internal/AgoraH265TranscoderInternal.d.ts.map +1 -0
  139. package/types/ts/Private/internal/AgoraMediaBaseInternal.d.ts.map +1 -0
  140. package/types/ts/Private/internal/AudioDeviceManagerInternal.d.ts.map +1 -0
  141. package/types/ts/Private/internal/IrisApiEngine.d.ts.map +1 -0
  142. package/types/ts/Private/internal/LocalSpatialAudioEngineInternal.d.ts.map +1 -0
  143. package/types/ts/Private/internal/MediaEngineInternal.d.ts.map +1 -0
  144. package/types/ts/Private/internal/MediaPlayerInternal.d.ts.map +1 -0
  145. package/types/ts/Private/internal/MediaRecorderInternal.d.ts.map +1 -0
  146. package/types/ts/Private/internal/MusicContentCenterInternal.d.ts.map +1 -0
  147. package/types/{Private → ts/Private}/internal/RtcEngineExInternal.d.ts +10 -4
  148. package/types/ts/Private/internal/RtcEngineExInternal.d.ts.map +1 -0
  149. package/types/ts/Private/internal/VideoEffectObjectInternal.d.ts +7 -0
  150. package/types/ts/Private/internal/VideoEffectObjectInternal.d.ts.map +1 -0
  151. package/types/{Private → ts/Private}/ipc/main.d.ts.map +1 -1
  152. package/types/ts/Private/ipc/renderer.d.ts.map +1 -0
  153. package/types/ts/Private/ti/AgoraBase-ti.d.ts.map +1 -0
  154. package/types/ts/Private/ti/AgoraMediaBase-ti.d.ts.map +1 -0
  155. package/types/ts/Private/ti/AgoraMediaPlayerTypes-ti.d.ts.map +1 -0
  156. package/types/ts/Private/ti/IAgoraH265Transcoder-ti.d.ts.map +1 -0
  157. package/types/ts/Private/ti/IAgoraLog-ti.d.ts.map +1 -0
  158. package/types/ts/Private/ti/IAgoraMediaEngine-ti.d.ts.map +1 -0
  159. package/types/ts/Private/ti/IAgoraMediaPlayer-ti.d.ts.map +1 -0
  160. package/types/ts/Private/ti/IAgoraMediaPlayerSource-ti.d.ts.map +1 -0
  161. package/types/ts/Private/ti/IAgoraMediaRecorder-ti.d.ts.map +1 -0
  162. package/types/ts/Private/ti/IAgoraMediaStreamingSource-ti.d.ts.map +1 -0
  163. package/types/ts/Private/ti/IAgoraMusicContentCenter-ti.d.ts.map +1 -0
  164. package/types/ts/Private/ti/IAgoraRhythmPlayer-ti.d.ts.map +1 -0
  165. package/types/ts/Private/ti/IAgoraRtcEngine-ti.d.ts.map +1 -0
  166. package/types/ts/Private/ti/IAgoraRtcEngineEx-ti.d.ts.map +1 -0
  167. package/types/ts/Private/ti/IAgoraSpatialAudio-ti.d.ts.map +1 -0
  168. package/types/ts/Private/ti/IAudioDeviceManager-ti.d.ts.map +1 -0
  169. package/types/{Renderer → ts/Renderer}/AgoraView.d.ts +6 -0
  170. package/types/ts/Renderer/AgoraView.d.ts.map +1 -0
  171. package/types/ts/Renderer/CapabilityManager.d.ts.map +1 -0
  172. package/types/{Renderer → ts/Renderer}/IRenderer.d.ts +2 -2
  173. package/types/ts/Renderer/IRenderer.d.ts.map +1 -0
  174. package/types/{Renderer → ts/Renderer}/IRendererCache.d.ts +21 -1
  175. package/types/ts/Renderer/IRendererCache.d.ts.map +1 -0
  176. package/types/{Renderer → ts/Renderer}/RendererCache.d.ts +27 -0
  177. package/types/ts/Renderer/RendererCache.d.ts.map +1 -0
  178. package/types/{Renderer → ts/Renderer}/RendererManager.d.ts +4 -17
  179. package/types/ts/Renderer/RendererManager.d.ts.map +1 -0
  180. package/types/{Renderer → ts/Renderer}/WebCodecsRenderer/index.d.ts +3 -3
  181. package/types/ts/Renderer/WebCodecsRenderer/index.d.ts.map +1 -0
  182. package/types/{Renderer → ts/Renderer}/WebCodecsRendererCache.d.ts +7 -0
  183. package/types/ts/Renderer/WebCodecsRendererCache.d.ts.map +1 -0
  184. package/types/{Renderer → ts/Renderer}/WebGLRenderer/index.d.ts +12 -2
  185. package/types/ts/Renderer/WebGLRenderer/index.d.ts.map +1 -0
  186. package/types/ts/Renderer/WebGLRenderer/webgl-utils.d.ts.map +1 -0
  187. package/types/ts/Renderer/YUVCanvasRenderer/index.d.ts +10 -0
  188. package/types/ts/Renderer/YUVCanvasRenderer/index.d.ts.map +1 -0
  189. package/types/ts/Renderer/index.d.ts.map +1 -0
  190. package/types/{Types.d.ts → ts/Types.d.ts} +11 -6
  191. package/types/ts/Types.d.ts.map +1 -0
  192. package/types/{Utils.d.ts → ts/Utils.d.ts} +1 -1
  193. package/types/ts/Utils.d.ts.map +1 -0
  194. package/js/Renderer/RendererCache.js +0 -100
  195. package/types/AgoraSdk.d.ts.map +0 -1
  196. package/types/Decoder/gpu-utils.d.ts.map +0 -1
  197. package/types/Decoder/index.d.ts.map +0 -1
  198. package/types/Private/AgoraBase.d.ts +0 -5310
  199. package/types/Private/AgoraBase.d.ts.map +0 -1
  200. package/types/Private/AgoraMediaBase.d.ts +0 -1668
  201. package/types/Private/AgoraMediaBase.d.ts.map +0 -1
  202. package/types/Private/AgoraMediaPlayerTypes.d.ts +0 -453
  203. package/types/Private/AgoraMediaPlayerTypes.d.ts.map +0 -1
  204. package/types/Private/IAgoraH265Transcoder.d.ts.map +0 -1
  205. package/types/Private/IAgoraLog.d.ts +0 -89
  206. package/types/Private/IAgoraLog.d.ts.map +0 -1
  207. package/types/Private/IAgoraMediaEngine.d.ts +0 -250
  208. package/types/Private/IAgoraMediaEngine.d.ts.map +0 -1
  209. package/types/Private/IAgoraMediaPlayer.d.ts +0 -648
  210. package/types/Private/IAgoraMediaPlayer.d.ts.map +0 -1
  211. package/types/Private/IAgoraMediaPlayerSource.d.ts +0 -109
  212. package/types/Private/IAgoraMediaPlayerSource.d.ts.map +0 -1
  213. package/types/Private/IAgoraMediaRecorder.d.ts.map +0 -1
  214. package/types/Private/IAgoraMediaStreamingSource.d.ts.map +0 -1
  215. package/types/Private/IAgoraMusicContentCenter.d.ts.map +0 -1
  216. package/types/Private/IAgoraRhythmPlayer.d.ts +0 -65
  217. package/types/Private/IAgoraRhythmPlayer.d.ts.map +0 -1
  218. package/types/Private/IAgoraRtcEngine.d.ts +0 -6103
  219. package/types/Private/IAgoraRtcEngine.d.ts.map +0 -1
  220. package/types/Private/IAgoraRtcEngineEx.d.ts +0 -741
  221. package/types/Private/IAgoraRtcEngineEx.d.ts.map +0 -1
  222. package/types/Private/IAgoraSpatialAudio.d.ts +0 -196
  223. package/types/Private/IAgoraSpatialAudio.d.ts.map +0 -1
  224. package/types/Private/IAudioDeviceManager.d.ts +0 -312
  225. package/types/Private/IAudioDeviceManager.d.ts.map +0 -1
  226. package/types/Private/extension/AgoraBaseExtension.d.ts.map +0 -1
  227. package/types/Private/extension/AgoraMediaBaseExtension.d.ts.map +0 -1
  228. package/types/Private/extension/AgoraMediaPlayerTypesExtension.d.ts.map +0 -1
  229. package/types/Private/extension/IAgoraH265TranscoderExtension.d.ts.map +0 -1
  230. package/types/Private/extension/IAgoraLogExtension.d.ts.map +0 -1
  231. package/types/Private/extension/IAgoraMediaEngineExtension.d.ts.map +0 -1
  232. package/types/Private/extension/IAgoraMediaPlayerExtension.d.ts.map +0 -1
  233. package/types/Private/extension/IAgoraMediaPlayerSourceExtension.d.ts.map +0 -1
  234. package/types/Private/extension/IAgoraMediaRecorderExtension.d.ts.map +0 -1
  235. package/types/Private/extension/IAgoraMusicContentCenterExtension.d.ts.map +0 -1
  236. package/types/Private/extension/IAgoraRhythmPlayerExtension.d.ts.map +0 -1
  237. package/types/Private/extension/IAgoraRtcEngineExExtension.d.ts.map +0 -1
  238. package/types/Private/extension/IAgoraRtcEngineExtension.d.ts.map +0 -1
  239. package/types/Private/extension/IAgoraSpatialAudioExtension.d.ts.map +0 -1
  240. package/types/Private/extension/IAudioDeviceManagerExtension.d.ts.map +0 -1
  241. package/types/Private/impl/AgoraBaseImpl.d.ts.map +0 -1
  242. package/types/Private/impl/AgoraMediaBaseImpl.d.ts.map +0 -1
  243. package/types/Private/impl/IAgoraH265TranscoderImpl.d.ts.map +0 -1
  244. package/types/Private/impl/IAgoraMediaEngineImpl.d.ts.map +0 -1
  245. package/types/Private/impl/IAgoraMediaPlayerImpl.d.ts.map +0 -1
  246. package/types/Private/impl/IAgoraMediaPlayerSourceImpl.d.ts.map +0 -1
  247. package/types/Private/impl/IAgoraMediaRecorderImpl.d.ts.map +0 -1
  248. package/types/Private/impl/IAgoraMusicContentCenterImpl.d.ts.map +0 -1
  249. package/types/Private/impl/IAgoraRtcEngineExImpl.d.ts.map +0 -1
  250. package/types/Private/impl/IAgoraRtcEngineImpl.d.ts.map +0 -1
  251. package/types/Private/impl/IAgoraSpatialAudioImpl.d.ts.map +0 -1
  252. package/types/Private/impl/IAudioDeviceManagerImpl.d.ts.map +0 -1
  253. package/types/Private/internal/AgoraH265TranscoderInternal.d.ts.map +0 -1
  254. package/types/Private/internal/AgoraMediaBaseInternal.d.ts.map +0 -1
  255. package/types/Private/internal/AudioDeviceManagerInternal.d.ts.map +0 -1
  256. package/types/Private/internal/IrisApiEngine.d.ts.map +0 -1
  257. package/types/Private/internal/LocalSpatialAudioEngineInternal.d.ts.map +0 -1
  258. package/types/Private/internal/MediaEngineInternal.d.ts.map +0 -1
  259. package/types/Private/internal/MediaPlayerInternal.d.ts.map +0 -1
  260. package/types/Private/internal/MediaRecorderInternal.d.ts.map +0 -1
  261. package/types/Private/internal/MusicContentCenterInternal.d.ts.map +0 -1
  262. package/types/Private/internal/RtcEngineExInternal.d.ts.map +0 -1
  263. package/types/Private/ipc/renderer.d.ts.map +0 -1
  264. package/types/Private/ti/AgoraBase-ti.d.ts.map +0 -1
  265. package/types/Private/ti/AgoraMediaBase-ti.d.ts.map +0 -1
  266. package/types/Private/ti/AgoraMediaPlayerTypes-ti.d.ts.map +0 -1
  267. package/types/Private/ti/IAgoraH265Transcoder-ti.d.ts.map +0 -1
  268. package/types/Private/ti/IAgoraLog-ti.d.ts.map +0 -1
  269. package/types/Private/ti/IAgoraMediaEngine-ti.d.ts.map +0 -1
  270. package/types/Private/ti/IAgoraMediaPlayer-ti.d.ts.map +0 -1
  271. package/types/Private/ti/IAgoraMediaPlayerSource-ti.d.ts.map +0 -1
  272. package/types/Private/ti/IAgoraMediaRecorder-ti.d.ts.map +0 -1
  273. package/types/Private/ti/IAgoraMediaStreamingSource-ti.d.ts.map +0 -1
  274. package/types/Private/ti/IAgoraMusicContentCenter-ti.d.ts.map +0 -1
  275. package/types/Private/ti/IAgoraRhythmPlayer-ti.d.ts.map +0 -1
  276. package/types/Private/ti/IAgoraRtcEngine-ti.d.ts.map +0 -1
  277. package/types/Private/ti/IAgoraRtcEngineEx-ti.d.ts.map +0 -1
  278. package/types/Private/ti/IAgoraSpatialAudio-ti.d.ts.map +0 -1
  279. package/types/Private/ti/IAudioDeviceManager-ti.d.ts.map +0 -1
  280. package/types/Renderer/AgoraView.d.ts.map +0 -1
  281. package/types/Renderer/CapabilityManager.d.ts.map +0 -1
  282. package/types/Renderer/IRenderer.d.ts.map +0 -1
  283. package/types/Renderer/IRendererCache.d.ts.map +0 -1
  284. package/types/Renderer/RendererCache.d.ts.map +0 -1
  285. package/types/Renderer/RendererManager.d.ts.map +0 -1
  286. package/types/Renderer/WebCodecsRenderer/index.d.ts.map +0 -1
  287. package/types/Renderer/WebCodecsRendererCache.d.ts.map +0 -1
  288. package/types/Renderer/WebGLRenderer/index.d.ts.map +0 -1
  289. package/types/Renderer/WebGLRenderer/webgl-utils.d.ts.map +0 -1
  290. package/types/Renderer/YUVCanvasRenderer/index.d.ts +0 -9
  291. package/types/Renderer/YUVCanvasRenderer/index.d.ts.map +0 -1
  292. package/types/Renderer/index.d.ts.map +0 -1
  293. package/types/Types.d.ts.map +0 -1
  294. package/types/Utils.d.ts.map +0 -1
  295. /package/js/{Decoder → ts/Decoder}/gpu-utils.js +0 -0
  296. /package/js/{Private → ts/Private}/IAgoraH265Transcoder.js +0 -0
  297. /package/js/{Private → ts/Private}/IAgoraMediaPlayerSource.js +0 -0
  298. /package/js/{Private → ts/Private}/IAgoraMediaRecorder.js +0 -0
  299. /package/js/{Private → ts/Private}/IAgoraMediaStreamingSource.js +0 -0
  300. /package/js/{Private → ts/Private}/extension/AgoraBaseExtension.js +0 -0
  301. /package/js/{Private → ts/Private}/extension/AgoraMediaBaseExtension.js +0 -0
  302. /package/js/{Private → ts/Private}/extension/AgoraMediaPlayerTypesExtension.js +0 -0
  303. /package/js/{Private → ts/Private}/extension/IAgoraH265TranscoderExtension.js +0 -0
  304. /package/js/{Private → ts/Private}/extension/IAgoraLogExtension.js +0 -0
  305. /package/js/{Private → ts/Private}/extension/IAgoraMediaEngineExtension.js +0 -0
  306. /package/js/{Private → ts/Private}/extension/IAgoraMediaPlayerExtension.js +0 -0
  307. /package/js/{Private → ts/Private}/extension/IAgoraMediaPlayerSourceExtension.js +0 -0
  308. /package/js/{Private → ts/Private}/extension/IAgoraMediaRecorderExtension.js +0 -0
  309. /package/js/{Private → ts/Private}/extension/IAgoraMusicContentCenterExtension.js +0 -0
  310. /package/js/{Private → ts/Private}/extension/IAgoraRhythmPlayerExtension.js +0 -0
  311. /package/js/{Private → ts/Private}/extension/IAgoraRtcEngineExExtension.js +0 -0
  312. /package/js/{Private → ts/Private}/extension/IAgoraRtcEngineExtension.js +0 -0
  313. /package/js/{Private → ts/Private}/extension/IAgoraSpatialAudioExtension.js +0 -0
  314. /package/js/{Private → ts/Private}/extension/IAudioDeviceManagerExtension.js +0 -0
  315. /package/js/{Private → ts/Private}/impl/AgoraBaseImpl.js +0 -0
  316. /package/js/{Private → ts/Private}/impl/AgoraMediaBaseImpl.js +0 -0
  317. /package/js/{Private → ts/Private}/impl/IAgoraH265TranscoderImpl.js +0 -0
  318. /package/js/{Private → ts/Private}/impl/IAgoraMediaEngineImpl.js +0 -0
  319. /package/js/{Private → ts/Private}/impl/IAgoraMediaPlayerSourceImpl.js +0 -0
  320. /package/js/{Private → ts/Private}/impl/IAgoraMediaRecorderImpl.js +0 -0
  321. /package/js/{Private → ts/Private}/impl/IAgoraMusicContentCenterImpl.js +0 -0
  322. /package/js/{Private → ts/Private}/impl/IAgoraSpatialAudioImpl.js +0 -0
  323. /package/js/{Private → ts/Private}/impl/IAudioDeviceManagerImpl.js +0 -0
  324. /package/js/{Private → ts/Private}/internal/AgoraH265TranscoderInternal.js +0 -0
  325. /package/js/{Private → ts/Private}/internal/AgoraMediaBaseInternal.js +0 -0
  326. /package/js/{Private → ts/Private}/internal/AudioDeviceManagerInternal.js +0 -0
  327. /package/js/{Private → ts/Private}/internal/LocalSpatialAudioEngineInternal.js +0 -0
  328. /package/js/{Private → ts/Private}/internal/MediaEngineInternal.js +0 -0
  329. /package/js/{Private → ts/Private}/internal/MediaPlayerInternal.js +0 -0
  330. /package/js/{Private → ts/Private}/internal/MediaRecorderInternal.js +0 -0
  331. /package/js/{Private → ts/Private}/internal/MusicContentCenterInternal.js +0 -0
  332. /package/js/{Private → ts/Private}/ipc/main.js +0 -0
  333. /package/js/{Private → ts/Private}/ipc/renderer.js +0 -0
  334. /package/js/{Private → ts/Private}/ti/AgoraBase-ti.js +0 -0
  335. /package/js/{Private → ts/Private}/ti/AgoraMediaBase-ti.js +0 -0
  336. /package/js/{Private → ts/Private}/ti/AgoraMediaPlayerTypes-ti.js +0 -0
  337. /package/js/{Private → ts/Private}/ti/IAgoraH265Transcoder-ti.js +0 -0
  338. /package/js/{Private → ts/Private}/ti/IAgoraLog-ti.js +0 -0
  339. /package/js/{Private → ts/Private}/ti/IAgoraMediaEngine-ti.js +0 -0
  340. /package/js/{Private → ts/Private}/ti/IAgoraMediaPlayer-ti.js +0 -0
  341. /package/js/{Private → ts/Private}/ti/IAgoraMediaPlayerSource-ti.js +0 -0
  342. /package/js/{Private → ts/Private}/ti/IAgoraMediaRecorder-ti.js +0 -0
  343. /package/js/{Private → ts/Private}/ti/IAgoraMediaStreamingSource-ti.js +0 -0
  344. /package/js/{Private → ts/Private}/ti/IAgoraMusicContentCenter-ti.js +0 -0
  345. /package/js/{Private → ts/Private}/ti/IAgoraRhythmPlayer-ti.js +0 -0
  346. /package/js/{Private → ts/Private}/ti/IAgoraRtcEngineEx-ti.js +0 -0
  347. /package/js/{Private → ts/Private}/ti/IAgoraSpatialAudio-ti.js +0 -0
  348. /package/js/{Private → ts/Private}/ti/IAudioDeviceManager-ti.js +0 -0
  349. /package/js/{Renderer → ts/Renderer}/CapabilityManager.js +0 -0
  350. /package/js/{Renderer → ts/Renderer}/WebGLRenderer/webgl-utils.js +0 -0
  351. /package/js/{Renderer → ts/Renderer}/index.js +0 -0
  352. /package/js/{Types.js → ts/Types.js} +0 -0
  353. /package/types/{Decoder → ts/Decoder}/gpu-utils.d.ts +0 -0
  354. /package/types/{Decoder → ts/Decoder}/index.d.ts +0 -0
  355. /package/types/{Private → ts/Private}/IAgoraH265Transcoder.d.ts +0 -0
  356. /package/types/{Private → ts/Private}/IAgoraMediaRecorder.d.ts +0 -0
  357. /package/types/{Private → ts/Private}/IAgoraMediaStreamingSource.d.ts +0 -0
  358. /package/types/{Private → ts/Private}/extension/AgoraBaseExtension.d.ts +0 -0
  359. /package/types/{Private → ts/Private}/extension/AgoraMediaBaseExtension.d.ts +0 -0
  360. /package/types/{Private → ts/Private}/extension/AgoraMediaPlayerTypesExtension.d.ts +0 -0
  361. /package/types/{Private → ts/Private}/extension/IAgoraH265TranscoderExtension.d.ts +0 -0
  362. /package/types/{Private → ts/Private}/extension/IAgoraLogExtension.d.ts +0 -0
  363. /package/types/{Private → ts/Private}/extension/IAgoraMediaEngineExtension.d.ts +0 -0
  364. /package/types/{Private → ts/Private}/extension/IAgoraMediaPlayerExtension.d.ts +0 -0
  365. /package/types/{Private → ts/Private}/extension/IAgoraMediaPlayerSourceExtension.d.ts +0 -0
  366. /package/types/{Private → ts/Private}/extension/IAgoraMediaRecorderExtension.d.ts +0 -0
  367. /package/types/{Private → ts/Private}/extension/IAgoraMusicContentCenterExtension.d.ts +0 -0
  368. /package/types/{Private → ts/Private}/extension/IAgoraRhythmPlayerExtension.d.ts +0 -0
  369. /package/types/{Private → ts/Private}/extension/IAgoraRtcEngineExExtension.d.ts +0 -0
  370. /package/types/{Private → ts/Private}/extension/IAgoraRtcEngineExtension.d.ts +0 -0
  371. /package/types/{Private → ts/Private}/extension/IAgoraSpatialAudioExtension.d.ts +0 -0
  372. /package/types/{Private → ts/Private}/extension/IAudioDeviceManagerExtension.d.ts +0 -0
  373. /package/types/{Private → ts/Private}/impl/AgoraBaseImpl.d.ts +0 -0
  374. /package/types/{Private → ts/Private}/impl/AgoraMediaBaseImpl.d.ts +0 -0
  375. /package/types/{Private → ts/Private}/impl/IAgoraH265TranscoderImpl.d.ts +0 -0
  376. /package/types/{Private → ts/Private}/impl/IAgoraMediaEngineImpl.d.ts +0 -0
  377. /package/types/{Private → ts/Private}/impl/IAgoraMediaPlayerSourceImpl.d.ts +0 -0
  378. /package/types/{Private → ts/Private}/impl/IAgoraMediaRecorderImpl.d.ts +0 -0
  379. /package/types/{Private → ts/Private}/impl/IAgoraMusicContentCenterImpl.d.ts +0 -0
  380. /package/types/{Private → ts/Private}/impl/IAgoraSpatialAudioImpl.d.ts +0 -0
  381. /package/types/{Private → ts/Private}/impl/IAudioDeviceManagerImpl.d.ts +0 -0
  382. /package/types/{Private → ts/Private}/internal/AgoraH265TranscoderInternal.d.ts +0 -0
  383. /package/types/{Private → ts/Private}/internal/AgoraMediaBaseInternal.d.ts +0 -0
  384. /package/types/{Private → ts/Private}/internal/AudioDeviceManagerInternal.d.ts +0 -0
  385. /package/types/{Private → ts/Private}/internal/IrisApiEngine.d.ts +0 -0
  386. /package/types/{Private → ts/Private}/internal/LocalSpatialAudioEngineInternal.d.ts +0 -0
  387. /package/types/{Private → ts/Private}/internal/MediaEngineInternal.d.ts +0 -0
  388. /package/types/{Private → ts/Private}/internal/MediaPlayerInternal.d.ts +0 -0
  389. /package/types/{Private → ts/Private}/internal/MediaRecorderInternal.d.ts +0 -0
  390. /package/types/{Private → ts/Private}/internal/MusicContentCenterInternal.d.ts +0 -0
  391. /package/types/{Private → ts/Private}/ipc/main.d.ts +0 -0
  392. /package/types/{Private → ts/Private}/ipc/renderer.d.ts +0 -0
  393. /package/types/{Private → ts/Private}/ti/AgoraBase-ti.d.ts +0 -0
  394. /package/types/{Private → ts/Private}/ti/AgoraMediaBase-ti.d.ts +0 -0
  395. /package/types/{Private → ts/Private}/ti/AgoraMediaPlayerTypes-ti.d.ts +0 -0
  396. /package/types/{Private → ts/Private}/ti/IAgoraH265Transcoder-ti.d.ts +0 -0
  397. /package/types/{Private → ts/Private}/ti/IAgoraLog-ti.d.ts +0 -0
  398. /package/types/{Private → ts/Private}/ti/IAgoraMediaEngine-ti.d.ts +0 -0
  399. /package/types/{Private → ts/Private}/ti/IAgoraMediaPlayer-ti.d.ts +0 -0
  400. /package/types/{Private → ts/Private}/ti/IAgoraMediaPlayerSource-ti.d.ts +0 -0
  401. /package/types/{Private → ts/Private}/ti/IAgoraMediaRecorder-ti.d.ts +0 -0
  402. /package/types/{Private → ts/Private}/ti/IAgoraMediaStreamingSource-ti.d.ts +0 -0
  403. /package/types/{Private → ts/Private}/ti/IAgoraMusicContentCenter-ti.d.ts +0 -0
  404. /package/types/{Private → ts/Private}/ti/IAgoraRhythmPlayer-ti.d.ts +0 -0
  405. /package/types/{Private → ts/Private}/ti/IAgoraRtcEngine-ti.d.ts +0 -0
  406. /package/types/{Private → ts/Private}/ti/IAgoraRtcEngineEx-ti.d.ts +0 -0
  407. /package/types/{Private → ts/Private}/ti/IAgoraSpatialAudio-ti.d.ts +0 -0
  408. /package/types/{Private → ts/Private}/ti/IAudioDeviceManager-ti.d.ts +0 -0
  409. /package/types/{Renderer → ts/Renderer}/CapabilityManager.d.ts +0 -0
  410. /package/types/{Renderer → ts/Renderer}/WebGLRenderer/webgl-utils.d.ts +0 -0
  411. /package/types/{Renderer → ts/Renderer}/index.d.ts +0 -0
@@ -0,0 +1,1695 @@
1
+ import './extension/AgoraMediaBaseExtension';
2
+ import { EncodedVideoFrameInfo } from './AgoraBase';
3
+ /**
4
+ * Plugin context information.
5
+ */
6
+ export declare class ExtensionContext {
7
+ /**
8
+ * Whether the uid reported in ExtensionContext is valid: true : uid is valid. false : uid is invalid.
9
+ */
10
+ isValid?: boolean;
11
+ /**
12
+ * User ID. 0 represents the local user, values greater than 0 represent remote users.
13
+ */
14
+ uid?: number;
15
+ /**
16
+ * Name of the plugin provider.
17
+ */
18
+ providerName?: string;
19
+ /**
20
+ * Name of the plugin.
21
+ */
22
+ extensionName?: string;
23
+ }
24
+ /**
25
+ * Type of video source.
26
+ */
27
+ export declare enum VideoSourceType {
28
+ /**
29
+ * 0: (Default) The video source is the first camera.
30
+ */
31
+ VideoSourceCameraPrimary = 0,
32
+ /**
33
+ * 0: (Default) The video source is the first camera.
34
+ */
35
+ VideoSourceCamera = 0,
36
+ /**
37
+ * 1: The video source is the second camera.
38
+ */
39
+ VideoSourceCameraSecondary = 1,
40
+ /**
41
+ * 2: The video source is the first screen.
42
+ */
43
+ VideoSourceScreenPrimary = 2,
44
+ /**
45
+ * 2: The video source is the first screen.
46
+ */
47
+ VideoSourceScreen = 2,
48
+ /**
49
+ * 3: The video source is the second screen.
50
+ */
51
+ VideoSourceScreenSecondary = 3,
52
+ /**
53
+ * 4: Custom video source.
54
+ */
55
+ VideoSourceCustom = 4,
56
+ /**
57
+ * 5: The video source is a media player.
58
+ */
59
+ VideoSourceMediaPlayer = 5,
60
+ /**
61
+ * 6: The video source is a PNG image.
62
+ */
63
+ VideoSourceRtcImagePng = 6,
64
+ /**
65
+ * 7: The video source is a JPEG image.
66
+ */
67
+ VideoSourceRtcImageJpeg = 7,
68
+ /**
69
+ * 8: The video source is a GIF image.
70
+ */
71
+ VideoSourceRtcImageGif = 8,
72
+ /**
73
+ * 9: The video source is remote video obtained over the network.
74
+ */
75
+ VideoSourceRemote = 9,
76
+ /**
77
+ * 10: Transcoded video source.
78
+ */
79
+ VideoSourceTranscoded = 10,
80
+ /**
81
+ * 11: The video source is the third camera.
82
+ */
83
+ VideoSourceCameraThird = 11,
84
+ /**
85
+ * 12: The video source is the fourth camera.
86
+ */
87
+ VideoSourceCameraFourth = 12,
88
+ /**
89
+ * 13: The video source is the third screen.
90
+ */
91
+ VideoSourceScreenThird = 13,
92
+ /**
93
+ * 14: The video source is the fourth screen.
94
+ */
95
+ VideoSourceScreenFourth = 14,
96
+ /**
97
+ * 15: The video source is video processed by a speech-driven plugin.
98
+ */
99
+ VideoSourceSpeechDriven = 15,
100
+ /**
101
+ * 100: Unknown video source.
102
+ */
103
+ VideoSourceUnknown = 100
104
+ }
105
+ /**
106
+ * Audio source type.
107
+ */
108
+ export declare enum AudioSourceType {
109
+ /**
110
+ * 0: (Default) Microphone.
111
+ */
112
+ AudioSourceMicrophone = 0,
113
+ /**
114
+ * 1: Custom captured audio stream.
115
+ */
116
+ AudioSourceCustom = 1,
117
+ /**
118
+ * 2: Media player.
119
+ */
120
+ AudioSourceMediaPlayer = 2,
121
+ /**
122
+ * 3: System audio stream captured during screen sharing.
123
+ */
124
+ AudioSourceLoopbackRecording = 3,
125
+ /**
126
+ * @ignore
127
+ */
128
+ AudioSourceMixedStream = 4,
129
+ /**
130
+ * 5: Audio stream of a specified remote user.
131
+ */
132
+ AudioSourceRemoteUser = 5,
133
+ /**
134
+ * 6: Mixed stream of all audio streams in the current channel.
135
+ */
136
+ AudioSourceRemoteChannel = 6,
137
+ /**
138
+ * 100: Unknown audio source.
139
+ */
140
+ AudioSourceUnknown = 100
141
+ }
142
+ /**
143
+ * Types of audio routing.
144
+ */
145
+ export declare enum AudioRoute {
146
+ /**
147
+ * -1: Use the default audio route.
148
+ */
149
+ RouteDefault = -1,
150
+ /**
151
+ * 0: Audio routed to headset with microphone.
152
+ */
153
+ RouteHeadset = 0,
154
+ /**
155
+ * 1: Audio routed to earpiece.
156
+ */
157
+ RouteEarpiece = 1,
158
+ /**
159
+ * 2: Audio routed to headset without microphone.
160
+ */
161
+ RouteHeadsetnomic = 2,
162
+ /**
163
+ * 3: Audio routed to built-in speaker.
164
+ */
165
+ RouteSpeakerphone = 3,
166
+ /**
167
+ * 4: Audio routed to external speaker. (macOS only)
168
+ */
169
+ RouteLoudspeaker = 4,
170
+ /**
171
+ * 5: Audio routed to Bluetooth device using HFP protocol.
172
+ */
173
+ RouteBluetoothDeviceHfp = 5,
174
+ /**
175
+ * 6: Audio routed to USB peripheral device. (macOS only)
176
+ */
177
+ RouteUsb = 6,
178
+ /**
179
+ * 7: Audio routed to HDMI peripheral device. (macOS only)
180
+ */
181
+ RouteHdmi = 7,
182
+ /**
183
+ * 8: Audio routed to DisplayPort peripheral device. (macOS only)
184
+ */
185
+ RouteDisplayport = 8,
186
+ /**
187
+ * 9: Audio routed to Apple AirPlay. (macOS only)
188
+ */
189
+ RouteAirplay = 9,
190
+ /**
191
+ * 10: Audio routed to Bluetooth device using A2DP protocol.
192
+ */
193
+ RouteBluetoothDeviceA2dp = 10
194
+ }
195
+ /**
196
+ * @ignore
197
+ */
198
+ export declare enum BytesPerSample {
199
+ /**
200
+ * @ignore
201
+ */
202
+ TwoBytesPerSample = 2
203
+ }
204
+ /**
205
+ * @ignore
206
+ */
207
+ export declare class AudioParameters {
208
+ /**
209
+ * @ignore
210
+ */
211
+ sample_rate?: number;
212
+ /**
213
+ * @ignore
214
+ */
215
+ channels?: number;
216
+ /**
217
+ * @ignore
218
+ */
219
+ frames_per_buffer?: number;
220
+ }
221
+ /**
222
+ * Usage mode of audio data.
223
+ */
224
+ export declare enum RawAudioFrameOpModeType {
225
+ /**
226
+ * 0: (Default) Read-only mode. You only retrieve the raw data returned by the SDK without making any modifications. For example, if you collect data via the SDK and perform your own CDN streaming, you can use this mode.
227
+ */
228
+ RawAudioFrameOpModeReadOnly = 0,
229
+ /**
230
+ * 2: Read-write mode. You modify the raw audio returned by the SDK and send it back to the SDK for encoding and transmission. For example, if you have your own audio effects module and want to pre-process the data (e.g., voice changing), you can use this mode.
231
+ */
232
+ RawAudioFrameOpModeReadWrite = 2
233
+ }
234
+ /**
235
+ * Media source types.
236
+ */
237
+ export declare enum MediaSourceType {
238
+ /**
239
+ * 0: Audio playback device.
240
+ */
241
+ AudioPlayoutSource = 0,
242
+ /**
243
+ * 1: Audio recording device.
244
+ */
245
+ AudioRecordingSource = 1,
246
+ /**
247
+ * 2: Primary camera.
248
+ */
249
+ PrimaryCameraSource = 2,
250
+ /**
251
+ * 3: Secondary camera.
252
+ */
253
+ SecondaryCameraSource = 3,
254
+ /**
255
+ * @ignore
256
+ */
257
+ PrimaryScreenSource = 4,
258
+ /**
259
+ * @ignore
260
+ */
261
+ SecondaryScreenSource = 5,
262
+ /**
263
+ * 6: Custom video source.
264
+ */
265
+ CustomVideoSource = 6,
266
+ /**
267
+ * @ignore
268
+ */
269
+ MediaPlayerSource = 7,
270
+ /**
271
+ * @ignore
272
+ */
273
+ RtcImagePngSource = 8,
274
+ /**
275
+ * @ignore
276
+ */
277
+ RtcImageJpegSource = 9,
278
+ /**
279
+ * @ignore
280
+ */
281
+ RtcImageGifSource = 10,
282
+ /**
283
+ * @ignore
284
+ */
285
+ RemoteVideoSource = 11,
286
+ /**
287
+ * @ignore
288
+ */
289
+ TranscodedVideoSource = 12,
290
+ /**
291
+ * 13: Video source processed by speech-driven plugin.
292
+ */
293
+ SpeechDrivenVideoSource = 13,
294
+ /**
295
+ * 100: Unknown media source.
296
+ */
297
+ UnknownMediaSource = 100
298
+ }
299
+ /**
300
+ * @ignore
301
+ */
302
+ export declare class PacketOptions {
303
+ /**
304
+ * @ignore
305
+ */
306
+ timestamp?: number;
307
+ /**
308
+ * @ignore
309
+ */
310
+ audioLevelIndication?: number;
311
+ }
312
+ /**
313
+ * @ignore
314
+ */
315
+ export declare class AudioEncodedFrameInfo {
316
+ /**
317
+ * @ignore
318
+ */
319
+ sendTs?: number;
320
+ /**
321
+ * @ignore
322
+ */
323
+ codec?: number;
324
+ }
325
+ /**
326
+ * Information of external PCM format audio frame.
327
+ */
328
+ export declare class AudioPcmFrame {
329
+ /**
330
+ * Timestamp of the audio frame (ms).
331
+ */
332
+ capture_timestamp?: number;
333
+ /**
334
+ * Number of samples per channel.
335
+ */
336
+ samples_per_channel_?: number;
337
+ /**
338
+ * Audio sampling rate (Hz).
339
+ */
340
+ sample_rate_hz_?: number;
341
+ /**
342
+ * Number of audio channels.
343
+ */
344
+ num_channels_?: number;
345
+ /**
346
+ * @ignore
347
+ */
348
+ audio_track_number_?: number;
349
+ /**
350
+ * Number of bytes per audio sample.
351
+ */
352
+ bytes_per_sample?: BytesPerSample;
353
+ /**
354
+ * Audio frame data.
355
+ */
356
+ data_?: number[];
357
+ /**
358
+ * @ignore
359
+ */
360
+ is_stereo_?: boolean;
361
+ }
362
+ /**
363
+ * Channel mode.
364
+ */
365
+ export declare enum AudioDualMonoMode {
366
+ /**
367
+ * 0: Original mode.
368
+ */
369
+ AudioDualMonoStereo = 0,
370
+ /**
371
+ * 1: Left channel mode. Replaces the right channel audio with the left channel audio, so users only hear the left channel.
372
+ */
373
+ AudioDualMonoL = 1,
374
+ /**
375
+ * 2: Right channel mode. Replaces the left channel audio with the right channel audio, so users only hear the right channel.
376
+ */
377
+ AudioDualMonoR = 2,
378
+ /**
379
+ * 3: Mixed mode. Combines left and right channel audio so users hear both channels simultaneously.
380
+ */
381
+ AudioDualMonoMix = 3
382
+ }
383
+ /**
384
+ * Video pixel format.
385
+ */
386
+ export declare enum VideoPixelFormat {
387
+ /**
388
+ * 0: Original video pixel format.
389
+ */
390
+ VideoPixelDefault = 0,
391
+ /**
392
+ * 1: I420 format.
393
+ */
394
+ VideoPixelI420 = 1,
395
+ /**
396
+ * @ignore
397
+ */
398
+ VideoPixelBgra = 2,
399
+ /**
400
+ * @ignore
401
+ */
402
+ VideoPixelNv21 = 3,
403
+ /**
404
+ * 4: RGBA format.
405
+ */
406
+ VideoPixelRgba = 4,
407
+ /**
408
+ * @ignore
409
+ */
410
+ VideoPixelNv12 = 8,
411
+ /**
412
+ * @ignore
413
+ */
414
+ VideoTexture2d = 10,
415
+ /**
416
+ * @ignore
417
+ */
418
+ VideoTextureOes = 11,
419
+ /**
420
+ * @ignore
421
+ */
422
+ VideoCvpixelNv12 = 12,
423
+ /**
424
+ * @ignore
425
+ */
426
+ VideoCvpixelI420 = 13,
427
+ /**
428
+ * @ignore
429
+ */
430
+ VideoCvpixelBgra = 14,
431
+ /**
432
+ * @ignore
433
+ */
434
+ VideoCvpixelP010 = 15,
435
+ /**
436
+ * 16: I422 format.
437
+ */
438
+ VideoPixelI422 = 16,
439
+ /**
440
+ * @ignore
441
+ */
442
+ VideoTextureId3d11texture2d = 17,
443
+ /**
444
+ * @ignore
445
+ */
446
+ VideoPixelI010 = 18
447
+ }
448
+ /**
449
+ * Video display mode.
450
+ */
451
+ export declare enum RenderModeType {
452
+ /**
453
+ * 1: The video is scaled proportionally. Priority is given to filling the view. Excess video beyond the view due to size mismatch is cropped.
454
+ */
455
+ RenderModeHidden = 1,
456
+ /**
457
+ * 2: The video is scaled proportionally. Priority is given to displaying the entire video content. Black bars are added to fill the view if the video size does not match the view size.
458
+ */
459
+ RenderModeFit = 2,
460
+ /**
461
+ * @ignore
462
+ */
463
+ RenderModeAdaptive = 3
464
+ }
465
+ /**
466
+ * @ignore
467
+ */
468
+ export declare enum CameraVideoSourceType {
469
+ /**
470
+ * @ignore
471
+ */
472
+ CameraSourceFront = 0,
473
+ /**
474
+ * @ignore
475
+ */
476
+ CameraSourceBack = 1,
477
+ /**
478
+ * @ignore
479
+ */
480
+ VideoSourceUnspecified = 2
481
+ }
482
+ /**
483
+ * @ignore
484
+ */
485
+ export declare enum MetaInfoKey {
486
+ /**
487
+ * @ignore
488
+ */
489
+ KeyFaceCapture = 0
490
+ }
491
+ /**
492
+ * @ignore
493
+ */
494
+ export declare abstract class IVideoFrameMetaInfo {
495
+ /**
496
+ * @ignore
497
+ */
498
+ abstract getMetaInfoStr(key: MetaInfoKey): string;
499
+ }
500
+ /**
501
+ * @ignore
502
+ */
503
+ export declare enum PrimaryID {
504
+ /**
505
+ * @ignore
506
+ */
507
+ PrimaryidBt709 = 1,
508
+ /**
509
+ * @ignore
510
+ */
511
+ PrimaryidUnspecified = 2,
512
+ /**
513
+ * @ignore
514
+ */
515
+ PrimaryidBt470m = 4,
516
+ /**
517
+ * @ignore
518
+ */
519
+ PrimaryidBt470bg = 5,
520
+ /**
521
+ * @ignore
522
+ */
523
+ PrimaryidSmpte170m = 6,
524
+ /**
525
+ * @ignore
526
+ */
527
+ PrimaryidSmpte240m = 7,
528
+ /**
529
+ * @ignore
530
+ */
531
+ PrimaryidFilm = 8,
532
+ /**
533
+ * @ignore
534
+ */
535
+ PrimaryidBt2020 = 9,
536
+ /**
537
+ * @ignore
538
+ */
539
+ PrimaryidSmptest428 = 10,
540
+ /**
541
+ * @ignore
542
+ */
543
+ PrimaryidSmptest431 = 11,
544
+ /**
545
+ * @ignore
546
+ */
547
+ PrimaryidSmptest432 = 12,
548
+ /**
549
+ * @ignore
550
+ */
551
+ PrimaryidJedecp22 = 22
552
+ }
553
+ /**
554
+ * @ignore
555
+ */
556
+ export declare enum RangeID {
557
+ /**
558
+ * @ignore
559
+ */
560
+ RangeidInvalid = 0,
561
+ /**
562
+ * @ignore
563
+ */
564
+ RangeidLimited = 1,
565
+ /**
566
+ * @ignore
567
+ */
568
+ RangeidFull = 2,
569
+ /**
570
+ * @ignore
571
+ */
572
+ RangeidDerived = 3
573
+ }
574
+ /**
575
+ * @ignore
576
+ */
577
+ export declare enum MatrixID {
578
+ /**
579
+ * @ignore
580
+ */
581
+ MatrixidRgb = 0,
582
+ /**
583
+ * @ignore
584
+ */
585
+ MatrixidBt709 = 1,
586
+ /**
587
+ * @ignore
588
+ */
589
+ MatrixidUnspecified = 2,
590
+ /**
591
+ * @ignore
592
+ */
593
+ MatrixidFcc = 4,
594
+ /**
595
+ * @ignore
596
+ */
597
+ MatrixidBt470bg = 5,
598
+ /**
599
+ * @ignore
600
+ */
601
+ MatrixidSmpte170m = 6,
602
+ /**
603
+ * @ignore
604
+ */
605
+ MatrixidSmpte240m = 7,
606
+ /**
607
+ * @ignore
608
+ */
609
+ MatrixidYcocg = 8,
610
+ /**
611
+ * @ignore
612
+ */
613
+ MatrixidBt2020Ncl = 9,
614
+ /**
615
+ * @ignore
616
+ */
617
+ MatrixidBt2020Cl = 10,
618
+ /**
619
+ * @ignore
620
+ */
621
+ MatrixidSmpte2085 = 11,
622
+ /**
623
+ * @ignore
624
+ */
625
+ MatrixidCdncls = 12,
626
+ /**
627
+ * @ignore
628
+ */
629
+ MatrixidCdcls = 13,
630
+ /**
631
+ * @ignore
632
+ */
633
+ MatrixidBt2100Ictcp = 14
634
+ }
635
+ /**
636
+ * @ignore
637
+ */
638
+ export declare enum TransferID {
639
+ /**
640
+ * @ignore
641
+ */
642
+ TransferidBt709 = 1,
643
+ /**
644
+ * @ignore
645
+ */
646
+ TransferidUnspecified = 2,
647
+ /**
648
+ * @ignore
649
+ */
650
+ TransferidGamma22 = 4,
651
+ /**
652
+ * @ignore
653
+ */
654
+ TransferidGamma28 = 5,
655
+ /**
656
+ * @ignore
657
+ */
658
+ TransferidSmpte170m = 6,
659
+ /**
660
+ * @ignore
661
+ */
662
+ TransferidSmpte240m = 7,
663
+ /**
664
+ * @ignore
665
+ */
666
+ TransferidLinear = 8,
667
+ /**
668
+ * @ignore
669
+ */
670
+ TransferidLog = 9,
671
+ /**
672
+ * @ignore
673
+ */
674
+ TransferidLogSqrt = 10,
675
+ /**
676
+ * @ignore
677
+ */
678
+ TransferidIec6196624 = 11,
679
+ /**
680
+ * @ignore
681
+ */
682
+ TransferidBt1361Ecg = 12,
683
+ /**
684
+ * @ignore
685
+ */
686
+ TransferidIec6196621 = 13,
687
+ /**
688
+ * @ignore
689
+ */
690
+ TransferidBt202010 = 14,
691
+ /**
692
+ * @ignore
693
+ */
694
+ TransferidBt202012 = 15,
695
+ /**
696
+ * @ignore
697
+ */
698
+ TransferidSmptest2084 = 16,
699
+ /**
700
+ * @ignore
701
+ */
702
+ TransferidSmptest428 = 17,
703
+ /**
704
+ * @ignore
705
+ */
706
+ TransferidAribStdB67 = 18
707
+ }
708
+ /**
709
+ * @ignore
710
+ */
711
+ export declare class ColorSpace {
712
+ /**
713
+ * @ignore
714
+ */
715
+ primaries?: PrimaryID;
716
+ /**
717
+ * @ignore
718
+ */
719
+ transfer?: TransferID;
720
+ /**
721
+ * @ignore
722
+ */
723
+ matrix?: MatrixID;
724
+ /**
725
+ * @ignore
726
+ */
727
+ range?: RangeID;
728
+ }
729
+ /**
730
+ * @ignore
731
+ */
732
+ export declare class Hdr10MetadataInfo {
733
+ /**
734
+ * @ignore
735
+ */
736
+ redPrimaryX?: number;
737
+ /**
738
+ * @ignore
739
+ */
740
+ redPrimaryY?: number;
741
+ /**
742
+ * @ignore
743
+ */
744
+ greenPrimaryX?: number;
745
+ /**
746
+ * @ignore
747
+ */
748
+ greenPrimaryY?: number;
749
+ /**
750
+ * @ignore
751
+ */
752
+ bluePrimaryX?: number;
753
+ /**
754
+ * @ignore
755
+ */
756
+ bluePrimaryY?: number;
757
+ /**
758
+ * @ignore
759
+ */
760
+ whitePointX?: number;
761
+ /**
762
+ * @ignore
763
+ */
764
+ whitePointY?: number;
765
+ /**
766
+ * @ignore
767
+ */
768
+ maxMasteringLuminance?: number;
769
+ /**
770
+ * @ignore
771
+ */
772
+ minMasteringLuminance?: number;
773
+ /**
774
+ * @ignore
775
+ */
776
+ maxContentLightLevel?: number;
777
+ /**
778
+ * @ignore
779
+ */
780
+ maxFrameAverageLightLevel?: number;
781
+ }
782
+ /**
783
+ * The relative position of alphaBuffer and the video frame.
784
+ */
785
+ export declare enum AlphaStitchMode {
786
+ /**
787
+ * 0: (Default) Only the video frame is used, i.e., alphaBuffer is not stitched with the video frame.
788
+ */
789
+ NoAlphaStitch = 0,
790
+ /**
791
+ * 1: alphaBuffer is above the video frame.
792
+ */
793
+ AlphaStitchUp = 1,
794
+ /**
795
+ * 2: alphaBuffer is below the video frame.
796
+ */
797
+ AlphaStitchBelow = 2,
798
+ /**
799
+ * 3: alphaBuffer is to the left of the video frame.
800
+ */
801
+ AlphaStitchLeft = 3,
802
+ /**
803
+ * 4: alphaBuffer is to the right of the video frame.
804
+ */
805
+ AlphaStitchRight = 4
806
+ }
807
+ /**
808
+ * @ignore
809
+ */
810
+ export declare enum EglContextType {
811
+ /**
812
+ * @ignore
813
+ */
814
+ EglContext10 = 0,
815
+ /**
816
+ * @ignore
817
+ */
818
+ EglContext14 = 1
819
+ }
820
+ /**
821
+ * Video buffer type.
822
+ */
823
+ export declare enum VideoBufferType {
824
+ /**
825
+ * 1: Type is raw data.
826
+ */
827
+ VideoBufferRawData = 1,
828
+ /**
829
+ * 2: Type is raw data.
830
+ */
831
+ VideoBufferArray = 2,
832
+ /**
833
+ * 3: Type is Texture.
834
+ */
835
+ VideoBufferTexture = 3
836
+ }
837
+ /**
838
+ * External video frame.
839
+ */
840
+ export declare class ExternalVideoFrame {
841
+ /**
842
+ * Video type. See VideoBufferType.
843
+ */
844
+ type?: VideoBufferType;
845
+ /**
846
+ * Pixel format. See VideoPixelFormat.
847
+ */
848
+ format?: VideoPixelFormat;
849
+ /**
850
+ * Video buffer.
851
+ */
852
+ buffer?: Uint8Array;
853
+ /**
854
+ * Stride of the input video frame in pixels (not bytes). For Texture, this value refers to the width of the Texture.
855
+ */
856
+ stride?: number;
857
+ /**
858
+ * Height of the input video frame.
859
+ */
860
+ height?: number;
861
+ /**
862
+ * This parameter applies only to raw video data.
863
+ */
864
+ cropLeft?: number;
865
+ /**
866
+ * This parameter applies only to raw video data.
867
+ */
868
+ cropTop?: number;
869
+ /**
870
+ * This parameter applies only to raw video data.
871
+ */
872
+ cropRight?: number;
873
+ /**
874
+ * This parameter applies only to raw video data.
875
+ */
876
+ cropBottom?: number;
877
+ /**
878
+ * Field related to raw data. Specifies whether to rotate the input video group clockwise. Available values: 0, 90, 180, 270. Default is 0.
879
+ */
880
+ rotation?: number;
881
+ /**
882
+ * Timestamp of the input video frame in milliseconds. Incorrect timestamps may cause frame drops or audio-video desynchronization.
883
+ */
884
+ timestamp?: number;
885
+ /**
886
+ * This parameter applies only to video data in Texture format. Refers to the Texture ID of the video frame.
887
+ */
888
+ eglType?: EglContextType;
889
+ /**
890
+ * This parameter applies only to video data in Texture format. Refers to an input 4x4 transformation matrix, typically an identity matrix.
891
+ */
892
+ textureId?: number;
893
+ /**
894
+ * @ignore
895
+ */
896
+ fenceObject?: number;
897
+ /**
898
+ * This parameter applies only to video data in Texture format. Refers to an input 4x4 transformation matrix, typically an identity matrix.
899
+ */
900
+ matrix?: number[];
901
+ /**
902
+ * This parameter applies only to video data in Texture format. Refers to the metadata buffer. Default value is NULL.
903
+ */
904
+ metadataBuffer?: Uint8Array;
905
+ /**
906
+ * This parameter applies only to video data in Texture format. Refers to the size of the metadata. Default value is 0.
907
+ */
908
+ metadataSize?: number;
909
+ /**
910
+ * Alpha channel data output by portrait segmentation algorithm. This data matches the size of the video frame, with pixel values ranging from [0,255], where 0 indicates background and 255 indicates foreground (portrait).
911
+ * You can use this parameter to render the video background into various effects such as transparent, solid color, image, video, etc. In custom video rendering scenarios, ensure that both the input video frame and alphaBuffer are of Full Range type; other types may cause incorrect rendering of alpha data.
912
+ */
913
+ alphaBuffer?: Uint8Array;
914
+ /**
915
+ * For video data in BGRA or RGBA format, you can set the alpha channel data in either of the following ways:
916
+ * Automatically fill by setting this parameter to true.
917
+ * Set via the alphaBuffer parameter. This parameter applies only to video data in BGRA or RGBA format. Specifies whether to extract the alpha channel data from the video frame and automatically fill it into alphaBuffer : true : Extract and fill alpha channel data. false : (Default) Do not extract and fill alpha channel data.
918
+ */
919
+ fillAlphaBuffer?: boolean;
920
+ /**
921
+ * When the video frame contains alpha channel data, sets the relative position of alphaBuffer and the video frame. See AlphaStitchMode.
922
+ */
923
+ alphaStitchMode?: AlphaStitchMode;
924
+ /**
925
+ * This parameter applies only to video data in Windows Texture format. Refers to a pointer to an object of type ID3D11Texture2D used by the video frame.
926
+ */
927
+ d3d11Texture2d?: any;
928
+ /**
929
+ * This parameter applies only to video data in Windows Texture format. Refers to the index of the ID3D11Texture2D texture object used by the video frame in the ID3D11Texture2D array.
930
+ */
931
+ textureSliceIndex?: number;
932
+ /**
933
+ * @ignore
934
+ */
935
+ hdr10MetadataInfo?: Hdr10MetadataInfo;
936
+ /**
937
+ * Color space properties of the video frame. By default, Full Range and BT.709 standard configurations are applied. You can customize the settings based on your requirements for custom capture and rendering. See [VideoColorSpace](https://developer.mozilla.org/en-US/docs/Web/API/VideoColorSpace).
938
+ */
939
+ colorSpace?: ColorSpace;
940
+ }
941
+ /**
942
+ * Video frame property settings.
943
+ *
944
+ * The buffer is provided as a pointer to a pointer. This interface cannot modify the buffer pointer, only the buffer content.
945
+ */
946
+ export declare class VideoFrame {
947
+ /**
948
+ * Pixel format. See VideoPixelFormat.
949
+ */
950
+ type?: VideoPixelFormat;
951
+ /**
952
+ * Video pixel width.
953
+ */
954
+ width?: number;
955
+ /**
956
+ * Video pixel height.
957
+ */
958
+ height?: number;
959
+ /**
960
+ * For YUV data, indicates the row stride of the Y buffer; for RGBA data, indicates the total data length. When processing video data, you need to handle the offset between rows of pixel data according to this parameter, otherwise image distortion may occur.
961
+ */
962
+ yStride?: number;
963
+ /**
964
+ * For YUV data, indicates the row stride of the U buffer; for RGBA data, the value is 0. When processing video data, you need to handle the offset between rows of pixel data according to this parameter, otherwise image distortion may occur.
965
+ */
966
+ uStride?: number;
967
+ /**
968
+ * For YUV data, indicates the row stride of the V buffer; for RGBA data, the value is 0. When processing video data, you need to handle the offset between rows of pixel data according to this parameter, otherwise image distortion may occur.
969
+ */
970
+ vStride?: number;
971
+ /**
972
+ * For YUV data, indicates the pointer to the Y buffer; for RGBA data, indicates the data buffer.
973
+ */
974
+ yBuffer?: Uint8Array;
975
+ /**
976
+ * For YUV data, indicates the pointer to the U buffer; for RGBA data, the value is empty.
977
+ */
978
+ uBuffer?: Uint8Array;
979
+ /**
980
+ * For YUV data, indicates the pointer to the V buffer; for RGBA data, the value is empty.
981
+ */
982
+ vBuffer?: Uint8Array;
983
+ /**
984
+ * Sets the clockwise rotation angle of the frame before rendering the video. Currently supports 0, 90, 180, and 270 degrees.
985
+ */
986
+ rotation?: number;
987
+ /**
988
+ * The Unix timestamp (in milliseconds) when the video frame is rendered. This timestamp can be used to guide video frame rendering. This parameter is required.
989
+ */
990
+ renderTimeMs?: number;
991
+ /**
992
+ * Reserved parameter.
993
+ */
994
+ avsync_type?: number;
995
+ /**
996
+ * This parameter applies only to video data in Texture format. Indicates the data buffer of MetaData. Default is NULL.
997
+ */
998
+ metadata_buffer?: Uint8Array;
999
+ /**
1000
+ * This parameter applies only to video data in Texture format. Indicates the size of MetaData. Default is 0.
1001
+ */
1002
+ metadata_size?: number;
1003
+ /**
1004
+ * This parameter applies only to video data in Texture format. Texture ID.
1005
+ */
1006
+ textureId?: number;
1007
+ /**
1008
+ * This parameter applies only to video data in Texture format. A 4x4 transformation matrix input, typically an identity matrix.
1009
+ */
1010
+ matrix?: number[];
1011
+ /**
1012
+ * Alpha channel data output by the portrait segmentation algorithm. This data matches the size of the video frame. Each pixel value ranges from [0, 255], where 0 represents the background and 255 represents the foreground (portrait).
1013
+ * You can use this parameter to render the video background with various effects, such as transparency, solid color, image, video, etc.
1014
+ * In custom video rendering scenarios, ensure that both the video frame and alphaBuffer are of Full Range type; other types may cause abnormal Alpha data rendering.
1015
+ * Make sure that alphaBuffer matches the video frame size (width × height) exactly, otherwise the app may crash.
1016
+ */
1017
+ alphaBuffer?: Uint8Array;
1018
+ /**
1019
+ * When the video frame contains Alpha channel data, sets the relative position between alphaBuffer and the video frame. See AlphaStitchMode.
1020
+ */
1021
+ alphaStitchMode?: AlphaStitchMode;
1022
+ /**
1023
+ * @ignore
1024
+ */
1025
+ pixelBuffer?: Uint8Array;
1026
+ /**
1027
+ * Metadata in the video frame. This parameter requires [contacting technical support](https://www.agora.io/cn/contact/) to use.
1028
+ */
1029
+ metaInfo?: IVideoFrameMetaInfo;
1030
+ /**
1031
+ * @ignore
1032
+ */
1033
+ hdr10MetadataInfo?: Hdr10MetadataInfo;
1034
+ /**
1035
+ * The color space property of the video frame. By default, Full Range and BT.709 standard configuration is applied. You can customize this setting based on your custom capture and rendering needs. See [VideoColorSpace](https://developer.mozilla.org/en-US/docs/Web/API/VideoColorSpace).
1036
+ */
1037
+ colorSpace?: ColorSpace;
1038
+ }
1039
+ /**
1040
+ * @ignore
1041
+ */
1042
+ export declare enum MediaPlayerSourceType {
1043
+ /**
1044
+ * @ignore
1045
+ */
1046
+ MediaPlayerSourceDefault = 0,
1047
+ /**
1048
+ * @ignore
1049
+ */
1050
+ MediaPlayerSourceFullFeatured = 1,
1051
+ /**
1052
+ * @ignore
1053
+ */
1054
+ MediaPlayerSourceSimple = 2
1055
+ }
1056
+ /**
1057
+ * Video observation position.
1058
+ */
1059
+ export declare enum VideoModulePosition {
1060
+ /**
1061
+ * 1: Position after local video capture and preprocessing, corresponding to the onCaptureVideoFrame callback. The video observed here includes video preprocessing effects, which can be verified by enabling beauty effects, virtual background, or watermark.
1062
+ */
1063
+ PositionPostCapturer = 1,
1064
+ /**
1065
+ * 2: Position before rendering of received remote video, corresponding to the onRenderVideoFrame callback.
1066
+ */
1067
+ PositionPreRenderer = 2,
1068
+ /**
1069
+ * 4: Position before local video encoding, corresponding to the onPreEncodeVideoFrame callback. The video observed here includes preprocessing and pre-encoding effects:
1070
+ * For preprocessing effects, you can verify by enabling beauty effects, virtual background, or watermark.
1071
+ * For pre-encoding effects, you can verify by setting a low frame rate (e.g., 5 fps).
1072
+ */
1073
+ PositionPreEncoder = 4,
1074
+ /**
1075
+ * 8: Position after local video capture and before preprocessing. The video observed here does not include preprocessing effects, which can be verified by enabling beauty effects, virtual background, or watermark.
1076
+ */
1077
+ PositionPostCapturerOrigin = 8
1078
+ }
1079
+ /**
1080
+ * @ignore
1081
+ */
1082
+ export declare enum ContentInspectResult {
1083
+ /**
1084
+ * @ignore
1085
+ */
1086
+ ContentInspectNeutral = 1,
1087
+ /**
1088
+ * @ignore
1089
+ */
1090
+ ContentInspectSexy = 2,
1091
+ /**
1092
+ * @ignore
1093
+ */
1094
+ ContentInspectPorn = 3
1095
+ }
1096
+ /**
1097
+ * The type of video content moderation module.
1098
+ */
1099
+ export declare enum ContentInspectType {
1100
+ /**
1101
+ * 0: (Default) This module has no actual function. Do not set type to this value.
1102
+ */
1103
+ ContentInspectInvalid = 0,
1104
+ /**
1105
+ * @ignore
1106
+ */
1107
+ ContentInspectModeration = 1,
1108
+ /**
1109
+ * 2: Uses Agora's self-developed plugin to capture and upload screenshots. The SDK captures and uploads screenshots of the video stream.
1110
+ */
1111
+ ContentInspectSupervision = 2,
1112
+ /**
1113
+ * 3: Uses a Marketplace plugin to capture and upload screenshots. The SDK uses a Marketplace video moderation plugin to capture and upload screenshots of the video stream.
1114
+ */
1115
+ ContentInspectImageModeration = 3
1116
+ }
1117
+ /**
1118
+ * ContentInspectModule structure used to configure the frequency of local screenshot uploads.
1119
+ */
1120
+ export declare class ContentInspectModule {
1121
+ /**
1122
+ * Type of function module. See ContentInspectType.
1123
+ */
1124
+ type?: ContentInspectType;
1125
+ /**
1126
+ * Interval for local screenshot uploads in seconds. The value must be greater than 0. Default is 0, which means no screenshot upload. Recommended value is 10 seconds, but you can adjust it based on your business needs.
1127
+ */
1128
+ interval?: number;
1129
+ /**
1130
+ * Position of the video observer. See VideoModulePosition.
1131
+ */
1132
+ position?: VideoModulePosition;
1133
+ }
1134
+ /**
1135
+ * Local screenshot upload configuration.
1136
+ */
1137
+ export declare class ContentInspectConfig {
1138
+ /**
1139
+ * Additional information, maximum length is 1024 bytes.
1140
+ * The SDK uploads this information along with the screenshot to the Agora server; after the screenshot is complete, the Agora server sends the additional information to your server along with the callback notification.
1141
+ */
1142
+ extraInfo?: string;
1143
+ /**
1144
+ * @ignore
1145
+ */
1146
+ serverConfig?: string;
1147
+ /**
1148
+ * Function modules. See ContentInspectModule.
1149
+ * You can configure up to 32 ContentInspectModule instances. The value range of MAX_CONTENT_INSPECT_MODULE_COUNT is an integer in [1,32]. Only one instance can be configured per function module. Currently, only screenshot upload is supported.
1150
+ */
1151
+ modules?: ContentInspectModule[];
1152
+ /**
1153
+ * Number of function modules, i.e., the number of configured ContentInspectModule instances. Must match the number of instances configured in modules. Maximum value is 32.
1154
+ */
1155
+ moduleCount?: number;
1156
+ }
1157
+ /**
1158
+ * Video snapshot settings.
1159
+ */
1160
+ export declare class SnapshotConfig {
1161
+ /**
1162
+ * Make sure the directory exists and is writable. Local path to save the snapshot, including file name and format. For example:
1163
+ * Windows: C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.jpg
1164
+ * macOS: ~/Library/Logs/example.jpg
1165
+ */
1166
+ filePath?: string;
1167
+ /**
1168
+ * The position of the video frame in the video pipeline for the snapshot. See VideoModulePosition.
1169
+ */
1170
+ position?: VideoModulePosition;
1171
+ }
1172
+ /**
1173
+ * This class is used to obtain raw PCM audio data.
1174
+ *
1175
+ * You can inherit this class and implement the onFrame callback to get PCM audio data.
1176
+ */
1177
+ export interface IAudioPcmFrameSink {
1178
+ /**
1179
+ * Callback when an audio frame is received.
1180
+ *
1181
+ * After registering the audio data observer, this callback is triggered each time an audio frame is received to report the audio frame information.
1182
+ *
1183
+ * @param frame Audio frame information. See AudioPcmFrame.
1184
+ */
1185
+ onFrame?(frame: AudioPcmFrame): void;
1186
+ }
1187
+ /**
1188
+ * Audio frame type.
1189
+ */
1190
+ export declare enum AudioFrameType {
1191
+ /**
1192
+ * 0: PCM 16
1193
+ */
1194
+ FrameTypePcm16 = 0
1195
+ }
1196
+ /**
1197
+ * Raw audio data.
1198
+ */
1199
+ export declare class AudioFrame {
1200
+ /**
1201
+ * Audio frame type. See AudioFrameType.
1202
+ */
1203
+ type?: AudioFrameType;
1204
+ /**
1205
+ * Number of samples per channel.
1206
+ */
1207
+ samplesPerChannel?: number;
1208
+ /**
1209
+ * Number of bytes per sample. For PCM, 16-bit (2 bytes) is typically used.
1210
+ */
1211
+ bytesPerSample?: BytesPerSample;
1212
+ /**
1213
+ * Number of channels (if stereo, the data is interleaved).
1214
+ * 1: Mono
1215
+ * 2: Stereo
1216
+ */
1217
+ channels?: number;
1218
+ /**
1219
+ * Number of samples per second per channel.
1220
+ */
1221
+ samplesPerSec?: number;
1222
+ /**
1223
+ * Audio data buffer (if stereo, the data is interleaved).
1224
+ * Buffer data size buffer = samples × channels × bytesPerSample.
1225
+ */
1226
+ buffer?: Uint8Array;
1227
+ /**
1228
+ * Render timestamp of the external audio frame.
1229
+ * You can use this timestamp to restore the order of audio frames; in scenarios with video (including those using external video sources), this parameter can be used to achieve audio-video synchronization.
1230
+ */
1231
+ renderTimeMs?: number;
1232
+ /**
1233
+ * Reserved parameter.
1234
+ */
1235
+ avsync_type?: number;
1236
+ /**
1237
+ * @ignore
1238
+ */
1239
+ presentationMs?: number;
1240
+ /**
1241
+ * @ignore
1242
+ */
1243
+ audioTrackNumber?: number;
1244
+ /**
1245
+ * @ignore
1246
+ */
1247
+ rtpTimestamp?: number;
1248
+ }
1249
+ /**
1250
+ * @ignore
1251
+ */
1252
+ export declare enum AudioFramePosition {
1253
+ /**
1254
+ * @ignore
1255
+ */
1256
+ AudioFramePositionNone = 0,
1257
+ /**
1258
+ * @ignore
1259
+ */
1260
+ AudioFramePositionPlayback = 1,
1261
+ /**
1262
+ * @ignore
1263
+ */
1264
+ AudioFramePositionRecord = 2,
1265
+ /**
1266
+ * @ignore
1267
+ */
1268
+ AudioFramePositionMixed = 4,
1269
+ /**
1270
+ * @ignore
1271
+ */
1272
+ AudioFramePositionBeforeMixing = 8,
1273
+ /**
1274
+ * @ignore
1275
+ */
1276
+ AudioFramePositionEarMonitoring = 16
1277
+ }
1278
+ /**
1279
+ * Audio data format.
1280
+ *
1281
+ * The SDK sets the audio data format in the following callbacks based on AudioParams : onRecordAudioFrame onPlaybackAudioFrame onMixedAudioFrame
1282
+ * The SDK calculates the sampling interval using the samplesPerCall, sampleRate, and channel parameters in AudioParams, and triggers the onRecordAudioFrame, onPlaybackAudioFrame, onMixedAudioFrame, and onEarMonitoringAudioFrame callbacks based on that interval.
1283
+ * Sampling interval = samplesPerCall / (sampleRate × channel).
1284
+ * Ensure the sampling interval is not less than 0.01 (s).
1285
+ */
1286
+ export declare class AudioParams {
1287
+ /**
1288
+ * Sampling rate of the data in Hz. Supported values:
1289
+ * 8000
1290
+ * 16000 (default)
1291
+ * 32000
1292
+ * 44100
1293
+ * 48000
1294
+ */
1295
+ sample_rate?: number;
1296
+ /**
1297
+ * Number of audio channels. Supported values:
1298
+ * 1: Mono (default)
1299
+ * 2: Stereo
1300
+ */
1301
+ channels?: number;
1302
+ /**
1303
+ * Usage mode of the data. See RawAudioFrameOpModeType.
1304
+ */
1305
+ mode?: RawAudioFrameOpModeType;
1306
+ /**
1307
+ * Number of samples per call, typically 1024 in scenarios like media push.
1308
+ */
1309
+ samples_per_call?: number;
1310
+ }
1311
+ /**
1312
+ * Audio frame observer.
1313
+ *
1314
+ * You can call registerAudioFrameObserver to register or unregister the IAudioFrameObserverBase audio observer.
1315
+ */
1316
+ export interface IAudioFrameObserverBase {
1317
+ /**
1318
+ * Receives the raw audio data for recording.
1319
+ *
1320
+ * To ensure the recorded audio data format meets expectations, you can set the format as follows: Call setRecordingAudioFrameParameters to set the audio format, then call registerAudioFrameObserver to register the audio frame observer. The SDK calculates the sampling interval based on the parameters in this method and triggers the onRecordAudioFrame callback accordingly.
1321
+ *
1322
+ * @param channelId The channel ID.
1323
+ * @param audioFrame The raw audio data. See AudioFrame.
1324
+ */
1325
+ onRecordAudioFrame?(channelId: string, audioFrame: AudioFrame): void;
1326
+ /**
1327
+ * Receives the raw audio data for playback.
1328
+ *
1329
+ * To ensure the playback audio data format meets expectations, you can set the format as follows: Call setPlaybackAudioFrameParameters to set the audio format, then call registerAudioFrameObserver to register the audio frame observer. The SDK calculates the sampling interval based on the parameters in this method and triggers the onPlaybackAudioFrame callback accordingly.
1330
+ *
1331
+ * @param channelId The channel ID.
1332
+ * @param audioFrame The raw audio data. See AudioFrame.
1333
+ */
1334
+ onPlaybackAudioFrame?(channelId: string, audioFrame: AudioFrame): void;
1335
+ /**
1336
+ * Retrieves the audio data after mixing the captured and playback audio.
1337
+ *
1338
+ * To ensure that the format of the mixed audio data from capture and playback meets expectations, you can set the audio data format using the following method: After calling setMixedAudioFrameParameters to set the audio data format, call registerAudioFrameObserver to register the audio observer object. The SDK calculates the sampling interval based on the parameters in this method and triggers the onMixedAudioFrame callback accordingly.
1339
+ *
1340
+ * @param channelId Channel ID.
1341
+ * @param audioFrame Raw audio data. See AudioFrame.
1342
+ */
1343
+ onMixedAudioFrame?(channelId: string, audioFrame: AudioFrame): void;
1344
+ /**
1345
+ * Receives the raw audio data for ear monitoring.
1346
+ *
1347
+ * To ensure the ear monitoring audio data format meets expectations, you can set it as follows: Call setEarMonitoringAudioFrameParameters to set the audio format, then call registerAudioFrameObserver to register the audio frame observer. The SDK calculates the sampling interval based on the parameters in this method and triggers the onEarMonitoringAudioFrame callback accordingly.
1348
+ *
1349
+ * @param audioFrame The raw audio data. See AudioFrame.
1350
+ */
1351
+ onEarMonitoringAudioFrame?(audioFrame: AudioFrame): void;
1352
+ }
1353
+ /**
1354
+ * Audio frame observer.
1355
+ *
1356
+ * You can call registerAudioFrameObserver to register or unregister the IAudioFrameObserver.
1357
+ */
1358
+ export interface IAudioFrameObserver extends IAudioFrameObserverBase {
1359
+ /**
1360
+ * Receives the audio of subscribed remote users before mixing.
1361
+ *
1362
+ * Due to framework limitations, this callback does not support sending processed audio data back to the SDK.
1363
+ *
1364
+ * @param channelId The channel ID.
1365
+ * @param uid The ID of the subscribed remote user.
1366
+ * @param audioFrame The raw audio data. See AudioFrame.
1367
+ */
1368
+ onPlaybackAudioFrameBeforeMixing?(channelId: string, uid: number, audioFrame: AudioFrame): void;
1369
+ }
1370
+ /**
1371
+ * Audio spectrum data.
1372
+ */
1373
+ export declare class AudioSpectrumData {
1374
+ /**
1375
+ * Audio spectrum data. The SDK divides the sound frequency into 256 bands and reports the energy value of each band through this parameter. Each energy value ranges from [-300, 1], in dBFS.
1376
+ */
1377
+ audioSpectrumData?: number[];
1378
+ /**
1379
+ * The length of the audio spectrum data is 256.
1380
+ */
1381
+ dataLength?: number;
1382
+ }
1383
+ /**
1384
+ * Audio spectrum information of a remote user.
1385
+ */
1386
+ export declare class UserAudioSpectrumInfo {
1387
+ /**
1388
+ * Remote user ID.
1389
+ */
1390
+ uid?: number;
1391
+ /**
1392
+ * Audio spectrum data of the remote user. See AudioSpectrumData.
1393
+ */
1394
+ spectrumData?: AudioSpectrumData;
1395
+ }
1396
+ /**
1397
+ * Audio spectrum observer.
1398
+ */
1399
+ export interface IAudioSpectrumObserver {
1400
+ /**
1401
+ * Gets the local audio spectrum.
1402
+ *
1403
+ * After successfully calling registerAudioSpectrumObserver to implement the onLocalAudioSpectrum callback in IAudioSpectrumObserver and calling enableAudioSpectrumMonitor to enable audio spectrum monitoring, the SDK triggers this callback at the interval you set to report the spectrum of local audio data before encoding.
1404
+ *
1405
+ * @param data The local user's audio spectrum data. See AudioSpectrumData.
1406
+ */
1407
+ onLocalAudioSpectrum?(data: AudioSpectrumData): void;
1408
+ /**
1409
+ * Gets the remote audio spectrum.
1410
+ *
1411
+ * After successfully calling registerAudioSpectrumObserver to implement the onRemoteAudioSpectrum callback in IAudioSpectrumObserver and calling enableAudioSpectrumMonitor to enable audio spectrum monitoring, the SDK triggers this callback at the interval you set to report the spectrum of received remote audio data.
1412
+ *
1413
+ * @param spectrums The audio spectrum information of remote users. See UserAudioSpectrumInfo. The number of elements in the array equals the number of remote users monitored by the SDK. An empty array indicates no remote user audio spectrum is detected.
1414
+ * @param spectrumNumber The number of remote users.
1415
+ */
1416
+ onRemoteAudioSpectrum?(spectrums: UserAudioSpectrumInfo[], spectrumNumber: number): void;
1417
+ }
1418
+ /**
1419
+ * Class used to receive encoded video frames.
1420
+ */
1421
+ export interface IVideoEncodedFrameObserver {
1422
+ /**
1423
+ * Reports that a remote encoded video frame has been received.
1424
+ *
1425
+ * When you call setRemoteVideoSubscriptionOptions and set encodedFrameOnly to true, the SDK triggers this callback locally to report the received encoded video frame information.
1426
+ *
1427
+ * @param channelId Channel name.
1428
+ * @param uid Remote user ID.
1429
+ * @param imageBuffer Video image buffer.
1430
+ * @param length Length of the video image data.
1431
+ * @param videoEncodedFrameInfo Encoded video frame information. See EncodedVideoFrameInfo.
1432
+ */
1433
+ onEncodedVideoFrameReceived?(uid: number, imageBuffer: Uint8Array, length: number, videoEncodedFrameInfo: EncodedVideoFrameInfo): void;
1434
+ }
1435
+ /**
1436
+ * Video frame processing mode.
1437
+ */
1438
+ export declare enum VideoFrameProcessMode {
1439
+ /**
1440
+ * Read-only mode.
1441
+ * In read-only mode, you do not modify the video frame. The video observer acts as a renderer.
1442
+ */
1443
+ ProcessModeReadOnly = 0,
1444
+ /**
1445
+ * Read-write mode.
1446
+ * In read-write mode, you modify the video frame. The video observer acts as a video filter.
1447
+ */
1448
+ ProcessModeReadWrite = 1
1449
+ }
1450
+ /**
1451
+ * Video frame observer.
1452
+ *
1453
+ * You can call registerVideoFrameObserver to register or unregister the IVideoFrameObserver video observer.
1454
+ */
1455
+ export interface IVideoFrameObserver {
1456
+ /**
1457
+ * Gets the video data captured by the local device.
1458
+ *
1459
+ * You can get the raw video data captured by the local device in this callback.
1460
+ * If the video data format you receive is RGBA, the SDK does not support processing the Alpha channel.
1461
+ * When modifying parameters in videoFrame, ensure they match the actual video frame data in the buffer. Otherwise, unexpected rotation or distortion may occur in the local preview or remote video.
1462
+ * It is recommended to implement this callback using the C++ API.
1463
+ * Due to framework limitations, this callback does not support sending the processed video data back to the SDK.
1464
+ *
1465
+ * @param sourceType Type of video source, which may include camera, screen, or media player. See VideoSourceType.
1466
+ * @param videoFrame Video frame data. See VideoFrame. The default format of the video frame data obtained through this callback is:
1467
+ * macOS: I420
1468
+ * Windows: YUV420
1469
+ */
1470
+ onCaptureVideoFrame?(sourceType: VideoSourceType, videoFrame: VideoFrame): void;
1471
+ /**
1472
+ * Gets the video data before local encoding.
1473
+ *
1474
+ * After successfully registering the video data observer, the SDK triggers this callback when each video frame is captured. You can get the video data before encoding and process it as needed.
1475
+ * After processing, you can pass the processed video data back to the SDK in this callback.
1476
+ * It is recommended to implement this callback using the C++ API.
1477
+ * Due to framework limitations, this callback does not support sending the processed video data back to the SDK.
1478
+ * The video data obtained here has already been pre-processed, such as cropping, rotation, beautification, etc.
1479
+ * When modifying parameters in videoFrame, ensure they match the actual video frame data in the buffer. Otherwise, unexpected rotation or distortion may occur in the local preview or remote video.
1480
+ *
1481
+ * @param sourceType Type of video source. See VideoSourceType.
1482
+ * @param videoFrame Video frame data. See VideoFrame. The default format of the video frame data obtained through this callback is:
1483
+ * macOS: I420
1484
+ * Windows: YUV420
1485
+ */
1486
+ onPreEncodeVideoFrame?(sourceType: VideoSourceType, videoFrame: VideoFrame): void;
1487
+ /**
1488
+ * @ignore
1489
+ */
1490
+ onMediaPlayerVideoFrame?(videoFrame: VideoFrame, mediaPlayerId: number): void;
1491
+ /**
1492
+ * Gets the video data sent by the remote user.
1493
+ *
1494
+ * After successfully registering the video data observer, the SDK triggers this callback when each video frame is captured. You can get the video data sent by the remote user before rendering and process it as needed.
1495
+ * If the video data format you receive is RGBA, the SDK does not support processing the Alpha channel.
1496
+ * It is recommended to implement this callback using the C++ API.
1497
+ * Due to framework limitations, this callback does not support sending the processed video data back to the SDK.
1498
+ * When modifying parameters in videoFrame, ensure they match the actual video frame data in the buffer. Otherwise, unexpected rotation or distortion may occur in the local preview or remote video.
1499
+ *
1500
+ * @param channelId Channel ID.
1501
+ * @param remoteUid The user ID of the remote user who sent the video frame.
1502
+ * @param videoFrame Video frame data. See VideoFrame. The default format of the video frame data obtained through this callback is:
1503
+ * macOS: I420
1504
+ * Windows: YUV420
1505
+ */
1506
+ onRenderVideoFrame?(channelId: string, remoteUid: number, videoFrame: VideoFrame): void;
1507
+ /**
1508
+ * @ignore
1509
+ */
1510
+ onTranscodedVideoFrame?(videoFrame: VideoFrame): void;
1511
+ }
1512
+ /**
1513
+ * Encoding type of external video frames.
1514
+ */
1515
+ export declare enum ExternalVideoSourceType {
1516
+ /**
1517
+ * 0: Unencoded video frame.
1518
+ */
1519
+ VideoFrame = 0,
1520
+ /**
1521
+ * 1: Encoded video frame.
1522
+ */
1523
+ EncodedVideoFrame = 1
1524
+ }
1525
+ /**
1526
+ * @ignore
1527
+ */
1528
+ export declare enum MediaRecorderContainerFormat {
1529
+ /**
1530
+ * @ignore
1531
+ */
1532
+ FormatMp4 = 1
1533
+ }
1534
+ /**
1535
+ * @ignore
1536
+ */
1537
+ export declare enum MediaRecorderStreamType {
1538
+ /**
1539
+ * @ignore
1540
+ */
1541
+ StreamTypeAudio = 1,
1542
+ /**
1543
+ * @ignore
1544
+ */
1545
+ StreamTypeVideo = 2,
1546
+ /**
1547
+ * @ignore
1548
+ */
1549
+ StreamTypeBoth = 3
1550
+ }
1551
+ /**
1552
+ * Current recording state.
1553
+ */
1554
+ export declare enum RecorderState {
1555
+ /**
1556
+ * -1: Audio/video stream recording error. See RecorderReasonCode for details.
1557
+ */
1558
+ RecorderStateError = -1,
1559
+ /**
1560
+ * 2: Audio/video stream recording started.
1561
+ */
1562
+ RecorderStateStart = 2,
1563
+ /**
1564
+ * 3: Audio/video stream recording stopped.
1565
+ */
1566
+ RecorderStateStop = 3
1567
+ }
1568
+ /**
1569
+ * Reason for recording state error.
1570
+ */
1571
+ export declare enum RecorderReasonCode {
1572
+ /**
1573
+ * 0: Everything is normal.
1574
+ */
1575
+ RecorderReasonNone = 0,
1576
+ /**
1577
+ * @ignore
1578
+ */
1579
+ RecorderReasonWriteFailed = 1,
1580
+ /**
1581
+ * @ignore
1582
+ */
1583
+ RecorderReasonNoStream = 2,
1584
+ /**
1585
+ * @ignore
1586
+ */
1587
+ RecorderReasonOverMaxDuration = 3,
1588
+ /**
1589
+ * @ignore
1590
+ */
1591
+ RecorderReasonConfigChanged = 4
1592
+ }
1593
+ /**
1594
+ * @ignore
1595
+ */
1596
+ export declare class MediaRecorderConfiguration {
1597
+ /**
1598
+ * @ignore
1599
+ */
1600
+ storagePath?: string;
1601
+ /**
1602
+ * @ignore
1603
+ */
1604
+ containerFormat?: MediaRecorderContainerFormat;
1605
+ /**
1606
+ * @ignore
1607
+ */
1608
+ streamType?: MediaRecorderStreamType;
1609
+ /**
1610
+ * @ignore
1611
+ */
1612
+ maxDurationMs?: number;
1613
+ /**
1614
+ * @ignore
1615
+ */
1616
+ recorderInfoUpdateInterval?: number;
1617
+ /**
1618
+ * @ignore
1619
+ */
1620
+ width?: number;
1621
+ /**
1622
+ * @ignore
1623
+ */
1624
+ height?: number;
1625
+ /**
1626
+ * @ignore
1627
+ */
1628
+ fps?: number;
1629
+ /**
1630
+ * @ignore
1631
+ */
1632
+ sample_rate?: number;
1633
+ /**
1634
+ * @ignore
1635
+ */
1636
+ channel_num?: number;
1637
+ /**
1638
+ * @ignore
1639
+ */
1640
+ videoSourceType?: VideoSourceType;
1641
+ }
1642
+ /**
1643
+ * Face information observer.
1644
+ *
1645
+ * You can call registerFaceInfoObserver to register the IFaceInfoObserver observer.
1646
+ */
1647
+ export interface IFaceInfoObserver {
1648
+ /**
1649
+ * Reports face information processed by the voice driver plugin.
1650
+ *
1651
+ * @param outFaceInfo Output parameter. A JSON string of the face information processed by the voice driver plugin, containing the following fields:
1652
+ * faces: An array of objects. Each object contains information about a detected face.
1653
+ * blendshapes: Object. A set of blendshape coefficients named according to the ARKit standard. Each key-value pair represents a blendshape coefficient. The coefficient is a float in the range [0.0, 1.0].
1654
+ * rotation: An array of objects. Head rotation values, including the following key-value pairs with float values in the range [-180.0, 180.0]:
1655
+ * pitch: Head pitch angle. Positive when looking down, negative when looking up.
1656
+ * yaw: Head yaw angle. Positive when turning left, negative when turning right.
1657
+ * roll: Head roll angle. Positive when tilting right, negative when tilting left.
1658
+ * timestamp: String. The timestamp of the output result in milliseconds. Example JSON: { "faces":[{ "blendshapes":{ "eyeBlinkLeft":0.9, "eyeLookDownLeft":0.0, "eyeLookInLeft":0.0, "eyeLookOutLeft":0.0, "eyeLookUpLeft":0.0, "eyeSquintLeft":0.0, "eyeWideLeft":0.0, "eyeBlinkRight":0.0, "eyeLookDownRight":0.0, "eyeLookInRight":0.0, "eyeLookOutRight":0.0, "eyeLookUpRight":0.0, "eyeSquintRight":0.0, "eyeWideRight":0.0, "jawForward":0.0, "jawLeft":0.0, "jawRight":0.0, "jawOpen":0.0, "mouthClose":0.0, "mouthFunnel":0.0, "mouthPucker":0.0, "mouthLeft":0.0, "mouthRight":0.0, "mouthSmileLeft":0.0, "mouthSmileRight":0.0, "mouthFrownLeft":0.0, "mouthFrownRight":0.0, "mouthDimpleLeft":0.0, "mouthDimpleRight":0.0, "mouthStretchLeft":0.0, "mouthStretchRight":0.0, "mouthRollLower":0.0, "mouthRollUpper":0.0, "mouthShrugLower":0.0, "mouthShrugUpper":0.0, "mouthPressLeft":0.0, "mouthPressRight":0.0, "mouthLowerDownLeft":0.0, "mouthLowerDownRight":0.0, "mouthUpperUpLeft":0.0, "mouthUpperUpRight":0.0, "browDownLeft":0.0, "browDownRight":0.0, "browInnerUp":0.0, "browOuterUpLeft":0.0, "browOuterUpRight":0.0, "cheekPuff":0.0, "cheekSquintLeft":0.0, "cheekSquintRight":0.0, "noseSneerLeft":0.0, "noseSneerRight":0.0, "tongueOut":0.0 }, "rotation":{"pitch":30.0, "yaw":25.5, "roll":-15.5}, }], "timestamp":"654879876546" }
1659
+ *
1660
+ * @returns
1661
+ * true : Successfully parsed the face information JSON. false : Failed to parse the face information JSON.
1662
+ */
1663
+ onFaceInfo?(outFaceInfo: string): void;
1664
+ }
1665
+ /**
1666
+ * @ignore
1667
+ */
1668
+ export declare class RecorderInfo {
1669
+ /**
1670
+ * @ignore
1671
+ */
1672
+ fileName?: string;
1673
+ /**
1674
+ * @ignore
1675
+ */
1676
+ durationMs?: number;
1677
+ /**
1678
+ * @ignore
1679
+ */
1680
+ fileSize?: number;
1681
+ }
1682
+ /**
1683
+ * @ignore
1684
+ */
1685
+ export interface IMediaRecorderObserver {
1686
+ /**
1687
+ * @ignore
1688
+ */
1689
+ onRecorderStateChanged?(channelId: string, uid: number, state: RecorderState, reason: RecorderReasonCode): void;
1690
+ /**
1691
+ * @ignore
1692
+ */
1693
+ onRecorderInfoUpdated?(channelId: string, uid: number, info: RecorderInfo): void;
1694
+ }
1695
+ //# sourceMappingURL=AgoraMediaBase.d.ts.map