agora-electron-sdk 0.0.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +315 -0
- package/LICENSE +21 -0
- package/README.md +143 -0
- package/gulpfile.js +52 -0
- package/js/AgoraSdk.js +64 -0
- package/js/Decoder/gpu-utils.js +74 -0
- package/js/Decoder/index.js +172 -0
- package/js/Private/AgoraBase.js +3985 -0
- package/js/Private/AgoraMediaBase.js +1014 -0
- package/js/Private/AgoraMediaPlayerTypes.js +316 -0
- package/js/Private/IAgoraH265Transcoder.js +36 -0
- package/js/Private/IAgoraLog.js +78 -0
- package/js/Private/IAgoraMediaEngine.js +32 -0
- package/js/Private/IAgoraMediaPlayer.js +16 -0
- package/js/Private/IAgoraMediaPlayerSource.js +3 -0
- package/js/Private/IAgoraMediaRecorder.js +10 -0
- package/js/Private/IAgoraMediaStreamingSource.js +74 -0
- package/js/Private/IAgoraMusicContentCenter.js +157 -0
- package/js/Private/IAgoraRhythmPlayer.js +62 -0
- package/js/Private/IAgoraRtcEngine.js +982 -0
- package/js/Private/IAgoraRtcEngineEx.js +19 -0
- package/js/Private/IAgoraSpatialAudio.js +24 -0
- package/js/Private/IAudioDeviceManager.js +20 -0
- package/js/Private/extension/AgoraBaseExtension.js +3 -0
- package/js/Private/extension/AgoraMediaBaseExtension.js +2 -0
- package/js/Private/extension/AgoraMediaPlayerTypesExtension.js +2 -0
- package/js/Private/extension/IAgoraH265TranscoderExtension.js +2 -0
- package/js/Private/extension/IAgoraLogExtension.js +2 -0
- package/js/Private/extension/IAgoraMediaEngineExtension.js +2 -0
- package/js/Private/extension/IAgoraMediaPlayerExtension.js +2 -0
- package/js/Private/extension/IAgoraMediaPlayerSourceExtension.js +2 -0
- package/js/Private/extension/IAgoraMediaRecorderExtension.js +2 -0
- package/js/Private/extension/IAgoraMusicContentCenterExtension.js +2 -0
- package/js/Private/extension/IAgoraRhythmPlayerExtension.js +2 -0
- package/js/Private/extension/IAgoraRtcEngineExExtension.js +2 -0
- package/js/Private/extension/IAgoraRtcEngineExtension.js +2 -0
- package/js/Private/extension/IAgoraSpatialAudioExtension.js +2 -0
- package/js/Private/extension/IAudioDeviceManagerExtension.js +2 -0
- package/js/Private/impl/AgoraBaseImpl.js +23 -0
- package/js/Private/impl/AgoraMediaBaseImpl.js +149 -0
- package/js/Private/impl/IAgoraH265TranscoderImpl.js +116 -0
- package/js/Private/impl/IAgoraMediaEngineImpl.js +337 -0
- package/js/Private/impl/IAgoraMediaPlayerImpl.js +950 -0
- package/js/Private/impl/IAgoraMediaPlayerSourceImpl.js +73 -0
- package/js/Private/impl/IAgoraMediaRecorderImpl.js +47 -0
- package/js/Private/impl/IAgoraMusicContentCenterImpl.js +422 -0
- package/js/Private/impl/IAgoraRtcEngineExImpl.js +1042 -0
- package/js/Private/impl/IAgoraRtcEngineImpl.js +5167 -0
- package/js/Private/impl/IAgoraSpatialAudioImpl.js +358 -0
- package/js/Private/impl/IAudioDeviceManagerImpl.js +375 -0
- package/js/Private/internal/AgoraH265TranscoderInternal.js +62 -0
- package/js/Private/internal/AgoraMediaBaseInternal.js +15 -0
- package/js/Private/internal/AudioDeviceManagerInternal.js +44 -0
- package/js/Private/internal/IrisApiEngine.js +424 -0
- package/js/Private/internal/LocalSpatialAudioEngineInternal.js +7 -0
- package/js/Private/internal/MediaEngineInternal.js +122 -0
- package/js/Private/internal/MediaPlayerInternal.js +194 -0
- package/js/Private/internal/MediaRecorderInternal.js +70 -0
- package/js/Private/internal/MusicContentCenterInternal.js +139 -0
- package/js/Private/internal/RtcEngineExInternal.js +430 -0
- package/js/Private/ipc/main.js +21 -0
- package/js/Private/ipc/renderer.js +21 -0
- package/js/Private/ti/AgoraBase-ti.js +40 -0
- package/js/Private/ti/AgoraMediaBase-ti.js +75 -0
- package/js/Private/ti/AgoraMediaPlayerTypes-ti.js +5 -0
- package/js/Private/ti/IAgoraH265Transcoder-ti.js +40 -0
- package/js/Private/ti/IAgoraLog-ti.js +5 -0
- package/js/Private/ti/IAgoraMediaEngine-ti.js +5 -0
- package/js/Private/ti/IAgoraMediaPlayer-ti.js +38 -0
- package/js/Private/ti/IAgoraMediaPlayerSource-ti.js +50 -0
- package/js/Private/ti/IAgoraMediaRecorder-ti.js +5 -0
- package/js/Private/ti/IAgoraMediaStreamingSource-ti.js +5 -0
- package/js/Private/ti/IAgoraMusicContentCenter-ti.js +42 -0
- package/js/Private/ti/IAgoraRhythmPlayer-ti.js +5 -0
- package/js/Private/ti/IAgoraRtcEngine-ti.js +141 -0
- package/js/Private/ti/IAgoraRtcEngineEx-ti.js +5 -0
- package/js/Private/ti/IAgoraSpatialAudio-ti.js +5 -0
- package/js/Private/ti/IAudioDeviceManager-ti.js +5 -0
- package/js/Renderer/AgoraView.js +161 -0
- package/js/Renderer/CapabilityManager.js +99 -0
- package/js/Renderer/IRenderer.js +136 -0
- package/js/Renderer/IRendererCache.js +75 -0
- package/js/Renderer/RendererCache.js +100 -0
- package/js/Renderer/RendererManager.js +301 -0
- package/js/Renderer/WebCodecsRenderer/index.js +109 -0
- package/js/Renderer/WebCodecsRendererCache.js +115 -0
- package/js/Renderer/WebGLRenderer/index.js +314 -0
- package/js/Renderer/WebGLRenderer/webgl-utils.js +1337 -0
- package/js/Renderer/YUVCanvasRenderer/index.js +46 -0
- package/js/Renderer/index.js +17 -0
- package/js/Types.js +67 -0
- package/js/Utils.js +187 -0
- package/package.json +167 -0
- package/scripts/bootstrap.js +29 -0
- package/scripts/build.js +37 -0
- package/scripts/buildJS.js +14 -0
- package/scripts/checkElectron.js +43 -0
- package/scripts/clean.js +16 -0
- package/scripts/download.js +105 -0
- package/scripts/downloadPrebuild.js +199 -0
- package/scripts/getConfig.js +73 -0
- package/scripts/logger.js +32 -0
- package/scripts/synclib.js +69 -0
- package/scripts/util.js +47 -0
- package/scripts/zipBuild.js +40 -0
- package/ts/AgoraSdk.ts +54 -0
- package/ts/Decoder/gpu-utils.ts +92 -0
- package/ts/Decoder/index.ts +206 -0
- package/ts/Private/AgoraBase.ts +5511 -0
- package/ts/Private/AgoraMediaBase.ts +1764 -0
- package/ts/Private/AgoraMediaPlayerTypes.ts +464 -0
- package/ts/Private/IAgoraH265Transcoder.ts +73 -0
- package/ts/Private/IAgoraLog.ts +91 -0
- package/ts/Private/IAgoraMediaEngine.ts +316 -0
- package/ts/Private/IAgoraMediaPlayer.ts +744 -0
- package/ts/Private/IAgoraMediaPlayerSource.ts +137 -0
- package/ts/Private/IAgoraMediaRecorder.ts +25 -0
- package/ts/Private/IAgoraMediaStreamingSource.ts +81 -0
- package/ts/Private/IAgoraMusicContentCenter.ts +455 -0
- package/ts/Private/IAgoraRhythmPlayer.ts +67 -0
- package/ts/Private/IAgoraRtcEngine.ts +7306 -0
- package/ts/Private/IAgoraRtcEngineEx.ts +992 -0
- package/ts/Private/IAgoraSpatialAudio.ts +250 -0
- package/ts/Private/IAudioDeviceManager.ts +342 -0
- package/ts/Private/extension/AgoraBaseExtension.ts +14 -0
- package/ts/Private/extension/AgoraMediaBaseExtension.ts +1 -0
- package/ts/Private/extension/AgoraMediaPlayerTypesExtension.ts +1 -0
- package/ts/Private/extension/IAgoraH265TranscoderExtension.ts +39 -0
- package/ts/Private/extension/IAgoraLogExtension.ts +1 -0
- package/ts/Private/extension/IAgoraMediaEngineExtension.ts +62 -0
- package/ts/Private/extension/IAgoraMediaPlayerExtension.ts +64 -0
- package/ts/Private/extension/IAgoraMediaPlayerSourceExtension.ts +1 -0
- package/ts/Private/extension/IAgoraMediaRecorderExtension.ts +59 -0
- package/ts/Private/extension/IAgoraMusicContentCenterExtension.ts +34 -0
- package/ts/Private/extension/IAgoraRhythmPlayerExtension.ts +1 -0
- package/ts/Private/extension/IAgoraRtcEngineExExtension.ts +1 -0
- package/ts/Private/extension/IAgoraRtcEngineExtension.ts +64 -0
- package/ts/Private/extension/IAgoraSpatialAudioExtension.ts +1 -0
- package/ts/Private/extension/IAudioDeviceManagerExtension.ts +1 -0
- package/ts/Private/impl/AgoraBaseImpl.ts +39 -0
- package/ts/Private/impl/AgoraMediaBaseImpl.ts +237 -0
- package/ts/Private/impl/IAgoraH265TranscoderImpl.ts +152 -0
- package/ts/Private/impl/IAgoraMediaEngineImpl.ts +491 -0
- package/ts/Private/impl/IAgoraMediaPlayerImpl.ts +1169 -0
- package/ts/Private/impl/IAgoraMediaPlayerSourceImpl.ts +94 -0
- package/ts/Private/impl/IAgoraMediaRecorderImpl.ts +59 -0
- package/ts/Private/impl/IAgoraMusicContentCenterImpl.ts +562 -0
- package/ts/Private/impl/IAgoraRtcEngineExImpl.ts +1672 -0
- package/ts/Private/impl/IAgoraRtcEngineImpl.ts +7352 -0
- package/ts/Private/impl/IAgoraSpatialAudioImpl.ts +495 -0
- package/ts/Private/impl/IAudioDeviceManagerImpl.ts +443 -0
- package/ts/Private/internal/AgoraH265TranscoderInternal.ts +97 -0
- package/ts/Private/internal/AgoraMediaBaseInternal.ts +15 -0
- package/ts/Private/internal/AudioDeviceManagerInternal.ts +46 -0
- package/ts/Private/internal/IrisApiEngine.ts +598 -0
- package/ts/Private/internal/LocalSpatialAudioEngineInternal.ts +3 -0
- package/ts/Private/internal/MediaEngineInternal.ts +190 -0
- package/ts/Private/internal/MediaPlayerInternal.ts +311 -0
- package/ts/Private/internal/MediaRecorderInternal.ts +100 -0
- package/ts/Private/internal/MusicContentCenterInternal.ts +208 -0
- package/ts/Private/internal/RtcEngineExInternal.ts +647 -0
- package/ts/Private/ipc/main.ts +22 -0
- package/ts/Private/ipc/renderer.ts +21 -0
- package/ts/Private/ti/AgoraBase-ti.ts +16 -0
- package/ts/Private/ti/AgoraMediaBase-ti.ts +58 -0
- package/ts/Private/ti/AgoraMediaPlayerTypes-ti.ts +11 -0
- package/ts/Private/ti/IAgoraH265Transcoder-ti.ts +16 -0
- package/ts/Private/ti/IAgoraLog-ti.ts +11 -0
- package/ts/Private/ti/IAgoraMediaEngine-ti.ts +11 -0
- package/ts/Private/ti/IAgoraMediaPlayer-ti.ts +14 -0
- package/ts/Private/ti/IAgoraMediaPlayerSource-ti.ts +26 -0
- package/ts/Private/ti/IAgoraMediaRecorder-ti.ts +11 -0
- package/ts/Private/ti/IAgoraMediaStreamingSource-ti.ts +11 -0
- package/ts/Private/ti/IAgoraMusicContentCenter-ti.ts +18 -0
- package/ts/Private/ti/IAgoraRhythmPlayer-ti.ts +11 -0
- package/ts/Private/ti/IAgoraRtcEngine-ti.ts +119 -0
- package/ts/Private/ti/IAgoraRtcEngineEx-ti.ts +11 -0
- package/ts/Private/ti/IAgoraSpatialAudio-ti.ts +11 -0
- package/ts/Private/ti/IAudioDeviceManager-ti.ts +11 -0
- package/ts/Renderer/AgoraView.ts +235 -0
- package/ts/Renderer/CapabilityManager.ts +126 -0
- package/ts/Renderer/IRenderer.ts +158 -0
- package/ts/Renderer/IRendererCache.ts +96 -0
- package/ts/Renderer/RendererCache.ts +124 -0
- package/ts/Renderer/RendererManager.ts +400 -0
- package/ts/Renderer/WebCodecsRenderer/index.ts +145 -0
- package/ts/Renderer/WebCodecsRendererCache.ts +137 -0
- package/ts/Renderer/WebGLRenderer/index.ts +489 -0
- package/ts/Renderer/WebGLRenderer/webgl-utils.js +1510 -0
- package/ts/Renderer/YUVCanvasRenderer/index.ts +67 -0
- package/ts/Renderer/index.ts +1 -0
- package/ts/Types.ts +249 -0
- package/ts/Utils.ts +197 -0
- package/types/AgoraSdk.d.ts +40 -0
- package/types/AgoraSdk.d.ts.map +1 -0
- package/types/Decoder/gpu-utils.d.ts +21 -0
- package/types/Decoder/gpu-utils.d.ts.map +1 -0
- package/types/Decoder/index.d.ts +26 -0
- package/types/Decoder/index.d.ts.map +1 -0
- package/types/Private/AgoraBase.d.ts +5310 -0
- package/types/Private/AgoraBase.d.ts.map +1 -0
- package/types/Private/AgoraMediaBase.d.ts +1668 -0
- package/types/Private/AgoraMediaBase.d.ts.map +1 -0
- package/types/Private/AgoraMediaPlayerTypes.d.ts +453 -0
- package/types/Private/AgoraMediaPlayerTypes.d.ts.map +1 -0
- package/types/Private/IAgoraH265Transcoder.d.ts +28 -0
- package/types/Private/IAgoraH265Transcoder.d.ts.map +1 -0
- package/types/Private/IAgoraLog.d.ts +89 -0
- package/types/Private/IAgoraLog.d.ts.map +1 -0
- package/types/Private/IAgoraMediaEngine.d.ts +250 -0
- package/types/Private/IAgoraMediaEngine.d.ts.map +1 -0
- package/types/Private/IAgoraMediaPlayer.d.ts +648 -0
- package/types/Private/IAgoraMediaPlayer.d.ts.map +1 -0
- package/types/Private/IAgoraMediaPlayerSource.d.ts +109 -0
- package/types/Private/IAgoraMediaPlayerSource.d.ts.map +1 -0
- package/types/Private/IAgoraMediaRecorder.d.ts +20 -0
- package/types/Private/IAgoraMediaRecorder.d.ts.map +1 -0
- package/types/Private/IAgoraMediaStreamingSource.d.ts +42 -0
- package/types/Private/IAgoraMediaStreamingSource.d.ts.map +1 -0
- package/types/Private/IAgoraMusicContentCenter.d.ts +381 -0
- package/types/Private/IAgoraMusicContentCenter.d.ts.map +1 -0
- package/types/Private/IAgoraRhythmPlayer.d.ts +65 -0
- package/types/Private/IAgoraRhythmPlayer.d.ts.map +1 -0
- package/types/Private/IAgoraRtcEngine.d.ts +6103 -0
- package/types/Private/IAgoraRtcEngine.d.ts.map +1 -0
- package/types/Private/IAgoraRtcEngineEx.d.ts +741 -0
- package/types/Private/IAgoraRtcEngineEx.d.ts.map +1 -0
- package/types/Private/IAgoraSpatialAudio.d.ts +196 -0
- package/types/Private/IAgoraSpatialAudio.d.ts.map +1 -0
- package/types/Private/IAudioDeviceManager.d.ts +312 -0
- package/types/Private/IAudioDeviceManager.d.ts.map +1 -0
- package/types/Private/extension/AgoraBaseExtension.d.ts +14 -0
- package/types/Private/extension/AgoraBaseExtension.d.ts.map +1 -0
- package/types/Private/extension/AgoraMediaBaseExtension.d.ts +2 -0
- package/types/Private/extension/AgoraMediaBaseExtension.d.ts.map +1 -0
- package/types/Private/extension/AgoraMediaPlayerTypesExtension.d.ts +2 -0
- package/types/Private/extension/AgoraMediaPlayerTypesExtension.d.ts.map +1 -0
- package/types/Private/extension/IAgoraH265TranscoderExtension.d.ts +24 -0
- package/types/Private/extension/IAgoraH265TranscoderExtension.d.ts.map +1 -0
- package/types/Private/extension/IAgoraLogExtension.d.ts +2 -0
- package/types/Private/extension/IAgoraLogExtension.d.ts.map +1 -0
- package/types/Private/extension/IAgoraMediaEngineExtension.d.ts +40 -0
- package/types/Private/extension/IAgoraMediaEngineExtension.d.ts.map +1 -0
- package/types/Private/extension/IAgoraMediaPlayerExtension.d.ts +46 -0
- package/types/Private/extension/IAgoraMediaPlayerExtension.d.ts.map +1 -0
- package/types/Private/extension/IAgoraMediaPlayerSourceExtension.d.ts +2 -0
- package/types/Private/extension/IAgoraMediaPlayerSourceExtension.d.ts.map +1 -0
- package/types/Private/extension/IAgoraMediaRecorderExtension.d.ts +44 -0
- package/types/Private/extension/IAgoraMediaRecorderExtension.d.ts.map +1 -0
- package/types/Private/extension/IAgoraMusicContentCenterExtension.d.ts +20 -0
- package/types/Private/extension/IAgoraMusicContentCenterExtension.d.ts.map +1 -0
- package/types/Private/extension/IAgoraRhythmPlayerExtension.d.ts +2 -0
- package/types/Private/extension/IAgoraRhythmPlayerExtension.d.ts.map +1 -0
- package/types/Private/extension/IAgoraRtcEngineExExtension.d.ts +2 -0
- package/types/Private/extension/IAgoraRtcEngineExExtension.d.ts.map +1 -0
- package/types/Private/extension/IAgoraRtcEngineExtension.d.ts +42 -0
- package/types/Private/extension/IAgoraRtcEngineExtension.d.ts.map +1 -0
- package/types/Private/extension/IAgoraSpatialAudioExtension.d.ts +2 -0
- package/types/Private/extension/IAgoraSpatialAudioExtension.d.ts.map +1 -0
- package/types/Private/extension/IAudioDeviceManagerExtension.d.ts +2 -0
- package/types/Private/extension/IAudioDeviceManagerExtension.d.ts.map +1 -0
- package/types/Private/impl/AgoraBaseImpl.d.ts +3 -0
- package/types/Private/impl/AgoraBaseImpl.d.ts.map +1 -0
- package/types/Private/impl/AgoraMediaBaseImpl.d.ts +14 -0
- package/types/Private/impl/AgoraMediaBaseImpl.d.ts.map +1 -0
- package/types/Private/impl/IAgoraH265TranscoderImpl.d.ts +15 -0
- package/types/Private/impl/IAgoraH265TranscoderImpl.d.ts.map +1 -0
- package/types/Private/impl/IAgoraMediaEngineImpl.d.ts +46 -0
- package/types/Private/impl/IAgoraMediaEngineImpl.d.ts.map +1 -0
- package/types/Private/impl/IAgoraMediaPlayerImpl.d.ts +143 -0
- package/types/Private/impl/IAgoraMediaPlayerImpl.d.ts.map +1 -0
- package/types/Private/impl/IAgoraMediaPlayerSourceImpl.d.ts +3 -0
- package/types/Private/impl/IAgoraMediaPlayerSourceImpl.d.ts.map +1 -0
- package/types/Private/impl/IAgoraMediaRecorderImpl.d.ts +11 -0
- package/types/Private/impl/IAgoraMediaRecorderImpl.d.ts.map +1 -0
- package/types/Private/impl/IAgoraMusicContentCenterImpl.d.ts +67 -0
- package/types/Private/impl/IAgoraMusicContentCenterImpl.d.ts.map +1 -0
- package/types/Private/impl/IAgoraRtcEngineExImpl.d.ts +116 -0
- package/types/Private/impl/IAgoraRtcEngineExImpl.d.ts.map +1 -0
- package/types/Private/impl/IAgoraRtcEngineImpl.d.ts +628 -0
- package/types/Private/impl/IAgoraRtcEngineImpl.d.ts.map +1 -0
- package/types/Private/impl/IAgoraSpatialAudioImpl.d.ts +47 -0
- package/types/Private/impl/IAgoraSpatialAudioImpl.d.ts.map +1 -0
- package/types/Private/impl/IAudioDeviceManagerImpl.d.ts +65 -0
- package/types/Private/impl/IAudioDeviceManagerImpl.d.ts.map +1 -0
- package/types/Private/internal/AgoraH265TranscoderInternal.d.ts +14 -0
- package/types/Private/internal/AgoraH265TranscoderInternal.d.ts.map +1 -0
- package/types/Private/internal/AgoraMediaBaseInternal.d.ts +8 -0
- package/types/Private/internal/AgoraMediaBaseInternal.d.ts.map +1 -0
- package/types/Private/internal/AudioDeviceManagerInternal.d.ts +9 -0
- package/types/Private/internal/AudioDeviceManagerInternal.d.ts.map +1 -0
- package/types/Private/internal/IrisApiEngine.d.ts +69 -0
- package/types/Private/internal/IrisApiEngine.d.ts.map +1 -0
- package/types/Private/internal/LocalSpatialAudioEngineInternal.d.ts +4 -0
- package/types/Private/internal/LocalSpatialAudioEngineInternal.d.ts.map +1 -0
- package/types/Private/internal/MediaEngineInternal.d.ts +23 -0
- package/types/Private/internal/MediaEngineInternal.d.ts.map +1 -0
- package/types/Private/internal/MediaPlayerInternal.d.ts +30 -0
- package/types/Private/internal/MediaPlayerInternal.d.ts.map +1 -0
- package/types/Private/internal/MediaRecorderInternal.d.ts +16 -0
- package/types/Private/internal/MediaRecorderInternal.d.ts.map +1 -0
- package/types/Private/internal/MusicContentCenterInternal.d.ts +31 -0
- package/types/Private/internal/MusicContentCenterInternal.d.ts.map +1 -0
- package/types/Private/internal/RtcEngineExInternal.d.ts +73 -0
- package/types/Private/internal/RtcEngineExInternal.d.ts.map +1 -0
- package/types/Private/ipc/main.d.ts +2 -0
- package/types/Private/ipc/main.d.ts.map +1 -0
- package/types/Private/ipc/renderer.d.ts +3 -0
- package/types/Private/ipc/renderer.d.ts.map +1 -0
- package/types/Private/ti/AgoraBase-ti.d.ts +8 -0
- package/types/Private/ti/AgoraBase-ti.d.ts.map +1 -0
- package/types/Private/ti/AgoraMediaBase-ti.d.ts +15 -0
- package/types/Private/ti/AgoraMediaBase-ti.d.ts.map +1 -0
- package/types/Private/ti/AgoraMediaPlayerTypes-ti.d.ts +7 -0
- package/types/Private/ti/AgoraMediaPlayerTypes-ti.d.ts.map +1 -0
- package/types/Private/ti/IAgoraH265Transcoder-ti.d.ts +8 -0
- package/types/Private/ti/IAgoraH265Transcoder-ti.d.ts.map +1 -0
- package/types/Private/ti/IAgoraLog-ti.d.ts +7 -0
- package/types/Private/ti/IAgoraLog-ti.d.ts.map +1 -0
- package/types/Private/ti/IAgoraMediaEngine-ti.d.ts +7 -0
- package/types/Private/ti/IAgoraMediaEngine-ti.d.ts.map +1 -0
- package/types/Private/ti/IAgoraMediaPlayer-ti.d.ts +8 -0
- package/types/Private/ti/IAgoraMediaPlayer-ti.d.ts.map +1 -0
- package/types/Private/ti/IAgoraMediaPlayerSource-ti.d.ts +8 -0
- package/types/Private/ti/IAgoraMediaPlayerSource-ti.d.ts.map +1 -0
- package/types/Private/ti/IAgoraMediaRecorder-ti.d.ts +7 -0
- package/types/Private/ti/IAgoraMediaRecorder-ti.d.ts.map +1 -0
- package/types/Private/ti/IAgoraMediaStreamingSource-ti.d.ts +7 -0
- package/types/Private/ti/IAgoraMediaStreamingSource-ti.d.ts.map +1 -0
- package/types/Private/ti/IAgoraMusicContentCenter-ti.d.ts +8 -0
- package/types/Private/ti/IAgoraMusicContentCenter-ti.d.ts.map +1 -0
- package/types/Private/ti/IAgoraRhythmPlayer-ti.d.ts +7 -0
- package/types/Private/ti/IAgoraRhythmPlayer-ti.d.ts.map +1 -0
- package/types/Private/ti/IAgoraRtcEngine-ti.d.ts +10 -0
- package/types/Private/ti/IAgoraRtcEngine-ti.d.ts.map +1 -0
- package/types/Private/ti/IAgoraRtcEngineEx-ti.d.ts +7 -0
- package/types/Private/ti/IAgoraRtcEngineEx-ti.d.ts.map +1 -0
- package/types/Private/ti/IAgoraSpatialAudio-ti.d.ts +7 -0
- package/types/Private/ti/IAgoraSpatialAudio-ti.d.ts.map +1 -0
- package/types/Private/ti/IAudioDeviceManager-ti.d.ts +7 -0
- package/types/Private/ti/IAudioDeviceManager-ti.d.ts.map +1 -0
- package/types/Renderer/AgoraView.d.ts +76 -0
- package/types/Renderer/AgoraView.d.ts.map +1 -0
- package/types/Renderer/CapabilityManager.d.ts +20 -0
- package/types/Renderer/CapabilityManager.d.ts.map +1 -0
- package/types/Renderer/IRenderer.d.ts +20 -0
- package/types/Renderer/IRenderer.d.ts.map +1 -0
- package/types/Renderer/IRendererCache.d.ts +26 -0
- package/types/Renderer/IRendererCache.d.ts.map +1 -0
- package/types/Renderer/RendererCache.d.ts +24 -0
- package/types/Renderer/RendererCache.d.ts.map +1 -0
- package/types/Renderer/RendererManager.d.ts +66 -0
- package/types/Renderer/RendererManager.d.ts.map +1 -0
- package/types/Renderer/WebCodecsRenderer/index.d.ts +14 -0
- package/types/Renderer/WebCodecsRenderer/index.d.ts.map +1 -0
- package/types/Renderer/WebCodecsRendererCache.d.ts +15 -0
- package/types/Renderer/WebCodecsRendererCache.d.ts.map +1 -0
- package/types/Renderer/WebGLRenderer/index.d.ts +27 -0
- package/types/Renderer/WebGLRenderer/index.d.ts.map +1 -0
- package/types/Renderer/WebGLRenderer/webgl-utils.d.ts +1 -0
- package/types/Renderer/WebGLRenderer/webgl-utils.d.ts.map +1 -0
- package/types/Renderer/YUVCanvasRenderer/index.d.ts +9 -0
- package/types/Renderer/YUVCanvasRenderer/index.d.ts.map +1 -0
- package/types/Renderer/index.d.ts +2 -0
- package/types/Renderer/index.d.ts.map +1 -0
- package/types/Types.d.ts +177 -0
- package/types/Types.d.ts.map +1 -0
- package/types/Utils.d.ts +50 -0
- package/types/Utils.d.ts.map +1 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.YUVCanvasRenderer = void 0;
|
|
4
|
+
const IRenderer_1 = require("../IRenderer");
|
|
5
|
+
const YUVBuffer = require('yuv-buffer');
|
|
6
|
+
const YUVCanvas = require('yuv-canvas');
|
|
7
|
+
class YUVCanvasRenderer extends IRenderer_1.IRenderer {
|
|
8
|
+
bind(element) {
|
|
9
|
+
super.bind(element);
|
|
10
|
+
this.frameSink = YUVCanvas.attach(this.canvas, {
|
|
11
|
+
webGL: false,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
drawFrame({ width, height, yStride, uStride, vStride, yBuffer, uBuffer, vBuffer, rotation, alphaBuffer, }) {
|
|
15
|
+
this.rotateCanvas({ width, height, rotation });
|
|
16
|
+
this.updateRenderMode();
|
|
17
|
+
if (!this.frameSink)
|
|
18
|
+
return;
|
|
19
|
+
const frame = YUVBuffer.frame(YUVBuffer.format({
|
|
20
|
+
width,
|
|
21
|
+
height,
|
|
22
|
+
chromaWidth: width / 2,
|
|
23
|
+
chromaHeight: height / 2,
|
|
24
|
+
cropLeft: yStride - width,
|
|
25
|
+
}), {
|
|
26
|
+
bytes: yBuffer,
|
|
27
|
+
stride: yStride,
|
|
28
|
+
}, {
|
|
29
|
+
bytes: uBuffer,
|
|
30
|
+
stride: uStride,
|
|
31
|
+
}, {
|
|
32
|
+
bytes: vBuffer,
|
|
33
|
+
stride: vStride,
|
|
34
|
+
});
|
|
35
|
+
frame.a = alphaBuffer;
|
|
36
|
+
this.frameSink.drawFrame(frame);
|
|
37
|
+
super.drawFrame();
|
|
38
|
+
}
|
|
39
|
+
rotateCanvas({ width, height, rotation }) {
|
|
40
|
+
super.rotateCanvas({ width, height, rotation });
|
|
41
|
+
if (!this.canvas)
|
|
42
|
+
return;
|
|
43
|
+
this.canvas.style.transform += ` rotateZ(${rotation}deg)`;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.YUVCanvasRenderer = YUVCanvasRenderer;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./IRenderer"), exports);
|
package/js/Types.js
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.codecMapping = exports.IPCMessageType = exports.RendererType = exports.VideoFallbackStrategy = void 0;
|
|
4
|
+
const AgoraBase_1 = require("./Private/AgoraBase");
|
|
5
|
+
/**
|
|
6
|
+
* @ignore
|
|
7
|
+
*/
|
|
8
|
+
var VideoFallbackStrategy;
|
|
9
|
+
(function (VideoFallbackStrategy) {
|
|
10
|
+
/**
|
|
11
|
+
* @ignore
|
|
12
|
+
*/
|
|
13
|
+
VideoFallbackStrategy[VideoFallbackStrategy["PerformancePriority"] = 0] = "PerformancePriority";
|
|
14
|
+
/**
|
|
15
|
+
* @ignore
|
|
16
|
+
*/
|
|
17
|
+
VideoFallbackStrategy[VideoFallbackStrategy["BandwidthPriority"] = 1] = "BandwidthPriority";
|
|
18
|
+
})(VideoFallbackStrategy = exports.VideoFallbackStrategy || (exports.VideoFallbackStrategy = {}));
|
|
19
|
+
/**
|
|
20
|
+
* @ignore
|
|
21
|
+
*/
|
|
22
|
+
var RendererType;
|
|
23
|
+
(function (RendererType) {
|
|
24
|
+
/**
|
|
25
|
+
* @ignore
|
|
26
|
+
*/
|
|
27
|
+
RendererType[RendererType["WEBGL"] = 1] = "WEBGL";
|
|
28
|
+
/**
|
|
29
|
+
* @ignore
|
|
30
|
+
*/
|
|
31
|
+
RendererType[RendererType["SOFTWARE"] = 2] = "SOFTWARE";
|
|
32
|
+
/**
|
|
33
|
+
* @ignore
|
|
34
|
+
*/
|
|
35
|
+
RendererType[RendererType["WEBCODECSRENDERER"] = 3] = "WEBCODECSRENDERER";
|
|
36
|
+
})(RendererType = exports.RendererType || (exports.RendererType = {}));
|
|
37
|
+
/**
|
|
38
|
+
* @ignore
|
|
39
|
+
*/
|
|
40
|
+
var IPCMessageType;
|
|
41
|
+
(function (IPCMessageType) {
|
|
42
|
+
/**
|
|
43
|
+
* @ignore
|
|
44
|
+
*/
|
|
45
|
+
IPCMessageType["AGORA_IPC_GET_GPU_INFO"] = "AGORA_IPC_GET_GPU_INFO";
|
|
46
|
+
})(IPCMessageType = exports.IPCMessageType || (exports.IPCMessageType = {}));
|
|
47
|
+
/**
|
|
48
|
+
* @ignore
|
|
49
|
+
*/
|
|
50
|
+
exports.codecMapping = [
|
|
51
|
+
{
|
|
52
|
+
codec: 'avc1.64e01f',
|
|
53
|
+
type: AgoraBase_1.VideoCodecType.VideoCodecH264,
|
|
54
|
+
profile: 'h264',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
codec: 'hvc1.1.6.L5.90',
|
|
58
|
+
type: AgoraBase_1.VideoCodecType.VideoCodecH265,
|
|
59
|
+
profile: 'hevc',
|
|
60
|
+
},
|
|
61
|
+
{ codec: 'vp8', type: AgoraBase_1.VideoCodecType.VideoCodecVp8, profile: 'vp8' },
|
|
62
|
+
{
|
|
63
|
+
codec: 'vp09.00.50.08',
|
|
64
|
+
type: AgoraBase_1.VideoCodecType.VideoCodecVp9,
|
|
65
|
+
profile: 'vp9',
|
|
66
|
+
},
|
|
67
|
+
];
|
package/js/Utils.js
ADDED
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AgoraEnv = exports.getContextByCanvas = exports.isSupportWebGL = exports.classMix = exports.objsKeysToLowerCase = exports.logDebug = exports.logInfo = exports.logError = exports.logWarn = exports.parseIntPtr2Number = exports.DEBUG_TAG = exports.TAG = void 0;
|
|
4
|
+
const Types_1 = require("./Types");
|
|
5
|
+
/**
|
|
6
|
+
* @ignore
|
|
7
|
+
*/
|
|
8
|
+
exports.TAG = '[Agora]: ';
|
|
9
|
+
/**
|
|
10
|
+
* @ignore
|
|
11
|
+
*/
|
|
12
|
+
exports.DEBUG_TAG = '[Agora Debug]: ';
|
|
13
|
+
/**
|
|
14
|
+
* @ignore
|
|
15
|
+
*/
|
|
16
|
+
function parseIntPtr2Number(value) {
|
|
17
|
+
try {
|
|
18
|
+
let bigIntVal = BigInt(value);
|
|
19
|
+
if (bigIntVal > 2n ** 63n - 1n) {
|
|
20
|
+
bigIntVal -= 2n ** 64n;
|
|
21
|
+
}
|
|
22
|
+
return Number(bigIntVal);
|
|
23
|
+
}
|
|
24
|
+
catch (e) {
|
|
25
|
+
return value;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.parseIntPtr2Number = parseIntPtr2Number;
|
|
29
|
+
/**
|
|
30
|
+
* @ignore
|
|
31
|
+
*/
|
|
32
|
+
const logWarn = (msg, ...optParams) => {
|
|
33
|
+
if (!exports.AgoraEnv.enableLogging) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
console.warn(`${exports.TAG} ${msg}`, ...optParams);
|
|
37
|
+
};
|
|
38
|
+
exports.logWarn = logWarn;
|
|
39
|
+
/**
|
|
40
|
+
* @ignore
|
|
41
|
+
*/
|
|
42
|
+
const logError = (msg, ...optParams) => {
|
|
43
|
+
if (!exports.AgoraEnv.enableLogging) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
console.error(`${exports.TAG} ${msg}`, ...optParams);
|
|
47
|
+
};
|
|
48
|
+
exports.logError = logError;
|
|
49
|
+
const getCurrentTime = () => {
|
|
50
|
+
const date = new Date();
|
|
51
|
+
const year = date.getFullYear().toString().slice(-2);
|
|
52
|
+
const month = (date.getMonth() + 1).toString().padStart(2, '0');
|
|
53
|
+
const day = date.getDate().toString().padStart(2, '0');
|
|
54
|
+
const hours = date.getHours().toString().padStart(2, '0');
|
|
55
|
+
const minutes = date.getMinutes().toString().padStart(2, '0');
|
|
56
|
+
const seconds = date.getSeconds().toString().padStart(2, '0');
|
|
57
|
+
const milliseconds = date.getMilliseconds().toString().padStart(3, '0');
|
|
58
|
+
return `${month}/${day}/${year} ${hours}:${minutes}:${seconds}:${milliseconds}`;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* @ignore
|
|
62
|
+
*/
|
|
63
|
+
const logInfo = (msg, ...optParams) => {
|
|
64
|
+
if (!exports.AgoraEnv.enableLogging) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
console.info(`[${getCurrentTime()}]${exports.TAG} ${msg}`, ...optParams);
|
|
68
|
+
};
|
|
69
|
+
exports.logInfo = logInfo;
|
|
70
|
+
/**
|
|
71
|
+
* @ignore
|
|
72
|
+
*/
|
|
73
|
+
const logDebug = (msg, ...optParams) => {
|
|
74
|
+
if (!exports.AgoraEnv.enableLogging || !exports.AgoraEnv.enableDebugLogging) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
console.debug(`${exports.DEBUG_TAG} ${msg}`, ...optParams);
|
|
78
|
+
};
|
|
79
|
+
exports.logDebug = logDebug;
|
|
80
|
+
/**
|
|
81
|
+
* @ignore
|
|
82
|
+
*/
|
|
83
|
+
const objsKeysToLowerCase = (array) => {
|
|
84
|
+
array.forEach((obj) => {
|
|
85
|
+
for (const key in obj) {
|
|
86
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
87
|
+
const element = obj[key];
|
|
88
|
+
obj[key.toLocaleLowerCase()] = element;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
exports.objsKeysToLowerCase = objsKeysToLowerCase;
|
|
94
|
+
/**
|
|
95
|
+
* @ignore
|
|
96
|
+
*/
|
|
97
|
+
function classMix(...mixins) {
|
|
98
|
+
class MixClass {
|
|
99
|
+
constructor() {
|
|
100
|
+
for (let mixin of mixins) {
|
|
101
|
+
copyProperties(this, new mixin()); // Copy instance properties
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
for (let mixin of mixins) {
|
|
106
|
+
copyProperties(MixClass, mixin); // Copy static properties
|
|
107
|
+
copyProperties(MixClass.prototype, mixin.prototype); // Copy prototype properties
|
|
108
|
+
}
|
|
109
|
+
return MixClass;
|
|
110
|
+
}
|
|
111
|
+
exports.classMix = classMix;
|
|
112
|
+
function copyProperties(target, source) {
|
|
113
|
+
for (let key of Reflect.ownKeys(source)) {
|
|
114
|
+
if (key !== 'constructor' && key !== 'prototype' && key !== 'name') {
|
|
115
|
+
let desc = Object.getOwnPropertyDescriptor(source, key);
|
|
116
|
+
Object.defineProperty(target, key, desc);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* @ignore
|
|
122
|
+
*/
|
|
123
|
+
function isSupportWebGL() {
|
|
124
|
+
let flag = false;
|
|
125
|
+
const canvas = document.createElement('canvas');
|
|
126
|
+
try {
|
|
127
|
+
const getContext = (contextNames = ['webgl2', 'webgl', 'experimental-webgl']) => {
|
|
128
|
+
for (let i = 0; i < contextNames.length; i++) {
|
|
129
|
+
const contextName = contextNames[i];
|
|
130
|
+
const context = canvas?.getContext(contextName);
|
|
131
|
+
if (context) {
|
|
132
|
+
return context;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return null;
|
|
136
|
+
};
|
|
137
|
+
let gl = getContext();
|
|
138
|
+
flag = !!gl;
|
|
139
|
+
gl?.getExtension('WEBGL_lose_context')?.loseContext();
|
|
140
|
+
gl = null;
|
|
141
|
+
(0, exports.logInfo)('Your browser support webGL');
|
|
142
|
+
}
|
|
143
|
+
catch (e) {
|
|
144
|
+
(0, exports.logWarn)('Your browser may not support webGL');
|
|
145
|
+
flag = false;
|
|
146
|
+
}
|
|
147
|
+
return flag;
|
|
148
|
+
}
|
|
149
|
+
exports.isSupportWebGL = isSupportWebGL;
|
|
150
|
+
/**
|
|
151
|
+
* @ignore
|
|
152
|
+
*/
|
|
153
|
+
function getContextByCanvas(
|
|
154
|
+
// eslint-disable-next-line auto-import/auto-import
|
|
155
|
+
canvas) {
|
|
156
|
+
const contextNames = ['webgl2', 'webgl', 'experimental-webgl'];
|
|
157
|
+
for (const contextName of contextNames) {
|
|
158
|
+
//@ts-ignore
|
|
159
|
+
const context = canvas.getContext(contextName, {
|
|
160
|
+
depth: true,
|
|
161
|
+
stencil: true,
|
|
162
|
+
alpha: false,
|
|
163
|
+
antialias: false,
|
|
164
|
+
premultipliedAlpha: true,
|
|
165
|
+
preserveDrawingBuffer: true,
|
|
166
|
+
powerPreference: 'default',
|
|
167
|
+
failIfMajorPerformanceCaveat: false,
|
|
168
|
+
});
|
|
169
|
+
if (context) {
|
|
170
|
+
return context;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return null;
|
|
174
|
+
}
|
|
175
|
+
exports.getContextByCanvas = getContextByCanvas;
|
|
176
|
+
/**
|
|
177
|
+
* @ignore
|
|
178
|
+
*/
|
|
179
|
+
exports.AgoraEnv = {
|
|
180
|
+
enableLogging: true,
|
|
181
|
+
enableDebugLogging: false,
|
|
182
|
+
webEnvReady: true,
|
|
183
|
+
enableWebCodecsDecoder: false,
|
|
184
|
+
encodeAlpha: false,
|
|
185
|
+
videoFallbackStrategy: Types_1.VideoFallbackStrategy.PerformancePriority,
|
|
186
|
+
maxDecodeRetryCount: 50,
|
|
187
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "agora-electron-sdk",
|
|
3
|
+
"version": "0.0.0-dev.1",
|
|
4
|
+
"description": "agora-electron-sdk",
|
|
5
|
+
"main": "js/AgoraSdk",
|
|
6
|
+
"types": "types/AgoraSdk.d.ts",
|
|
7
|
+
"source": "ts/AgoraSdk",
|
|
8
|
+
"files": [
|
|
9
|
+
"js",
|
|
10
|
+
"ts",
|
|
11
|
+
"types",
|
|
12
|
+
"scripts",
|
|
13
|
+
"!scripts/terra",
|
|
14
|
+
"!scripts/publishCN",
|
|
15
|
+
"!scripts/internal",
|
|
16
|
+
"gulpfile.js",
|
|
17
|
+
"CHANGELOG.md",
|
|
18
|
+
"!**/__tests__"
|
|
19
|
+
],
|
|
20
|
+
"scripts": {
|
|
21
|
+
"postinstall": "npm run checkElectron",
|
|
22
|
+
"totalBuild": "cross-env-shell gulp totalBuild \\\"--INIT_CWD=$INIT_CWD\\\"",
|
|
23
|
+
"build": "cross-env-shell gulp build \\\"--INIT_CWD=$INIT_CWD\\\"",
|
|
24
|
+
"clean": "cross-env-shell gulp clean \\\"--INIT_CWD=$INIT_CWD\\\"",
|
|
25
|
+
"checkElectron": "cross-env-shell gulp checkElectron \\\"--INIT_CWD=$INIT_CWD\\\"",
|
|
26
|
+
"syncLib": "cross-env-shell gulp syncLib \\\"--INIT_CWD=$INIT_CWD\\\"",
|
|
27
|
+
"buildJS": "cross-env-shell gulp buildJS \\\"--INIT_CWD=$INIT_CWD\\\"",
|
|
28
|
+
"zipBuild": "cross-env-shell gulp zipBuild \\\"--INIT_CWD=$INIT_CWD\\\"",
|
|
29
|
+
"prepack": "cross-env-shell npm run buildJS \\\"--INIT_CWD=$INIT_CWD\\\"",
|
|
30
|
+
"build_mac_debug": "cmake-js rebuild --CDCMAKE_BUILD_TYPE=Debug --CDCMAKE_OSX_ARCHITECTURES=\"arm64;x86_64\" -G Xcode",
|
|
31
|
+
"build_mac_release": "cmake-js rebuild --CDCMAKE_BUILD_TYPE=Release --CDCMAKE_OSX_ARCHITECTURES=\"arm64;x86_64\" -G Xcode",
|
|
32
|
+
"build_windows_win32_debug": "cmake-js rebuild --arch=ia32 --CDCMAKE_OSX_ARCHITECTURES=\"i386\" --CDCMAKE_BUILD_TYPE=Debug -G \"Visual Studio 16 2019\" ",
|
|
33
|
+
"build_windows_win32_release": "cmake-js rebuild --arch=ia32 --CDCMAKE_OSX_ARCHITECTURES=\"i386\" --CDCMAKE_BUILD_TYPE=Release",
|
|
34
|
+
"build_windows_x64_debug": "cmake-js rebuild --arch=x64 --CDCMAKE_OSX_ARCHITECTURES=\"x86_64\" --CDCMAKE_BUILD_TYPE=Debug -G \"Visual Studio 16 2019\"",
|
|
35
|
+
"build_windows_x64_release": "cmake-js rebuild --arch=x64 --CDCMAKE_OSX_ARCHITECTURES=\"x86_64\" --CDCMAKE_BUILD_TYPE=Release",
|
|
36
|
+
"build_linux_debug": "cmake-js rebuild --arch=x64 --CDCMAKE_BUILD_TYPE=Debug -G \"Unix Makefiles\"",
|
|
37
|
+
"build_linux_release": "cmake-js rebuild --arch=x64 --CDCMAKE_BUILD_TYPE=Release -G \"Unix Makefiles\"",
|
|
38
|
+
"test": "jest",
|
|
39
|
+
"typecheck": "tsc --noEmit",
|
|
40
|
+
"lint": "eslint \"**/*.{js,ts,tsx}\"",
|
|
41
|
+
"install": "cross-env-shell gulp NPM_Install \\\"--INIT_CWD=$INIT_CWD\\\"",
|
|
42
|
+
"release": "release-it",
|
|
43
|
+
"example": "yarn --cwd example",
|
|
44
|
+
"example:prepare": "yarn example && cross-env-shell gulp checkElectron \\\"--INIT_CWD=$INIT_CWD/example\\\" \"--electron_path=$INIT_CWD/example/node_modules/electron/dist\"",
|
|
45
|
+
"bootstrap": "yarn config set agora-electron-sdk-pre-built 0 && yarn example && yarn install && yarn patch-package && yarn build:ts-interface && yarn totalBuild && yarn link && yarn example link agora-electron-sdk && yarn config delete agora-electron-sdk-pre-built && yarn example:prepare",
|
|
46
|
+
"build:ts-interface": "ts-interface-builder ts/Private/*.ts -o ts/Private/ti/"
|
|
47
|
+
},
|
|
48
|
+
"keywords": [
|
|
49
|
+
"electron",
|
|
50
|
+
"windows",
|
|
51
|
+
"mac"
|
|
52
|
+
],
|
|
53
|
+
"repository": "https://github.com/AgoraIO-Extensions/Electron-SDK",
|
|
54
|
+
"author": "Agora.io",
|
|
55
|
+
"license": "MIT",
|
|
56
|
+
"bugs": {
|
|
57
|
+
"url": "https://github.com/AgoraIO-Extensions/Electron-SDK/issues"
|
|
58
|
+
},
|
|
59
|
+
"homepage": "https://github.com/AgoraIO-Extensions/Electron-SDK#readme",
|
|
60
|
+
"publishConfig": {
|
|
61
|
+
"registry": "https://registry.npmjs.org/"
|
|
62
|
+
},
|
|
63
|
+
"devDependencies": {
|
|
64
|
+
"@babel/preset-env": "^7.21.5",
|
|
65
|
+
"@babel/preset-typescript": "^7.21.5",
|
|
66
|
+
"@commitlint/config-conventional": "^17.0.2",
|
|
67
|
+
"@evilmartians/lefthook": "^1.2.2",
|
|
68
|
+
"@release-it/conventional-changelog": "^5.0.0",
|
|
69
|
+
"@types/dom-webcodecs": "^0.1.11",
|
|
70
|
+
"@types/node": "^22.8.2",
|
|
71
|
+
"@types/jest": "^28.1.2",
|
|
72
|
+
"@types/json-bigint": "^1.0.1",
|
|
73
|
+
"@types/lodash.isequal": "^4.5.6",
|
|
74
|
+
"@typescript-eslint/eslint-plugin": "^5.30.5",
|
|
75
|
+
"@typescript-eslint/parser": "^5.30.5",
|
|
76
|
+
"cmake-js": "6.3.2",
|
|
77
|
+
"commitlint": "^17.0.2",
|
|
78
|
+
"eslint": "^8.4.1",
|
|
79
|
+
"eslint-config-prettier": "^8.5.0",
|
|
80
|
+
"eslint-plugin-auto-import": "^0.1.1",
|
|
81
|
+
"eslint-plugin-import": "^2.27.5",
|
|
82
|
+
"eslint-plugin-jest": "^26.9.0",
|
|
83
|
+
"eslint-plugin-prettier": "^4.0.0",
|
|
84
|
+
"eslint-plugin-react": "^7.30.1",
|
|
85
|
+
"eslint-plugin-react-hooks": "^4.6.0",
|
|
86
|
+
"gulp-zip": "^5.1.0",
|
|
87
|
+
"jest": "^28.1.1",
|
|
88
|
+
"patch-package": "^6.5.0",
|
|
89
|
+
"prettier": "^2.0.5",
|
|
90
|
+
"release-it": "^15.0.0",
|
|
91
|
+
"ts-interface-builder": "^0.3.3",
|
|
92
|
+
"typescript": "^4.5.2"
|
|
93
|
+
},
|
|
94
|
+
"engines": {
|
|
95
|
+
"node": ">= 14.0.0"
|
|
96
|
+
},
|
|
97
|
+
"jest": {
|
|
98
|
+
"setupFilesAfterEnv": [
|
|
99
|
+
"<rootDir>/ts/__tests__/setup.ts"
|
|
100
|
+
],
|
|
101
|
+
"modulePathIgnorePatterns": [
|
|
102
|
+
"<rootDir>/ts/__tests__/setup.ts",
|
|
103
|
+
"<rootDir>/example/node_modules",
|
|
104
|
+
"<rootDir>/js/",
|
|
105
|
+
"<rootDir>/types/"
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
"commitlint": {
|
|
109
|
+
"extends": [
|
|
110
|
+
"@commitlint/config-conventional"
|
|
111
|
+
]
|
|
112
|
+
},
|
|
113
|
+
"release-it": {
|
|
114
|
+
"git": {
|
|
115
|
+
"commitMessage": "chore: release ${version}",
|
|
116
|
+
"tagName": "v${version}"
|
|
117
|
+
},
|
|
118
|
+
"npm": {
|
|
119
|
+
"publish": true
|
|
120
|
+
},
|
|
121
|
+
"github": {
|
|
122
|
+
"release": true
|
|
123
|
+
},
|
|
124
|
+
"plugins": {
|
|
125
|
+
"@release-it/conventional-changelog": {
|
|
126
|
+
"preset": "angular",
|
|
127
|
+
"infile": "CHANGELOG.md"
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
"dependencies": {
|
|
132
|
+
"buffer": "^6.0.3",
|
|
133
|
+
"cross-env": "^7.0.3",
|
|
134
|
+
"node-fetch": "^2.7.0",
|
|
135
|
+
"extract-zip": "^2.0.1",
|
|
136
|
+
"eventemitter3": "^5.0.1",
|
|
137
|
+
"fs-extra": "^11.1.1",
|
|
138
|
+
"gulp": "^5.0.0",
|
|
139
|
+
"json-bigint": "^1.0.0",
|
|
140
|
+
"jsonfile": "^6.1.0",
|
|
141
|
+
"lodash.isequal": "^4.5.0",
|
|
142
|
+
"minimist": "^1.2.8",
|
|
143
|
+
"shelljs": "^0.8.5",
|
|
144
|
+
"semver": "^7.6.0",
|
|
145
|
+
"ts-interface-checker": "^1.0.2",
|
|
146
|
+
"winston": "^3.11.0",
|
|
147
|
+
"yuv-buffer": "1.0.0",
|
|
148
|
+
"yuv-canvas": "1.2.6",
|
|
149
|
+
"archive-type": "^4.0.0",
|
|
150
|
+
"content-disposition": "^0.5.2",
|
|
151
|
+
"decompress": "^4.2.1",
|
|
152
|
+
"ext-name": "^5.0.0",
|
|
153
|
+
"file-type": "^11.1.0",
|
|
154
|
+
"filenamify": "^3.0.0",
|
|
155
|
+
"get-stream": "^4.1.0",
|
|
156
|
+
"got": "^11.8.5",
|
|
157
|
+
"make-dir": "^5.0.0",
|
|
158
|
+
"p-event": "^2.1.0",
|
|
159
|
+
"pify": "^4.0.1"
|
|
160
|
+
},
|
|
161
|
+
"agora_electron": {
|
|
162
|
+
"iris_sdk_win": "https://download.agora.io/sdk/release/iris_4.5.1-build.1_DCG_Windows_Video_Standalone_20250305_1103_622.zip",
|
|
163
|
+
"iris_sdk_mac": "https://download.agora.io/sdk/release/iris_4.5.1-build.1_DCG_Mac_Video_Standalone_20250305_1105_590.zip",
|
|
164
|
+
"native_sdk_win": "https://download.agora.io/sdk/release/Agora_Native_SDK_for_Windows_v4.5.1_FULL.zip",
|
|
165
|
+
"native_sdk_mac": "https://download.agora.io/sdk/release/Agora_Native_SDK_for_Mac_v4.5.1_FULL.zip"
|
|
166
|
+
}
|
|
167
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const child_process = require('child_process');
|
|
2
|
+
const os = require('os');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
|
|
5
|
+
const root = path.resolve(__dirname, '..');
|
|
6
|
+
const args = process.argv.slice(2);
|
|
7
|
+
const options = {
|
|
8
|
+
cwd: process.cwd(),
|
|
9
|
+
env: process.env,
|
|
10
|
+
stdio: 'inherit',
|
|
11
|
+
encoding: 'utf-8',
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
if (os.type() === 'Windows_NT') {
|
|
15
|
+
options.shell = true;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
let result;
|
|
19
|
+
|
|
20
|
+
if (process.cwd() !== root || args.length) {
|
|
21
|
+
// We're not in the root of the project, or additional arguments were passed
|
|
22
|
+
// In this case, forward the command to `yarn`
|
|
23
|
+
result = child_process.spawnSync('yarn', args, options);
|
|
24
|
+
} else {
|
|
25
|
+
// If `yarn` is run without arguments, perform bootstrap
|
|
26
|
+
result = child_process.spawnSync('yarn', ['bootstrap'], options);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
process.exitCode = result.status;
|
package/scripts/build.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
const { exec, error } = require('shelljs');
|
|
2
|
+
|
|
3
|
+
const getConfig = require('./getConfig');
|
|
4
|
+
const logger = require('./logger');
|
|
5
|
+
const { getOS } = require('./util');
|
|
6
|
+
|
|
7
|
+
const { debug, arch } = getConfig();
|
|
8
|
+
|
|
9
|
+
const build = async (cb) => {
|
|
10
|
+
let scriptStr;
|
|
11
|
+
switch (getOS()) {
|
|
12
|
+
case 'mac':
|
|
13
|
+
scriptStr = debug ? 'build_mac_debug' : 'build_mac_release';
|
|
14
|
+
break;
|
|
15
|
+
case 'win32':
|
|
16
|
+
if (arch === 'x64') {
|
|
17
|
+
scriptStr = debug
|
|
18
|
+
? 'build_windows_x64_debug'
|
|
19
|
+
: 'build_windows_x64_release';
|
|
20
|
+
} else {
|
|
21
|
+
scriptStr = debug
|
|
22
|
+
? 'build_windows_win32_debug'
|
|
23
|
+
: 'build_windows_win32_release';
|
|
24
|
+
}
|
|
25
|
+
break;
|
|
26
|
+
default:
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
scriptStr = `npm run ${scriptStr}`;
|
|
30
|
+
logger.info(`Will to run: ${scriptStr}`);
|
|
31
|
+
await exec(scriptStr, { silent: false });
|
|
32
|
+
const err = error();
|
|
33
|
+
if (err) throw err;
|
|
34
|
+
cb();
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
module.exports = build;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const { exec } = require('shelljs');
|
|
2
|
+
|
|
3
|
+
const { cleanDir, typesDir, jsDir } = require('./clean');
|
|
4
|
+
const logger = require('./logger');
|
|
5
|
+
|
|
6
|
+
const buildJS = async (cb) => {
|
|
7
|
+
logger.info('Build js from typescript');
|
|
8
|
+
await cleanDir(jsDir);
|
|
9
|
+
await cleanDir(typesDir);
|
|
10
|
+
await exec('tsc -p tsconfig.build.json', { silent: false });
|
|
11
|
+
cb();
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
module.exports = buildJS;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
const path = require('path');
|
|
2
|
+
|
|
3
|
+
const { cleanDir } = require('./clean');
|
|
4
|
+
const download = require('./download');
|
|
5
|
+
|
|
6
|
+
const getConfig = require('./getConfig');
|
|
7
|
+
const logger = require('./logger');
|
|
8
|
+
|
|
9
|
+
const config = getConfig();
|
|
10
|
+
const { electron_version, arch, platform } = config;
|
|
11
|
+
let { electron_path } = config;
|
|
12
|
+
const checkElectron = async (cb) => {
|
|
13
|
+
logger.info(`start sync electron`);
|
|
14
|
+
if (!electron_version || platform !== 'darwin') {
|
|
15
|
+
cb();
|
|
16
|
+
logger.info('electron_version is not set or os is not mac, skip sync');
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if (!electron_path) {
|
|
21
|
+
try {
|
|
22
|
+
electron_path = require.resolve('electron');
|
|
23
|
+
} catch (error) {
|
|
24
|
+
logger.info('Electron is not installed, skip sync');
|
|
25
|
+
cb();
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
let tp = path.join(electron_path, `../dist`);
|
|
30
|
+
let downloadUrl = `https://download.agora.io/sdk/release/electron-v${electron_version}-${platform}-${arch}.zip`;
|
|
31
|
+
logger.info(`Downloading:${downloadUrl}`);
|
|
32
|
+
await cleanDir(tp);
|
|
33
|
+
|
|
34
|
+
await download(downloadUrl, tp, {
|
|
35
|
+
extract: true,
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
logger.info(`Finish download:${downloadUrl}`);
|
|
39
|
+
logger.info(`sync electron success`);
|
|
40
|
+
cb();
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
module.exports = checkElectron;
|
package/scripts/clean.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const path = require('path');
|
|
2
|
+
|
|
3
|
+
const fs = require('fs-extra');
|
|
4
|
+
|
|
5
|
+
const logger = require('./logger');
|
|
6
|
+
|
|
7
|
+
exports.destIrisSDKDir = path.join(__dirname, `../iris`);
|
|
8
|
+
exports.destNativeSDKDir = path.join(__dirname, `../native`);
|
|
9
|
+
exports.buildDir = path.resolve(__dirname, '../build');
|
|
10
|
+
exports.jsDir = path.resolve(__dirname, '../js');
|
|
11
|
+
exports.typesDir = path.resolve(__dirname, '../types');
|
|
12
|
+
|
|
13
|
+
exports.cleanDir = async (dir) => {
|
|
14
|
+
await fs.remove(dir);
|
|
15
|
+
logger.info(`clean:${dir}`);
|
|
16
|
+
};
|