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.
- package/CHANGELOG.md +39 -0
- package/README.md +6 -3
- package/js/example/src/renderer/examples/advanced/VideoEffect/videoEffectHelpers.js +395 -0
- package/js/{AgoraSdk.js → ts/AgoraSdk.js} +2 -12
- package/js/{Decoder → ts/Decoder}/index.js +1 -1
- package/js/{Private → ts/Private}/AgoraBase.js +829 -674
- package/js/{Private → ts/Private}/AgoraMediaBase.js +154 -151
- package/js/{Private → ts/Private}/AgoraMediaPlayerTypes.js +58 -54
- package/js/{Private → ts/Private}/IAgoraLog.js +13 -13
- package/js/{Private → ts/Private}/IAgoraMediaEngine.js +4 -4
- package/js/{Private → ts/Private}/IAgoraMediaPlayer.js +2 -2
- package/js/{Private → ts/Private}/IAgoraMusicContentCenter.js +1 -1
- package/js/{Private → ts/Private}/IAgoraRhythmPlayer.js +13 -13
- package/js/{Private → ts/Private}/IAgoraRtcEngine.js +150 -94
- package/js/{Private → ts/Private}/IAgoraRtcEngineEx.js +3 -3
- package/js/{Private → ts/Private}/IAgoraSpatialAudio.js +4 -4
- package/js/{Private → ts/Private}/IAudioDeviceManager.js +2 -2
- package/js/{Private → ts/Private}/impl/IAgoraMediaPlayerImpl.js +10 -0
- package/js/{Private → ts/Private}/impl/IAgoraRtcEngineExImpl.js +74 -0
- package/js/{Private → ts/Private}/impl/IAgoraRtcEngineImpl.js +233 -1
- package/js/{Private → ts/Private}/internal/IrisApiEngine.js +45 -0
- package/js/{Private → ts/Private}/internal/RtcEngineExInternal.js +74 -4
- package/js/ts/Private/internal/VideoEffectObjectInternal.js +14 -0
- package/js/{Private → ts/Private}/ti/IAgoraRtcEngine-ti.js +2 -0
- package/js/{Renderer → ts/Renderer}/AgoraView.js +19 -2
- package/js/{Renderer → ts/Renderer}/IRenderer.js +7 -4
- package/js/{Renderer → ts/Renderer}/IRendererCache.js +17 -1
- package/js/ts/Renderer/RendererCache.js +252 -0
- package/js/{Renderer → ts/Renderer}/RendererManager.js +13 -64
- package/js/{Renderer → ts/Renderer}/WebCodecsRenderer/index.js +5 -5
- package/js/{Renderer → ts/Renderer}/WebCodecsRendererCache.js +13 -1
- package/js/{Renderer → ts/Renderer}/WebGLRenderer/index.js +179 -26
- package/js/{Renderer → ts/Renderer}/YUVCanvasRenderer/index.js +12 -5
- package/js/{Utils.js → ts/Utils.js} +7 -7
- package/package.json +25 -12
- package/scripts/checkElectron.js +4 -2
- package/scripts/download.js +102 -0
- package/scripts/downloadPrebuild.js +2 -1
- package/scripts/synclib.js +2 -2
- package/ts/AgoraSdk.ts +2 -12
- package/ts/Decoder/index.ts +5 -1
- package/ts/Private/AgoraBase.ts +1259 -1060
- package/ts/Private/AgoraMediaBase.ts +351 -324
- package/ts/Private/AgoraMediaPlayerTypes.ts +94 -91
- package/ts/Private/IAgoraLog.ts +20 -18
- package/ts/Private/IAgoraMediaEngine.ts +86 -81
- package/ts/Private/IAgoraMediaPlayer.ts +196 -181
- package/ts/Private/IAgoraMediaPlayerSource.ts +40 -40
- package/ts/Private/IAgoraMusicContentCenter.ts +3 -3
- package/ts/Private/IAgoraRhythmPlayer.ts +15 -15
- package/ts/Private/IAgoraRtcEngine.ts +2492 -2047
- package/ts/Private/IAgoraRtcEngineEx.ts +434 -335
- package/ts/Private/IAgoraSpatialAudio.ts +43 -45
- package/ts/Private/IAudioDeviceManager.ts +106 -97
- package/ts/Private/impl/IAgoraMediaPlayerImpl.ts +12 -0
- package/ts/Private/impl/IAgoraRtcEngineExImpl.ts +138 -0
- package/ts/Private/impl/IAgoraRtcEngineImpl.ts +331 -0
- package/ts/Private/internal/IrisApiEngine.ts +47 -0
- package/ts/Private/internal/RtcEngineExInternal.ts +106 -9
- package/ts/Private/internal/VideoEffectObjectInternal.ts +14 -0
- package/ts/Private/ti/IAgoraRtcEngine-ti.ts +2 -0
- package/ts/Renderer/AgoraView.ts +32 -3
- package/ts/Renderer/IRenderer.ts +8 -3
- package/ts/Renderer/IRendererCache.ts +33 -0
- package/ts/Renderer/RendererCache.ts +211 -12
- package/ts/Renderer/RendererManager.ts +21 -99
- package/ts/Renderer/WebCodecsRenderer/index.ts +9 -6
- package/ts/Renderer/WebCodecsRendererCache.ts +17 -1
- package/ts/Renderer/WebGLRenderer/index.ts +246 -40
- package/ts/Renderer/YUVCanvasRenderer/index.ts +29 -16
- package/ts/Types.ts +14 -9
- package/ts/Utils.ts +8 -7
- package/types/example/src/renderer/examples/advanced/VideoEffect/videoEffectHelpers.d.ts +168 -0
- package/types/example/src/renderer/examples/advanced/VideoEffect/videoEffectHelpers.d.ts.map +1 -0
- package/types/{AgoraSdk.d.ts → ts/AgoraSdk.d.ts} +2 -12
- package/types/ts/AgoraSdk.d.ts.map +1 -0
- package/types/ts/Decoder/gpu-utils.d.ts.map +1 -0
- package/types/ts/Decoder/index.d.ts.map +1 -0
- package/types/ts/Private/AgoraBase.d.ts +5504 -0
- package/types/ts/Private/AgoraBase.d.ts.map +1 -0
- package/types/ts/Private/AgoraMediaBase.d.ts +1695 -0
- package/types/ts/Private/AgoraMediaBase.d.ts.map +1 -0
- package/types/ts/Private/AgoraMediaPlayerTypes.d.ts +456 -0
- package/types/ts/Private/AgoraMediaPlayerTypes.d.ts.map +1 -0
- package/types/ts/Private/IAgoraH265Transcoder.d.ts.map +1 -0
- package/types/ts/Private/IAgoraLog.d.ts +91 -0
- package/types/ts/Private/IAgoraLog.d.ts.map +1 -0
- package/types/ts/Private/IAgoraMediaEngine.d.ts +255 -0
- package/types/ts/Private/IAgoraMediaEngine.d.ts.map +1 -0
- package/types/ts/Private/IAgoraMediaPlayer.d.ts +662 -0
- package/types/ts/Private/IAgoraMediaPlayer.d.ts.map +1 -0
- package/types/ts/Private/IAgoraMediaPlayerSource.d.ts +109 -0
- package/types/ts/Private/IAgoraMediaPlayerSource.d.ts.map +1 -0
- package/types/ts/Private/IAgoraMediaRecorder.d.ts.map +1 -0
- package/types/ts/Private/IAgoraMediaStreamingSource.d.ts.map +1 -0
- package/types/{Private → ts/Private}/IAgoraMusicContentCenter.d.ts +3 -3
- package/types/ts/Private/IAgoraMusicContentCenter.d.ts.map +1 -0
- package/types/ts/Private/IAgoraRhythmPlayer.d.ts +65 -0
- package/types/ts/Private/IAgoraRhythmPlayer.d.ts.map +1 -0
- package/types/ts/Private/IAgoraRtcEngine.d.ts +6504 -0
- package/types/ts/Private/IAgoraRtcEngine.d.ts.map +1 -0
- package/types/ts/Private/IAgoraRtcEngineEx.d.ts +817 -0
- package/types/ts/Private/IAgoraRtcEngineEx.d.ts.map +1 -0
- package/types/ts/Private/IAgoraSpatialAudio.d.ts +194 -0
- package/types/ts/Private/IAgoraSpatialAudio.d.ts.map +1 -0
- package/types/ts/Private/IAudioDeviceManager.d.ts +321 -0
- package/types/ts/Private/IAudioDeviceManager.d.ts.map +1 -0
- package/types/ts/Private/extension/AgoraBaseExtension.d.ts.map +1 -0
- package/types/ts/Private/extension/AgoraMediaBaseExtension.d.ts.map +1 -0
- package/types/ts/Private/extension/AgoraMediaPlayerTypesExtension.d.ts.map +1 -0
- package/types/ts/Private/extension/IAgoraH265TranscoderExtension.d.ts.map +1 -0
- package/types/ts/Private/extension/IAgoraLogExtension.d.ts.map +1 -0
- package/types/ts/Private/extension/IAgoraMediaEngineExtension.d.ts.map +1 -0
- package/types/ts/Private/extension/IAgoraMediaPlayerExtension.d.ts.map +1 -0
- package/types/ts/Private/extension/IAgoraMediaPlayerSourceExtension.d.ts.map +1 -0
- package/types/ts/Private/extension/IAgoraMediaRecorderExtension.d.ts.map +1 -0
- package/types/ts/Private/extension/IAgoraMusicContentCenterExtension.d.ts.map +1 -0
- package/types/ts/Private/extension/IAgoraRhythmPlayerExtension.d.ts.map +1 -0
- package/types/ts/Private/extension/IAgoraRtcEngineExExtension.d.ts.map +1 -0
- package/types/ts/Private/extension/IAgoraRtcEngineExtension.d.ts.map +1 -0
- package/types/ts/Private/extension/IAgoraSpatialAudioExtension.d.ts.map +1 -0
- package/types/ts/Private/extension/IAudioDeviceManagerExtension.d.ts.map +1 -0
- package/types/ts/Private/impl/AgoraBaseImpl.d.ts.map +1 -0
- package/types/ts/Private/impl/AgoraMediaBaseImpl.d.ts.map +1 -0
- package/types/ts/Private/impl/IAgoraH265TranscoderImpl.d.ts.map +1 -0
- package/types/ts/Private/impl/IAgoraMediaEngineImpl.d.ts.map +1 -0
- package/types/{Private → ts/Private}/impl/IAgoraMediaPlayerImpl.d.ts +2 -0
- package/types/ts/Private/impl/IAgoraMediaPlayerImpl.d.ts.map +1 -0
- package/types/ts/Private/impl/IAgoraMediaPlayerSourceImpl.d.ts.map +1 -0
- package/types/ts/Private/impl/IAgoraMediaRecorderImpl.d.ts.map +1 -0
- package/types/ts/Private/impl/IAgoraMusicContentCenterImpl.d.ts.map +1 -0
- package/types/{Private → ts/Private}/impl/IAgoraRtcEngineExImpl.d.ts +7 -1
- package/types/ts/Private/impl/IAgoraRtcEngineExImpl.d.ts.map +1 -0
- package/types/{Private → ts/Private}/impl/IAgoraRtcEngineImpl.d.ts +27 -1
- package/types/ts/Private/impl/IAgoraRtcEngineImpl.d.ts.map +1 -0
- package/types/ts/Private/impl/IAgoraSpatialAudioImpl.d.ts.map +1 -0
- package/types/ts/Private/impl/IAudioDeviceManagerImpl.d.ts.map +1 -0
- package/types/ts/Private/internal/AgoraH265TranscoderInternal.d.ts.map +1 -0
- package/types/ts/Private/internal/AgoraMediaBaseInternal.d.ts.map +1 -0
- package/types/ts/Private/internal/AudioDeviceManagerInternal.d.ts.map +1 -0
- package/types/ts/Private/internal/IrisApiEngine.d.ts.map +1 -0
- package/types/ts/Private/internal/LocalSpatialAudioEngineInternal.d.ts.map +1 -0
- package/types/ts/Private/internal/MediaEngineInternal.d.ts.map +1 -0
- package/types/ts/Private/internal/MediaPlayerInternal.d.ts.map +1 -0
- package/types/ts/Private/internal/MediaRecorderInternal.d.ts.map +1 -0
- package/types/ts/Private/internal/MusicContentCenterInternal.d.ts.map +1 -0
- package/types/{Private → ts/Private}/internal/RtcEngineExInternal.d.ts +10 -4
- package/types/ts/Private/internal/RtcEngineExInternal.d.ts.map +1 -0
- package/types/ts/Private/internal/VideoEffectObjectInternal.d.ts +7 -0
- package/types/ts/Private/internal/VideoEffectObjectInternal.d.ts.map +1 -0
- package/types/{Private → ts/Private}/ipc/main.d.ts.map +1 -1
- package/types/ts/Private/ipc/renderer.d.ts.map +1 -0
- package/types/ts/Private/ti/AgoraBase-ti.d.ts.map +1 -0
- package/types/ts/Private/ti/AgoraMediaBase-ti.d.ts.map +1 -0
- package/types/ts/Private/ti/AgoraMediaPlayerTypes-ti.d.ts.map +1 -0
- package/types/ts/Private/ti/IAgoraH265Transcoder-ti.d.ts.map +1 -0
- package/types/ts/Private/ti/IAgoraLog-ti.d.ts.map +1 -0
- package/types/ts/Private/ti/IAgoraMediaEngine-ti.d.ts.map +1 -0
- package/types/ts/Private/ti/IAgoraMediaPlayer-ti.d.ts.map +1 -0
- package/types/ts/Private/ti/IAgoraMediaPlayerSource-ti.d.ts.map +1 -0
- package/types/ts/Private/ti/IAgoraMediaRecorder-ti.d.ts.map +1 -0
- package/types/ts/Private/ti/IAgoraMediaStreamingSource-ti.d.ts.map +1 -0
- package/types/ts/Private/ti/IAgoraMusicContentCenter-ti.d.ts.map +1 -0
- package/types/ts/Private/ti/IAgoraRhythmPlayer-ti.d.ts.map +1 -0
- package/types/ts/Private/ti/IAgoraRtcEngine-ti.d.ts.map +1 -0
- package/types/ts/Private/ti/IAgoraRtcEngineEx-ti.d.ts.map +1 -0
- package/types/ts/Private/ti/IAgoraSpatialAudio-ti.d.ts.map +1 -0
- package/types/ts/Private/ti/IAudioDeviceManager-ti.d.ts.map +1 -0
- package/types/{Renderer → ts/Renderer}/AgoraView.d.ts +6 -0
- package/types/ts/Renderer/AgoraView.d.ts.map +1 -0
- package/types/ts/Renderer/CapabilityManager.d.ts.map +1 -0
- package/types/{Renderer → ts/Renderer}/IRenderer.d.ts +2 -2
- package/types/ts/Renderer/IRenderer.d.ts.map +1 -0
- package/types/{Renderer → ts/Renderer}/IRendererCache.d.ts +21 -1
- package/types/ts/Renderer/IRendererCache.d.ts.map +1 -0
- package/types/{Renderer → ts/Renderer}/RendererCache.d.ts +27 -0
- package/types/ts/Renderer/RendererCache.d.ts.map +1 -0
- package/types/{Renderer → ts/Renderer}/RendererManager.d.ts +4 -17
- package/types/ts/Renderer/RendererManager.d.ts.map +1 -0
- package/types/{Renderer → ts/Renderer}/WebCodecsRenderer/index.d.ts +3 -3
- package/types/ts/Renderer/WebCodecsRenderer/index.d.ts.map +1 -0
- package/types/{Renderer → ts/Renderer}/WebCodecsRendererCache.d.ts +7 -0
- package/types/ts/Renderer/WebCodecsRendererCache.d.ts.map +1 -0
- package/types/{Renderer → ts/Renderer}/WebGLRenderer/index.d.ts +12 -2
- package/types/ts/Renderer/WebGLRenderer/index.d.ts.map +1 -0
- package/types/ts/Renderer/WebGLRenderer/webgl-utils.d.ts.map +1 -0
- package/types/ts/Renderer/YUVCanvasRenderer/index.d.ts +10 -0
- package/types/ts/Renderer/YUVCanvasRenderer/index.d.ts.map +1 -0
- package/types/ts/Renderer/index.d.ts.map +1 -0
- package/types/{Types.d.ts → ts/Types.d.ts} +11 -6
- package/types/ts/Types.d.ts.map +1 -0
- package/types/{Utils.d.ts → ts/Utils.d.ts} +1 -1
- package/types/ts/Utils.d.ts.map +1 -0
- package/js/Renderer/RendererCache.js +0 -100
- package/types/AgoraSdk.d.ts.map +0 -1
- package/types/Decoder/gpu-utils.d.ts.map +0 -1
- package/types/Decoder/index.d.ts.map +0 -1
- package/types/Private/AgoraBase.d.ts +0 -5310
- package/types/Private/AgoraBase.d.ts.map +0 -1
- package/types/Private/AgoraMediaBase.d.ts +0 -1668
- package/types/Private/AgoraMediaBase.d.ts.map +0 -1
- package/types/Private/AgoraMediaPlayerTypes.d.ts +0 -453
- package/types/Private/AgoraMediaPlayerTypes.d.ts.map +0 -1
- package/types/Private/IAgoraH265Transcoder.d.ts.map +0 -1
- package/types/Private/IAgoraLog.d.ts +0 -89
- package/types/Private/IAgoraLog.d.ts.map +0 -1
- package/types/Private/IAgoraMediaEngine.d.ts +0 -250
- package/types/Private/IAgoraMediaEngine.d.ts.map +0 -1
- package/types/Private/IAgoraMediaPlayer.d.ts +0 -648
- package/types/Private/IAgoraMediaPlayer.d.ts.map +0 -1
- package/types/Private/IAgoraMediaPlayerSource.d.ts +0 -109
- package/types/Private/IAgoraMediaPlayerSource.d.ts.map +0 -1
- package/types/Private/IAgoraMediaRecorder.d.ts.map +0 -1
- package/types/Private/IAgoraMediaStreamingSource.d.ts.map +0 -1
- package/types/Private/IAgoraMusicContentCenter.d.ts.map +0 -1
- package/types/Private/IAgoraRhythmPlayer.d.ts +0 -65
- package/types/Private/IAgoraRhythmPlayer.d.ts.map +0 -1
- package/types/Private/IAgoraRtcEngine.d.ts +0 -6103
- package/types/Private/IAgoraRtcEngine.d.ts.map +0 -1
- package/types/Private/IAgoraRtcEngineEx.d.ts +0 -741
- package/types/Private/IAgoraRtcEngineEx.d.ts.map +0 -1
- package/types/Private/IAgoraSpatialAudio.d.ts +0 -196
- package/types/Private/IAgoraSpatialAudio.d.ts.map +0 -1
- package/types/Private/IAudioDeviceManager.d.ts +0 -312
- package/types/Private/IAudioDeviceManager.d.ts.map +0 -1
- package/types/Private/extension/AgoraBaseExtension.d.ts.map +0 -1
- package/types/Private/extension/AgoraMediaBaseExtension.d.ts.map +0 -1
- package/types/Private/extension/AgoraMediaPlayerTypesExtension.d.ts.map +0 -1
- package/types/Private/extension/IAgoraH265TranscoderExtension.d.ts.map +0 -1
- package/types/Private/extension/IAgoraLogExtension.d.ts.map +0 -1
- package/types/Private/extension/IAgoraMediaEngineExtension.d.ts.map +0 -1
- package/types/Private/extension/IAgoraMediaPlayerExtension.d.ts.map +0 -1
- package/types/Private/extension/IAgoraMediaPlayerSourceExtension.d.ts.map +0 -1
- package/types/Private/extension/IAgoraMediaRecorderExtension.d.ts.map +0 -1
- package/types/Private/extension/IAgoraMusicContentCenterExtension.d.ts.map +0 -1
- package/types/Private/extension/IAgoraRhythmPlayerExtension.d.ts.map +0 -1
- package/types/Private/extension/IAgoraRtcEngineExExtension.d.ts.map +0 -1
- package/types/Private/extension/IAgoraRtcEngineExtension.d.ts.map +0 -1
- package/types/Private/extension/IAgoraSpatialAudioExtension.d.ts.map +0 -1
- package/types/Private/extension/IAudioDeviceManagerExtension.d.ts.map +0 -1
- package/types/Private/impl/AgoraBaseImpl.d.ts.map +0 -1
- package/types/Private/impl/AgoraMediaBaseImpl.d.ts.map +0 -1
- package/types/Private/impl/IAgoraH265TranscoderImpl.d.ts.map +0 -1
- package/types/Private/impl/IAgoraMediaEngineImpl.d.ts.map +0 -1
- package/types/Private/impl/IAgoraMediaPlayerImpl.d.ts.map +0 -1
- package/types/Private/impl/IAgoraMediaPlayerSourceImpl.d.ts.map +0 -1
- package/types/Private/impl/IAgoraMediaRecorderImpl.d.ts.map +0 -1
- package/types/Private/impl/IAgoraMusicContentCenterImpl.d.ts.map +0 -1
- package/types/Private/impl/IAgoraRtcEngineExImpl.d.ts.map +0 -1
- package/types/Private/impl/IAgoraRtcEngineImpl.d.ts.map +0 -1
- package/types/Private/impl/IAgoraSpatialAudioImpl.d.ts.map +0 -1
- package/types/Private/impl/IAudioDeviceManagerImpl.d.ts.map +0 -1
- package/types/Private/internal/AgoraH265TranscoderInternal.d.ts.map +0 -1
- package/types/Private/internal/AgoraMediaBaseInternal.d.ts.map +0 -1
- package/types/Private/internal/AudioDeviceManagerInternal.d.ts.map +0 -1
- package/types/Private/internal/IrisApiEngine.d.ts.map +0 -1
- package/types/Private/internal/LocalSpatialAudioEngineInternal.d.ts.map +0 -1
- package/types/Private/internal/MediaEngineInternal.d.ts.map +0 -1
- package/types/Private/internal/MediaPlayerInternal.d.ts.map +0 -1
- package/types/Private/internal/MediaRecorderInternal.d.ts.map +0 -1
- package/types/Private/internal/MusicContentCenterInternal.d.ts.map +0 -1
- package/types/Private/internal/RtcEngineExInternal.d.ts.map +0 -1
- package/types/Private/ipc/renderer.d.ts.map +0 -1
- package/types/Private/ti/AgoraBase-ti.d.ts.map +0 -1
- package/types/Private/ti/AgoraMediaBase-ti.d.ts.map +0 -1
- package/types/Private/ti/AgoraMediaPlayerTypes-ti.d.ts.map +0 -1
- package/types/Private/ti/IAgoraH265Transcoder-ti.d.ts.map +0 -1
- package/types/Private/ti/IAgoraLog-ti.d.ts.map +0 -1
- package/types/Private/ti/IAgoraMediaEngine-ti.d.ts.map +0 -1
- package/types/Private/ti/IAgoraMediaPlayer-ti.d.ts.map +0 -1
- package/types/Private/ti/IAgoraMediaPlayerSource-ti.d.ts.map +0 -1
- package/types/Private/ti/IAgoraMediaRecorder-ti.d.ts.map +0 -1
- package/types/Private/ti/IAgoraMediaStreamingSource-ti.d.ts.map +0 -1
- package/types/Private/ti/IAgoraMusicContentCenter-ti.d.ts.map +0 -1
- package/types/Private/ti/IAgoraRhythmPlayer-ti.d.ts.map +0 -1
- package/types/Private/ti/IAgoraRtcEngine-ti.d.ts.map +0 -1
- package/types/Private/ti/IAgoraRtcEngineEx-ti.d.ts.map +0 -1
- package/types/Private/ti/IAgoraSpatialAudio-ti.d.ts.map +0 -1
- package/types/Private/ti/IAudioDeviceManager-ti.d.ts.map +0 -1
- package/types/Renderer/AgoraView.d.ts.map +0 -1
- package/types/Renderer/CapabilityManager.d.ts.map +0 -1
- package/types/Renderer/IRenderer.d.ts.map +0 -1
- package/types/Renderer/IRendererCache.d.ts.map +0 -1
- package/types/Renderer/RendererCache.d.ts.map +0 -1
- package/types/Renderer/RendererManager.d.ts.map +0 -1
- package/types/Renderer/WebCodecsRenderer/index.d.ts.map +0 -1
- package/types/Renderer/WebCodecsRendererCache.d.ts.map +0 -1
- package/types/Renderer/WebGLRenderer/index.d.ts.map +0 -1
- package/types/Renderer/WebGLRenderer/webgl-utils.d.ts.map +0 -1
- package/types/Renderer/YUVCanvasRenderer/index.d.ts +0 -9
- package/types/Renderer/YUVCanvasRenderer/index.d.ts.map +0 -1
- package/types/Renderer/index.d.ts.map +0 -1
- package/types/Types.d.ts.map +0 -1
- package/types/Utils.d.ts.map +0 -1
- /package/js/{Decoder → ts/Decoder}/gpu-utils.js +0 -0
- /package/js/{Private → ts/Private}/IAgoraH265Transcoder.js +0 -0
- /package/js/{Private → ts/Private}/IAgoraMediaPlayerSource.js +0 -0
- /package/js/{Private → ts/Private}/IAgoraMediaRecorder.js +0 -0
- /package/js/{Private → ts/Private}/IAgoraMediaStreamingSource.js +0 -0
- /package/js/{Private → ts/Private}/extension/AgoraBaseExtension.js +0 -0
- /package/js/{Private → ts/Private}/extension/AgoraMediaBaseExtension.js +0 -0
- /package/js/{Private → ts/Private}/extension/AgoraMediaPlayerTypesExtension.js +0 -0
- /package/js/{Private → ts/Private}/extension/IAgoraH265TranscoderExtension.js +0 -0
- /package/js/{Private → ts/Private}/extension/IAgoraLogExtension.js +0 -0
- /package/js/{Private → ts/Private}/extension/IAgoraMediaEngineExtension.js +0 -0
- /package/js/{Private → ts/Private}/extension/IAgoraMediaPlayerExtension.js +0 -0
- /package/js/{Private → ts/Private}/extension/IAgoraMediaPlayerSourceExtension.js +0 -0
- /package/js/{Private → ts/Private}/extension/IAgoraMediaRecorderExtension.js +0 -0
- /package/js/{Private → ts/Private}/extension/IAgoraMusicContentCenterExtension.js +0 -0
- /package/js/{Private → ts/Private}/extension/IAgoraRhythmPlayerExtension.js +0 -0
- /package/js/{Private → ts/Private}/extension/IAgoraRtcEngineExExtension.js +0 -0
- /package/js/{Private → ts/Private}/extension/IAgoraRtcEngineExtension.js +0 -0
- /package/js/{Private → ts/Private}/extension/IAgoraSpatialAudioExtension.js +0 -0
- /package/js/{Private → ts/Private}/extension/IAudioDeviceManagerExtension.js +0 -0
- /package/js/{Private → ts/Private}/impl/AgoraBaseImpl.js +0 -0
- /package/js/{Private → ts/Private}/impl/AgoraMediaBaseImpl.js +0 -0
- /package/js/{Private → ts/Private}/impl/IAgoraH265TranscoderImpl.js +0 -0
- /package/js/{Private → ts/Private}/impl/IAgoraMediaEngineImpl.js +0 -0
- /package/js/{Private → ts/Private}/impl/IAgoraMediaPlayerSourceImpl.js +0 -0
- /package/js/{Private → ts/Private}/impl/IAgoraMediaRecorderImpl.js +0 -0
- /package/js/{Private → ts/Private}/impl/IAgoraMusicContentCenterImpl.js +0 -0
- /package/js/{Private → ts/Private}/impl/IAgoraSpatialAudioImpl.js +0 -0
- /package/js/{Private → ts/Private}/impl/IAudioDeviceManagerImpl.js +0 -0
- /package/js/{Private → ts/Private}/internal/AgoraH265TranscoderInternal.js +0 -0
- /package/js/{Private → ts/Private}/internal/AgoraMediaBaseInternal.js +0 -0
- /package/js/{Private → ts/Private}/internal/AudioDeviceManagerInternal.js +0 -0
- /package/js/{Private → ts/Private}/internal/LocalSpatialAudioEngineInternal.js +0 -0
- /package/js/{Private → ts/Private}/internal/MediaEngineInternal.js +0 -0
- /package/js/{Private → ts/Private}/internal/MediaPlayerInternal.js +0 -0
- /package/js/{Private → ts/Private}/internal/MediaRecorderInternal.js +0 -0
- /package/js/{Private → ts/Private}/internal/MusicContentCenterInternal.js +0 -0
- /package/js/{Private → ts/Private}/ipc/main.js +0 -0
- /package/js/{Private → ts/Private}/ipc/renderer.js +0 -0
- /package/js/{Private → ts/Private}/ti/AgoraBase-ti.js +0 -0
- /package/js/{Private → ts/Private}/ti/AgoraMediaBase-ti.js +0 -0
- /package/js/{Private → ts/Private}/ti/AgoraMediaPlayerTypes-ti.js +0 -0
- /package/js/{Private → ts/Private}/ti/IAgoraH265Transcoder-ti.js +0 -0
- /package/js/{Private → ts/Private}/ti/IAgoraLog-ti.js +0 -0
- /package/js/{Private → ts/Private}/ti/IAgoraMediaEngine-ti.js +0 -0
- /package/js/{Private → ts/Private}/ti/IAgoraMediaPlayer-ti.js +0 -0
- /package/js/{Private → ts/Private}/ti/IAgoraMediaPlayerSource-ti.js +0 -0
- /package/js/{Private → ts/Private}/ti/IAgoraMediaRecorder-ti.js +0 -0
- /package/js/{Private → ts/Private}/ti/IAgoraMediaStreamingSource-ti.js +0 -0
- /package/js/{Private → ts/Private}/ti/IAgoraMusicContentCenter-ti.js +0 -0
- /package/js/{Private → ts/Private}/ti/IAgoraRhythmPlayer-ti.js +0 -0
- /package/js/{Private → ts/Private}/ti/IAgoraRtcEngineEx-ti.js +0 -0
- /package/js/{Private → ts/Private}/ti/IAgoraSpatialAudio-ti.js +0 -0
- /package/js/{Private → ts/Private}/ti/IAudioDeviceManager-ti.js +0 -0
- /package/js/{Renderer → ts/Renderer}/CapabilityManager.js +0 -0
- /package/js/{Renderer → ts/Renderer}/WebGLRenderer/webgl-utils.js +0 -0
- /package/js/{Renderer → ts/Renderer}/index.js +0 -0
- /package/js/{Types.js → ts/Types.js} +0 -0
- /package/types/{Decoder → ts/Decoder}/gpu-utils.d.ts +0 -0
- /package/types/{Decoder → ts/Decoder}/index.d.ts +0 -0
- /package/types/{Private → ts/Private}/IAgoraH265Transcoder.d.ts +0 -0
- /package/types/{Private → ts/Private}/IAgoraMediaRecorder.d.ts +0 -0
- /package/types/{Private → ts/Private}/IAgoraMediaStreamingSource.d.ts +0 -0
- /package/types/{Private → ts/Private}/extension/AgoraBaseExtension.d.ts +0 -0
- /package/types/{Private → ts/Private}/extension/AgoraMediaBaseExtension.d.ts +0 -0
- /package/types/{Private → ts/Private}/extension/AgoraMediaPlayerTypesExtension.d.ts +0 -0
- /package/types/{Private → ts/Private}/extension/IAgoraH265TranscoderExtension.d.ts +0 -0
- /package/types/{Private → ts/Private}/extension/IAgoraLogExtension.d.ts +0 -0
- /package/types/{Private → ts/Private}/extension/IAgoraMediaEngineExtension.d.ts +0 -0
- /package/types/{Private → ts/Private}/extension/IAgoraMediaPlayerExtension.d.ts +0 -0
- /package/types/{Private → ts/Private}/extension/IAgoraMediaPlayerSourceExtension.d.ts +0 -0
- /package/types/{Private → ts/Private}/extension/IAgoraMediaRecorderExtension.d.ts +0 -0
- /package/types/{Private → ts/Private}/extension/IAgoraMusicContentCenterExtension.d.ts +0 -0
- /package/types/{Private → ts/Private}/extension/IAgoraRhythmPlayerExtension.d.ts +0 -0
- /package/types/{Private → ts/Private}/extension/IAgoraRtcEngineExExtension.d.ts +0 -0
- /package/types/{Private → ts/Private}/extension/IAgoraRtcEngineExtension.d.ts +0 -0
- /package/types/{Private → ts/Private}/extension/IAgoraSpatialAudioExtension.d.ts +0 -0
- /package/types/{Private → ts/Private}/extension/IAudioDeviceManagerExtension.d.ts +0 -0
- /package/types/{Private → ts/Private}/impl/AgoraBaseImpl.d.ts +0 -0
- /package/types/{Private → ts/Private}/impl/AgoraMediaBaseImpl.d.ts +0 -0
- /package/types/{Private → ts/Private}/impl/IAgoraH265TranscoderImpl.d.ts +0 -0
- /package/types/{Private → ts/Private}/impl/IAgoraMediaEngineImpl.d.ts +0 -0
- /package/types/{Private → ts/Private}/impl/IAgoraMediaPlayerSourceImpl.d.ts +0 -0
- /package/types/{Private → ts/Private}/impl/IAgoraMediaRecorderImpl.d.ts +0 -0
- /package/types/{Private → ts/Private}/impl/IAgoraMusicContentCenterImpl.d.ts +0 -0
- /package/types/{Private → ts/Private}/impl/IAgoraSpatialAudioImpl.d.ts +0 -0
- /package/types/{Private → ts/Private}/impl/IAudioDeviceManagerImpl.d.ts +0 -0
- /package/types/{Private → ts/Private}/internal/AgoraH265TranscoderInternal.d.ts +0 -0
- /package/types/{Private → ts/Private}/internal/AgoraMediaBaseInternal.d.ts +0 -0
- /package/types/{Private → ts/Private}/internal/AudioDeviceManagerInternal.d.ts +0 -0
- /package/types/{Private → ts/Private}/internal/IrisApiEngine.d.ts +0 -0
- /package/types/{Private → ts/Private}/internal/LocalSpatialAudioEngineInternal.d.ts +0 -0
- /package/types/{Private → ts/Private}/internal/MediaEngineInternal.d.ts +0 -0
- /package/types/{Private → ts/Private}/internal/MediaPlayerInternal.d.ts +0 -0
- /package/types/{Private → ts/Private}/internal/MediaRecorderInternal.d.ts +0 -0
- /package/types/{Private → ts/Private}/internal/MusicContentCenterInternal.d.ts +0 -0
- /package/types/{Private → ts/Private}/ipc/main.d.ts +0 -0
- /package/types/{Private → ts/Private}/ipc/renderer.d.ts +0 -0
- /package/types/{Private → ts/Private}/ti/AgoraBase-ti.d.ts +0 -0
- /package/types/{Private → ts/Private}/ti/AgoraMediaBase-ti.d.ts +0 -0
- /package/types/{Private → ts/Private}/ti/AgoraMediaPlayerTypes-ti.d.ts +0 -0
- /package/types/{Private → ts/Private}/ti/IAgoraH265Transcoder-ti.d.ts +0 -0
- /package/types/{Private → ts/Private}/ti/IAgoraLog-ti.d.ts +0 -0
- /package/types/{Private → ts/Private}/ti/IAgoraMediaEngine-ti.d.ts +0 -0
- /package/types/{Private → ts/Private}/ti/IAgoraMediaPlayer-ti.d.ts +0 -0
- /package/types/{Private → ts/Private}/ti/IAgoraMediaPlayerSource-ti.d.ts +0 -0
- /package/types/{Private → ts/Private}/ti/IAgoraMediaRecorder-ti.d.ts +0 -0
- /package/types/{Private → ts/Private}/ti/IAgoraMediaStreamingSource-ti.d.ts +0 -0
- /package/types/{Private → ts/Private}/ti/IAgoraMusicContentCenter-ti.d.ts +0 -0
- /package/types/{Private → ts/Private}/ti/IAgoraRhythmPlayer-ti.d.ts +0 -0
- /package/types/{Private → ts/Private}/ti/IAgoraRtcEngine-ti.d.ts +0 -0
- /package/types/{Private → ts/Private}/ti/IAgoraRtcEngineEx-ti.d.ts +0 -0
- /package/types/{Private → ts/Private}/ti/IAgoraSpatialAudio-ti.d.ts +0 -0
- /package/types/{Private → ts/Private}/ti/IAudioDeviceManager-ti.d.ts +0 -0
- /package/types/{Renderer → ts/Renderer}/CapabilityManager.d.ts +0 -0
- /package/types/{Renderer → ts/Renderer}/WebGLRenderer/webgl-utils.d.ts +0 -0
- /package/types/{Renderer → ts/Renderer}/index.d.ts +0 -0
|
@@ -94,6 +94,7 @@ import {
|
|
|
94
94
|
IRtcEngine,
|
|
95
95
|
IRtcEngineEventHandler,
|
|
96
96
|
IVideoDeviceManager,
|
|
97
|
+
IVideoEffectObject,
|
|
97
98
|
ImageTrackOptions,
|
|
98
99
|
LeaveChannelOptions,
|
|
99
100
|
Metadata,
|
|
@@ -106,6 +107,7 @@ import {
|
|
|
106
107
|
Size,
|
|
107
108
|
StreamFallbackOptions,
|
|
108
109
|
VideoDeviceInfo,
|
|
110
|
+
VideoEffectAction,
|
|
109
111
|
} from '../IAgoraRtcEngine';
|
|
110
112
|
import { ILocalSpatialAudioEngine } from '../IAgoraSpatialAudio';
|
|
111
113
|
import { IAudioDeviceManager } from '../IAudioDeviceManager';
|
|
@@ -308,6 +310,12 @@ export function processIRtcEngineEventHandler(
|
|
|
308
310
|
}
|
|
309
311
|
break;
|
|
310
312
|
|
|
313
|
+
case 'onLocalVideoEvent':
|
|
314
|
+
if (handler.onLocalVideoEvent !== undefined) {
|
|
315
|
+
handler.onLocalVideoEvent(jsonParams.source, jsonParams.event);
|
|
316
|
+
}
|
|
317
|
+
break;
|
|
318
|
+
|
|
311
319
|
case 'onLocalVideoStateChanged':
|
|
312
320
|
if (handler.onLocalVideoStateChanged !== undefined) {
|
|
313
321
|
handler.onLocalVideoStateChanged(
|
|
@@ -957,6 +965,12 @@ export function processIRtcEngineEventHandler(
|
|
|
957
965
|
handler.onSetRtmFlagResult(jsonParams.connection, jsonParams.code);
|
|
958
966
|
}
|
|
959
967
|
break;
|
|
968
|
+
|
|
969
|
+
case 'onMultipathStats':
|
|
970
|
+
if (handler.onMultipathStats !== undefined) {
|
|
971
|
+
handler.onMultipathStats(jsonParams.connection, jsonParams.stats);
|
|
972
|
+
}
|
|
973
|
+
break;
|
|
960
974
|
}
|
|
961
975
|
}
|
|
962
976
|
|
|
@@ -1091,6 +1105,275 @@ export class IVideoDeviceManagerImpl implements IVideoDeviceManager {
|
|
|
1091
1105
|
}
|
|
1092
1106
|
}
|
|
1093
1107
|
|
|
1108
|
+
// @ts-ignore
|
|
1109
|
+
export class IVideoEffectObjectImpl implements IVideoEffectObject {
|
|
1110
|
+
addOrUpdateVideoEffect(nodeId: number, templateName: string): number {
|
|
1111
|
+
const apiType = this.getApiTypeFromAddOrUpdateVideoEffect(
|
|
1112
|
+
nodeId,
|
|
1113
|
+
templateName
|
|
1114
|
+
);
|
|
1115
|
+
const jsonParams = {
|
|
1116
|
+
nodeId: nodeId,
|
|
1117
|
+
templateName: templateName,
|
|
1118
|
+
toJSON: () => {
|
|
1119
|
+
return {
|
|
1120
|
+
nodeId: nodeId,
|
|
1121
|
+
templateName: templateName,
|
|
1122
|
+
};
|
|
1123
|
+
},
|
|
1124
|
+
};
|
|
1125
|
+
const jsonResults = callIrisApi.call(this, apiType, jsonParams);
|
|
1126
|
+
return jsonResults.result;
|
|
1127
|
+
}
|
|
1128
|
+
|
|
1129
|
+
protected getApiTypeFromAddOrUpdateVideoEffect(
|
|
1130
|
+
nodeId: number,
|
|
1131
|
+
templateName: string
|
|
1132
|
+
): string {
|
|
1133
|
+
return 'VideoEffectObject_addOrUpdateVideoEffect_303a98c';
|
|
1134
|
+
}
|
|
1135
|
+
|
|
1136
|
+
removeVideoEffect(nodeId: number): number {
|
|
1137
|
+
const apiType = this.getApiTypeFromRemoveVideoEffect(nodeId);
|
|
1138
|
+
const jsonParams = {
|
|
1139
|
+
nodeId: nodeId,
|
|
1140
|
+
toJSON: () => {
|
|
1141
|
+
return {
|
|
1142
|
+
nodeId: nodeId,
|
|
1143
|
+
};
|
|
1144
|
+
},
|
|
1145
|
+
};
|
|
1146
|
+
const jsonResults = callIrisApi.call(this, apiType, jsonParams);
|
|
1147
|
+
return jsonResults.result;
|
|
1148
|
+
}
|
|
1149
|
+
|
|
1150
|
+
protected getApiTypeFromRemoveVideoEffect(nodeId: number): string {
|
|
1151
|
+
return 'VideoEffectObject_removeVideoEffect_b48de50';
|
|
1152
|
+
}
|
|
1153
|
+
|
|
1154
|
+
performVideoEffectAction(
|
|
1155
|
+
nodeId: number,
|
|
1156
|
+
actionId: VideoEffectAction
|
|
1157
|
+
): number {
|
|
1158
|
+
const apiType = this.getApiTypeFromPerformVideoEffectAction(
|
|
1159
|
+
nodeId,
|
|
1160
|
+
actionId
|
|
1161
|
+
);
|
|
1162
|
+
const jsonParams = {
|
|
1163
|
+
nodeId: nodeId,
|
|
1164
|
+
actionId: actionId,
|
|
1165
|
+
toJSON: () => {
|
|
1166
|
+
return {
|
|
1167
|
+
nodeId: nodeId,
|
|
1168
|
+
actionId: actionId,
|
|
1169
|
+
};
|
|
1170
|
+
},
|
|
1171
|
+
};
|
|
1172
|
+
const jsonResults = callIrisApi.call(this, apiType, jsonParams);
|
|
1173
|
+
return jsonResults.result;
|
|
1174
|
+
}
|
|
1175
|
+
|
|
1176
|
+
protected getApiTypeFromPerformVideoEffectAction(
|
|
1177
|
+
nodeId: number,
|
|
1178
|
+
actionId: VideoEffectAction
|
|
1179
|
+
): string {
|
|
1180
|
+
return 'VideoEffectObject_performVideoEffectAction_eddb1a6';
|
|
1181
|
+
}
|
|
1182
|
+
|
|
1183
|
+
setVideoEffectStringParam(
|
|
1184
|
+
option: string,
|
|
1185
|
+
key: string,
|
|
1186
|
+
param: string
|
|
1187
|
+
): number {
|
|
1188
|
+
const apiType = this.getApiTypeFromSetVideoEffectStringParam(
|
|
1189
|
+
option,
|
|
1190
|
+
key,
|
|
1191
|
+
param
|
|
1192
|
+
);
|
|
1193
|
+
const jsonParams = {
|
|
1194
|
+
option: option,
|
|
1195
|
+
key: key,
|
|
1196
|
+
param: param,
|
|
1197
|
+
toJSON: () => {
|
|
1198
|
+
return {
|
|
1199
|
+
option: option,
|
|
1200
|
+
key: key,
|
|
1201
|
+
param: param,
|
|
1202
|
+
};
|
|
1203
|
+
},
|
|
1204
|
+
};
|
|
1205
|
+
const jsonResults = callIrisApi.call(this, apiType, jsonParams);
|
|
1206
|
+
return jsonResults.result;
|
|
1207
|
+
}
|
|
1208
|
+
|
|
1209
|
+
protected getApiTypeFromSetVideoEffectStringParam(
|
|
1210
|
+
option: string,
|
|
1211
|
+
key: string,
|
|
1212
|
+
param: string
|
|
1213
|
+
): string {
|
|
1214
|
+
return 'VideoEffectObject_setVideoEffectStringParam_0e4f59e';
|
|
1215
|
+
}
|
|
1216
|
+
|
|
1217
|
+
setVideoEffectFloatParam(option: string, key: string, param: number): number {
|
|
1218
|
+
const apiType = this.getApiTypeFromSetVideoEffectFloatParam(
|
|
1219
|
+
option,
|
|
1220
|
+
key,
|
|
1221
|
+
param
|
|
1222
|
+
);
|
|
1223
|
+
const jsonParams = {
|
|
1224
|
+
option: option,
|
|
1225
|
+
key: key,
|
|
1226
|
+
param: param,
|
|
1227
|
+
toJSON: () => {
|
|
1228
|
+
return {
|
|
1229
|
+
option: option,
|
|
1230
|
+
key: key,
|
|
1231
|
+
param: param,
|
|
1232
|
+
};
|
|
1233
|
+
},
|
|
1234
|
+
};
|
|
1235
|
+
const jsonResults = callIrisApi.call(this, apiType, jsonParams);
|
|
1236
|
+
return jsonResults.result;
|
|
1237
|
+
}
|
|
1238
|
+
|
|
1239
|
+
protected getApiTypeFromSetVideoEffectFloatParam(
|
|
1240
|
+
option: string,
|
|
1241
|
+
key: string,
|
|
1242
|
+
param: number
|
|
1243
|
+
): string {
|
|
1244
|
+
return 'VideoEffectObject_setVideoEffectFloatParam_e8dfcf8';
|
|
1245
|
+
}
|
|
1246
|
+
|
|
1247
|
+
setVideoEffectIntParam(option: string, key: string, param: number): number {
|
|
1248
|
+
const apiType = this.getApiTypeFromSetVideoEffectIntParam(
|
|
1249
|
+
option,
|
|
1250
|
+
key,
|
|
1251
|
+
param
|
|
1252
|
+
);
|
|
1253
|
+
const jsonParams = {
|
|
1254
|
+
option: option,
|
|
1255
|
+
key: key,
|
|
1256
|
+
param: param,
|
|
1257
|
+
toJSON: () => {
|
|
1258
|
+
return {
|
|
1259
|
+
option: option,
|
|
1260
|
+
key: key,
|
|
1261
|
+
param: param,
|
|
1262
|
+
};
|
|
1263
|
+
},
|
|
1264
|
+
};
|
|
1265
|
+
const jsonResults = callIrisApi.call(this, apiType, jsonParams);
|
|
1266
|
+
return jsonResults.result;
|
|
1267
|
+
}
|
|
1268
|
+
|
|
1269
|
+
protected getApiTypeFromSetVideoEffectIntParam(
|
|
1270
|
+
option: string,
|
|
1271
|
+
key: string,
|
|
1272
|
+
param: number
|
|
1273
|
+
): string {
|
|
1274
|
+
return 'VideoEffectObject_setVideoEffectIntParam_3b77680';
|
|
1275
|
+
}
|
|
1276
|
+
|
|
1277
|
+
setVideoEffectBoolParam(option: string, key: string, param: boolean): number {
|
|
1278
|
+
const apiType = this.getApiTypeFromSetVideoEffectBoolParam(
|
|
1279
|
+
option,
|
|
1280
|
+
key,
|
|
1281
|
+
param
|
|
1282
|
+
);
|
|
1283
|
+
const jsonParams = {
|
|
1284
|
+
option: option,
|
|
1285
|
+
key: key,
|
|
1286
|
+
param: param,
|
|
1287
|
+
toJSON: () => {
|
|
1288
|
+
return {
|
|
1289
|
+
option: option,
|
|
1290
|
+
key: key,
|
|
1291
|
+
param: param,
|
|
1292
|
+
};
|
|
1293
|
+
},
|
|
1294
|
+
};
|
|
1295
|
+
const jsonResults = callIrisApi.call(this, apiType, jsonParams);
|
|
1296
|
+
return jsonResults.result;
|
|
1297
|
+
}
|
|
1298
|
+
|
|
1299
|
+
protected getApiTypeFromSetVideoEffectBoolParam(
|
|
1300
|
+
option: string,
|
|
1301
|
+
key: string,
|
|
1302
|
+
param: boolean
|
|
1303
|
+
): string {
|
|
1304
|
+
return 'VideoEffectObject_setVideoEffectBoolParam_918930f';
|
|
1305
|
+
}
|
|
1306
|
+
|
|
1307
|
+
getVideoEffectFloatParam(option: string, key: string): number {
|
|
1308
|
+
const apiType = this.getApiTypeFromGetVideoEffectFloatParam(option, key);
|
|
1309
|
+
const jsonParams = {
|
|
1310
|
+
option: option,
|
|
1311
|
+
key: key,
|
|
1312
|
+
toJSON: () => {
|
|
1313
|
+
return {
|
|
1314
|
+
option: option,
|
|
1315
|
+
key: key,
|
|
1316
|
+
};
|
|
1317
|
+
},
|
|
1318
|
+
};
|
|
1319
|
+
const jsonResults = callIrisApi.call(this, apiType, jsonParams);
|
|
1320
|
+
return jsonResults.result;
|
|
1321
|
+
}
|
|
1322
|
+
|
|
1323
|
+
protected getApiTypeFromGetVideoEffectFloatParam(
|
|
1324
|
+
option: string,
|
|
1325
|
+
key: string
|
|
1326
|
+
): string {
|
|
1327
|
+
return 'VideoEffectObject_getVideoEffectFloatParam_ccad422';
|
|
1328
|
+
}
|
|
1329
|
+
|
|
1330
|
+
getVideoEffectIntParam(option: string, key: string): number {
|
|
1331
|
+
const apiType = this.getApiTypeFromGetVideoEffectIntParam(option, key);
|
|
1332
|
+
const jsonParams = {
|
|
1333
|
+
option: option,
|
|
1334
|
+
key: key,
|
|
1335
|
+
toJSON: () => {
|
|
1336
|
+
return {
|
|
1337
|
+
option: option,
|
|
1338
|
+
key: key,
|
|
1339
|
+
};
|
|
1340
|
+
},
|
|
1341
|
+
};
|
|
1342
|
+
const jsonResults = callIrisApi.call(this, apiType, jsonParams);
|
|
1343
|
+
return jsonResults.result;
|
|
1344
|
+
}
|
|
1345
|
+
|
|
1346
|
+
protected getApiTypeFromGetVideoEffectIntParam(
|
|
1347
|
+
option: string,
|
|
1348
|
+
key: string
|
|
1349
|
+
): string {
|
|
1350
|
+
return 'VideoEffectObject_getVideoEffectIntParam_ccad422';
|
|
1351
|
+
}
|
|
1352
|
+
|
|
1353
|
+
getVideoEffectBoolParam(option: string, key: string): boolean {
|
|
1354
|
+
const apiType = this.getApiTypeFromGetVideoEffectBoolParam(option, key);
|
|
1355
|
+
const jsonParams = {
|
|
1356
|
+
option: option,
|
|
1357
|
+
key: key,
|
|
1358
|
+
toJSON: () => {
|
|
1359
|
+
return {
|
|
1360
|
+
option: option,
|
|
1361
|
+
key: key,
|
|
1362
|
+
};
|
|
1363
|
+
},
|
|
1364
|
+
};
|
|
1365
|
+
const jsonResults = callIrisApi.call(this, apiType, jsonParams);
|
|
1366
|
+
return jsonResults.result;
|
|
1367
|
+
}
|
|
1368
|
+
|
|
1369
|
+
protected getApiTypeFromGetVideoEffectBoolParam(
|
|
1370
|
+
option: string,
|
|
1371
|
+
key: string
|
|
1372
|
+
): string {
|
|
1373
|
+
return 'VideoEffectObject_getVideoEffectBoolParam_ccad422';
|
|
1374
|
+
}
|
|
1375
|
+
}
|
|
1376
|
+
|
|
1094
1377
|
export function processIMetadataObserver(
|
|
1095
1378
|
handler: IMetadataObserver,
|
|
1096
1379
|
event: string,
|
|
@@ -1771,6 +2054,54 @@ export class IRtcEngineImpl implements IRtcEngine {
|
|
|
1771
2054
|
return 'RtcEngine_setFilterEffectOptions_53b4be3';
|
|
1772
2055
|
}
|
|
1773
2056
|
|
|
2057
|
+
createVideoEffectObject(
|
|
2058
|
+
bundlePath: string,
|
|
2059
|
+
type: MediaSourceType = MediaSourceType.PrimaryCameraSource
|
|
2060
|
+
): IVideoEffectObject {
|
|
2061
|
+
const apiType = this.getApiTypeFromCreateVideoEffectObject(
|
|
2062
|
+
bundlePath,
|
|
2063
|
+
type
|
|
2064
|
+
);
|
|
2065
|
+
const jsonParams = {
|
|
2066
|
+
bundlePath: bundlePath,
|
|
2067
|
+
type: type,
|
|
2068
|
+
toJSON: () => {
|
|
2069
|
+
return {
|
|
2070
|
+
bundlePath: bundlePath,
|
|
2071
|
+
type: type,
|
|
2072
|
+
};
|
|
2073
|
+
},
|
|
2074
|
+
};
|
|
2075
|
+
const jsonResults = callIrisApi.call(this, apiType, jsonParams);
|
|
2076
|
+
return jsonResults.result;
|
|
2077
|
+
}
|
|
2078
|
+
|
|
2079
|
+
protected getApiTypeFromCreateVideoEffectObject(
|
|
2080
|
+
bundlePath: string,
|
|
2081
|
+
type: MediaSourceType = MediaSourceType.PrimaryCameraSource
|
|
2082
|
+
): string {
|
|
2083
|
+
return 'RtcEngine_createVideoEffectObject_65bd50d';
|
|
2084
|
+
}
|
|
2085
|
+
|
|
2086
|
+
destroyVideoEffectObject(videoEffectObject: IVideoEffectObject): number {
|
|
2087
|
+
const apiType =
|
|
2088
|
+
this.getApiTypeFromDestroyVideoEffectObject(videoEffectObject);
|
|
2089
|
+
const jsonParams = {
|
|
2090
|
+
videoEffectObject: videoEffectObject,
|
|
2091
|
+
toJSON: () => {
|
|
2092
|
+
return {};
|
|
2093
|
+
},
|
|
2094
|
+
};
|
|
2095
|
+
const jsonResults = callIrisApi.call(this, apiType, jsonParams);
|
|
2096
|
+
return jsonResults.result;
|
|
2097
|
+
}
|
|
2098
|
+
|
|
2099
|
+
protected getApiTypeFromDestroyVideoEffectObject(
|
|
2100
|
+
videoEffectObject: IVideoEffectObject
|
|
2101
|
+
): string {
|
|
2102
|
+
return 'RtcEngine_destroyVideoEffectObject_66d092b';
|
|
2103
|
+
}
|
|
2104
|
+
|
|
1774
2105
|
setLowlightEnhanceOptions(
|
|
1775
2106
|
enabled: boolean,
|
|
1776
2107
|
options: LowlightEnhanceOptions,
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
IVideoEncodedFrameObserver,
|
|
18
18
|
IVideoFrameObserver,
|
|
19
19
|
VideoFrame,
|
|
20
|
+
VideoSourceType,
|
|
20
21
|
} from '../AgoraMediaBase';
|
|
21
22
|
import { IH265TranscoderObserver } from '../IAgoraH265Transcoder';
|
|
22
23
|
import {
|
|
@@ -65,6 +66,7 @@ import {
|
|
|
65
66
|
MusicContentCenterInternal,
|
|
66
67
|
} from './MusicContentCenterInternal';
|
|
67
68
|
import { RtcEngineExInternal } from './RtcEngineExInternal';
|
|
69
|
+
import { VideoEffectObjectInternal } from './VideoEffectObjectInternal';
|
|
68
70
|
|
|
69
71
|
// @ts-ignore
|
|
70
72
|
export const DeviceEventEmitter: EventEmitter = new EventEmitter();
|
|
@@ -343,6 +345,34 @@ export const EVENT_PROCESSORS: EventProcessors = {
|
|
|
343
345
|
case 'onStreamMessageEx':
|
|
344
346
|
data.data = buffers[0];
|
|
345
347
|
break;
|
|
348
|
+
case 'onLocalVideoStats':
|
|
349
|
+
if (data) {
|
|
350
|
+
let rendererManager = AgoraEnv.AgoraRendererManager;
|
|
351
|
+
if (rendererManager) {
|
|
352
|
+
let sourceType = (data as any).sourceType;
|
|
353
|
+
let connection = (data as any).connection;
|
|
354
|
+
let rendererCaches =
|
|
355
|
+
rendererManager.getRendererCachesBySourceType(sourceType);
|
|
356
|
+
rendererCaches.forEach((cache) => {
|
|
357
|
+
cache.setCallbackContext(connection, sourceType);
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
break;
|
|
362
|
+
case 'onRemoteVideoStats':
|
|
363
|
+
if (data) {
|
|
364
|
+
let rendererManager = AgoraEnv.AgoraRendererManager;
|
|
365
|
+
if (rendererManager) {
|
|
366
|
+
let connection = (data as any).connection;
|
|
367
|
+
const sourceType = VideoSourceType.VideoSourceRemote;
|
|
368
|
+
let rendererCaches =
|
|
369
|
+
rendererManager.getRendererCachesBySourceType(sourceType);
|
|
370
|
+
rendererCaches.forEach((cache) => {
|
|
371
|
+
cache.setCallbackContext(connection, sourceType);
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
break;
|
|
346
376
|
}
|
|
347
377
|
},
|
|
348
378
|
handlers: (event: string, data: any) => RtcEngineExInternal._event_handlers,
|
|
@@ -457,12 +487,15 @@ export function callIrisApi(funcName: string, params: any): any {
|
|
|
457
487
|
// frame.buffer
|
|
458
488
|
buffers.push(params.frame.buffer);
|
|
459
489
|
// frame.eglContext
|
|
490
|
+
// @ts-ignore
|
|
460
491
|
buffers.push(Buffer.from(''));
|
|
461
492
|
// frame.metadata_buffer
|
|
493
|
+
// @ts-ignore
|
|
462
494
|
buffers.push(Buffer.from(''));
|
|
463
495
|
// frame.alphaBuffer
|
|
464
496
|
buffers.push(params.frame.alphaBuffer);
|
|
465
497
|
// frame.d3d11_texture_2d
|
|
498
|
+
// @ts-ignore
|
|
466
499
|
buffers.push(Buffer.from(''));
|
|
467
500
|
break;
|
|
468
501
|
case 'MediaEngine_pushEncodedVideoImage_e71452b':
|
|
@@ -480,6 +513,13 @@ export function callIrisApi(funcName: string, params: any): any {
|
|
|
480
513
|
params.toJSON = function () {
|
|
481
514
|
return { ...json, playerId: params.mediaPlayerId };
|
|
482
515
|
};
|
|
516
|
+
} else if (funcName.startsWith('VideoEffectObject_')) {
|
|
517
|
+
params.videoEffectObjectId = // @ts-ignore
|
|
518
|
+
(this as VideoEffectObjectInternal).getVideoEffectObjectId();
|
|
519
|
+
const json = params.toJSON?.call();
|
|
520
|
+
params.toJSON = function () {
|
|
521
|
+
return { ...json, objectId: params.videoEffectObjectId };
|
|
522
|
+
};
|
|
483
523
|
} else if (funcName.startsWith('MediaRecorder_')) {
|
|
484
524
|
// @ts-ignore
|
|
485
525
|
params.nativeHandle = (this as MediaRecorderInternal).nativeHandle;
|
|
@@ -516,6 +556,13 @@ export function callIrisApi(funcName: string, params: any): any {
|
|
|
516
556
|
return { playerId: params.mediaPlayerId };
|
|
517
557
|
};
|
|
518
558
|
break;
|
|
559
|
+
case 'RtcEngine_destroyVideoEffectObject_66d092b':
|
|
560
|
+
params.videoEffectObjectId =
|
|
561
|
+
params.videoEffectObject.getVideoEffectObjectId();
|
|
562
|
+
params.toJSON = function () {
|
|
563
|
+
return { objectId: params.videoEffectObjectId };
|
|
564
|
+
};
|
|
565
|
+
break;
|
|
519
566
|
case 'RtcEngine_destroyMediaRecorder_95cdef5':
|
|
520
567
|
// @ts-ignore
|
|
521
568
|
params.nativeHandle = (
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { createCheckers } from 'ts-interface-checker';
|
|
2
2
|
|
|
3
3
|
import { AgoraElectronBridge } from '../../Private/internal/IrisApiEngine';
|
|
4
|
-
import { AgoraEnv, logError, parseIntPtr2Number } from '../../Utils';
|
|
5
|
-
import { VideoEncoderConfiguration } from '../AgoraBase';
|
|
4
|
+
import { AgoraEnv, logDebug, logError, parseIntPtr2Number } from '../../Utils';
|
|
6
5
|
let RendererManager: any;
|
|
7
6
|
let CapabilityManager: any;
|
|
8
7
|
//@ts-ignore
|
|
@@ -28,6 +27,7 @@ import {
|
|
|
28
27
|
} from '../AgoraBase';
|
|
29
28
|
import {
|
|
30
29
|
IAudioSpectrumObserver,
|
|
30
|
+
MediaSourceType,
|
|
31
31
|
RenderModeType,
|
|
32
32
|
VideoSourceType,
|
|
33
33
|
} from '../AgoraMediaBase';
|
|
@@ -43,6 +43,7 @@ import {
|
|
|
43
43
|
IMetadataObserver,
|
|
44
44
|
IRtcEngineEventHandler,
|
|
45
45
|
IVideoDeviceManager,
|
|
46
|
+
IVideoEffectObject,
|
|
46
47
|
LeaveChannelOptions,
|
|
47
48
|
MetadataType,
|
|
48
49
|
RtcEngineContext,
|
|
@@ -73,6 +74,7 @@ import { MediaEngineInternal } from './MediaEngineInternal';
|
|
|
73
74
|
import { MediaPlayerInternal } from './MediaPlayerInternal';
|
|
74
75
|
import { MediaRecorderInternal } from './MediaRecorderInternal';
|
|
75
76
|
import { MusicContentCenterInternal } from './MusicContentCenterInternal';
|
|
77
|
+
import { VideoEffectObjectInternal } from './VideoEffectObjectInternal';
|
|
76
78
|
|
|
77
79
|
const checkers = createCheckers(
|
|
78
80
|
AgoraBaseTI,
|
|
@@ -80,6 +82,14 @@ const checkers = createCheckers(
|
|
|
80
82
|
IAgoraRtcEngineTI
|
|
81
83
|
);
|
|
82
84
|
|
|
85
|
+
interface PerformanceCounter {
|
|
86
|
+
counters: {
|
|
87
|
+
counterId: number;
|
|
88
|
+
value: number;
|
|
89
|
+
}[];
|
|
90
|
+
uid: number;
|
|
91
|
+
}
|
|
92
|
+
|
|
83
93
|
export class RtcEngineExInternal extends IRtcEngineExImpl {
|
|
84
94
|
static _event_handlers: IRtcEngineEventHandler[] = [];
|
|
85
95
|
static _direct_cdn_streaming_event_handler: IDirectCdnStreamingEventHandler[] =
|
|
@@ -98,6 +108,13 @@ export class RtcEngineExInternal extends IRtcEngineExImpl {
|
|
|
98
108
|
new LocalSpatialAudioEngineInternal();
|
|
99
109
|
private _h265_transcoder: IH265Transcoder = new H265TranscoderInternal();
|
|
100
110
|
|
|
111
|
+
private performanceInterval: number = 6000;
|
|
112
|
+
private performanceIntervalFunc: any;
|
|
113
|
+
private VideoRemoteRenderMeanFpsCounterId: number = 537;
|
|
114
|
+
private VideoRemoteRenderDrawCostCounterId: number = 576;
|
|
115
|
+
private VideoLocalRenderMeanFpsCounterId: number = 526;
|
|
116
|
+
private VideoLocalRenderDrawCostCounterId: number = 577;
|
|
117
|
+
|
|
101
118
|
override initialize(context: RtcEngineContext): number {
|
|
102
119
|
const ret = super.initialize(context);
|
|
103
120
|
callIrisApi.call(this, 'RtcEngine_setAppType', {
|
|
@@ -112,6 +129,68 @@ export class RtcEngineExInternal extends IRtcEngineExImpl {
|
|
|
112
129
|
if (AgoraEnv.CapabilityManager === undefined && CapabilityManager) {
|
|
113
130
|
AgoraEnv.CapabilityManager = new CapabilityManager();
|
|
114
131
|
}
|
|
132
|
+
if (AgoraEnv.enableArgusCounters) {
|
|
133
|
+
try {
|
|
134
|
+
this.performanceIntervalFunc = setInterval(() => {
|
|
135
|
+
let rendererManager = AgoraEnv.AgoraRendererManager;
|
|
136
|
+
let counters: {
|
|
137
|
+
data: PerformanceCounter[];
|
|
138
|
+
connection: RtcConnection;
|
|
139
|
+
}[] = [];
|
|
140
|
+
if (rendererManager) {
|
|
141
|
+
rendererManager.getRendererCaches().forEach((cache) => {
|
|
142
|
+
const isRemote =
|
|
143
|
+
cache.callbackContext.sourceType ===
|
|
144
|
+
VideoSourceType.VideoSourceRemote;
|
|
145
|
+
if (
|
|
146
|
+
cache.callbackContext.connection?.channelId &&
|
|
147
|
+
(cache.callbackContext.connection?.localUid || isRemote)
|
|
148
|
+
) {
|
|
149
|
+
let counter = counters.find(
|
|
150
|
+
(counter) =>
|
|
151
|
+
counter.connection.channelId ===
|
|
152
|
+
cache.callbackContext.connection.channelId &&
|
|
153
|
+
counter.connection.localUid ===
|
|
154
|
+
cache.callbackContext.connection.localUid
|
|
155
|
+
);
|
|
156
|
+
let data: PerformanceCounter = {
|
|
157
|
+
counters: [
|
|
158
|
+
{
|
|
159
|
+
counterId: isRemote
|
|
160
|
+
? this.VideoRemoteRenderMeanFpsCounterId
|
|
161
|
+
: this.VideoLocalRenderMeanFpsCounterId,
|
|
162
|
+
value: Math.floor(cache.actualFps),
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
counterId: isRemote
|
|
166
|
+
? this.VideoRemoteRenderDrawCostCounterId
|
|
167
|
+
: this.VideoLocalRenderDrawCostCounterId,
|
|
168
|
+
value: Math.floor(cache.avgFrameInterval),
|
|
169
|
+
},
|
|
170
|
+
],
|
|
171
|
+
uid: isRemote ? cache.cacheContext.uid! : 0,
|
|
172
|
+
};
|
|
173
|
+
if (!counter) {
|
|
174
|
+
counters.push({
|
|
175
|
+
data: [data],
|
|
176
|
+
connection: cache.callbackContext.connection,
|
|
177
|
+
});
|
|
178
|
+
} else {
|
|
179
|
+
counter.data.push(data);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
counters.forEach((counter) => {
|
|
185
|
+
this.setParameters(
|
|
186
|
+
JSON.stringify({ 'rtc.report.argus_counters': counter })
|
|
187
|
+
);
|
|
188
|
+
});
|
|
189
|
+
}, this.performanceInterval);
|
|
190
|
+
} catch (error) {
|
|
191
|
+
logDebug('argus counters report error', error);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
115
194
|
}
|
|
116
195
|
return ret;
|
|
117
196
|
}
|
|
@@ -139,6 +218,10 @@ export class RtcEngineExInternal extends IRtcEngineExImpl {
|
|
|
139
218
|
this.removeAllListeners();
|
|
140
219
|
AgoraEnv.CapabilityManager?.release();
|
|
141
220
|
AgoraEnv.CapabilityManager = undefined;
|
|
221
|
+
if (this.performanceIntervalFunc) {
|
|
222
|
+
clearInterval(this.performanceIntervalFunc);
|
|
223
|
+
this.performanceIntervalFunc = undefined;
|
|
224
|
+
}
|
|
142
225
|
super.release(sync);
|
|
143
226
|
}
|
|
144
227
|
|
|
@@ -338,13 +421,6 @@ export class RtcEngineExInternal extends IRtcEngineExImpl {
|
|
|
338
421
|
return super.unregisterMediaMetadataObserver(observer, type);
|
|
339
422
|
}
|
|
340
423
|
|
|
341
|
-
override setVideoEncoderConfiguration(
|
|
342
|
-
config: VideoEncoderConfiguration
|
|
343
|
-
): number {
|
|
344
|
-
AgoraEnv.encodeAlpha = config?.advanceOptions?.encodeAlpha ?? false;
|
|
345
|
-
return super.setVideoEncoderConfiguration(config);
|
|
346
|
-
}
|
|
347
|
-
|
|
348
424
|
protected override getApiTypeFromJoinChannel(
|
|
349
425
|
token: string,
|
|
350
426
|
channelId: string,
|
|
@@ -521,6 +597,7 @@ export class RtcEngineExInternal extends IRtcEngineExImpl {
|
|
|
521
597
|
if (!value.thumbImage?.buffer || !value.thumbImage?.length) {
|
|
522
598
|
value.thumbImage!.buffer = undefined;
|
|
523
599
|
} else {
|
|
600
|
+
// @ts-ignore
|
|
524
601
|
value.thumbImage!.buffer = AgoraElectronBridge.GetBuffer(
|
|
525
602
|
value.thumbImage!.buffer as unknown as number,
|
|
526
603
|
value.thumbImage.length!
|
|
@@ -529,6 +606,7 @@ export class RtcEngineExInternal extends IRtcEngineExImpl {
|
|
|
529
606
|
if (!value.iconImage?.buffer || !value.iconImage?.length) {
|
|
530
607
|
value.iconImage!.buffer = undefined;
|
|
531
608
|
} else {
|
|
609
|
+
// @ts-ignore
|
|
532
610
|
value.iconImage.buffer = AgoraElectronBridge.GetBuffer(
|
|
533
611
|
value.iconImage!.buffer as unknown as number,
|
|
534
612
|
value.iconImage.length!
|
|
@@ -644,4 +722,23 @@ export class RtcEngineExInternal extends IRtcEngineExImpl {
|
|
|
644
722
|
uid,
|
|
645
723
|
});
|
|
646
724
|
}
|
|
725
|
+
|
|
726
|
+
override createVideoEffectObject(
|
|
727
|
+
bundlePath: string,
|
|
728
|
+
type?: MediaSourceType
|
|
729
|
+
): IVideoEffectObject {
|
|
730
|
+
// @ts-ignore
|
|
731
|
+
const videoEffectObjectId = super.createVideoEffectObject(
|
|
732
|
+
bundlePath,
|
|
733
|
+
type
|
|
734
|
+
) as number;
|
|
735
|
+
return new VideoEffectObjectInternal(videoEffectObjectId);
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
override destroyVideoEffectObject(
|
|
739
|
+
videoEffectObject: IVideoEffectObject
|
|
740
|
+
): number {
|
|
741
|
+
const ret = super.destroyVideoEffectObject(videoEffectObject);
|
|
742
|
+
return ret;
|
|
743
|
+
}
|
|
647
744
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IVideoEffectObjectImpl } from '../impl/IAgoraRtcEngineImpl';
|
|
2
|
+
|
|
3
|
+
export class VideoEffectObjectInternal extends IVideoEffectObjectImpl {
|
|
4
|
+
private readonly _videoEffectObjectId: number;
|
|
5
|
+
|
|
6
|
+
constructor(videoEffectObjectId: number) {
|
|
7
|
+
super();
|
|
8
|
+
this._videoEffectObjectId = videoEffectObjectId;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
getVideoEffectObjectId(): number {
|
|
12
|
+
return this._videoEffectObjectId;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -28,6 +28,7 @@ export const IRtcEngineEventHandler = t.iface([], {
|
|
|
28
28
|
"onFirstLocalVideoFramePublished": t.opt(t.func("void", t.param("connection", "RtcConnection"), t.param("elapsed", "number"))),
|
|
29
29
|
"onFirstRemoteVideoDecoded": t.opt(t.func("void", t.param("connection", "RtcConnection"), t.param("remoteUid", "number"), t.param("width", "number"), t.param("height", "number"), t.param("elapsed", "number"))),
|
|
30
30
|
"onVideoSizeChanged": t.opt(t.func("void", t.param("connection", "RtcConnection"), t.param("sourceType", "VideoSourceType"), t.param("uid", "number"), t.param("width", "number"), t.param("height", "number"), t.param("rotation", "number"))),
|
|
31
|
+
"onLocalVideoEvent": t.opt(t.func("void", t.param("source", "VideoSourceType"), t.param("event", "LocalVideoEventType"))),
|
|
31
32
|
"onLocalVideoStateChanged": t.opt(t.func("void", t.param("source", "VideoSourceType"), t.param("state", "LocalVideoStreamState"), t.param("reason", "LocalVideoStreamReason"))),
|
|
32
33
|
"onRemoteVideoStateChanged": t.opt(t.func("void", t.param("connection", "RtcConnection"), t.param("remoteUid", "number"), t.param("state", "RemoteVideoState"), t.param("reason", "RemoteVideoStateReason"), t.param("elapsed", "number"))),
|
|
33
34
|
"onFirstRemoteVideoFrame": t.opt(t.func("void", t.param("connection", "RtcConnection"), t.param("remoteUid", "number"), t.param("width", "number"), t.param("height", "number"), t.param("elapsed", "number"))),
|
|
@@ -100,6 +101,7 @@ export const IRtcEngineEventHandler = t.iface([], {
|
|
|
100
101
|
"onExtensionStoppedWithContext": t.opt(t.func("void", t.param("context", "ExtensionContext"))),
|
|
101
102
|
"onExtensionErrorWithContext": t.opt(t.func("void", t.param("context", "ExtensionContext"), t.param("error", "number"), t.param("message", "string"))),
|
|
102
103
|
"onSetRtmFlagResult": t.opt(t.func("void", t.param("connection", "RtcConnection"), t.param("code", "number"))),
|
|
104
|
+
"onMultipathStats": t.opt(t.func("void", t.param("connection", "RtcConnection"), t.param("stats", "MultipathStats"))),
|
|
103
105
|
});
|
|
104
106
|
|
|
105
107
|
export const IMetadataObserver = t.iface([], {
|