agora-electron-sdk 4.2.0-dev.13 → 4.2.0-dev.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/js/Private/internal/IrisApiEngine.js +2 -2
  2. package/js/Private/internal/MediaEngineInternal.js +3 -22
  3. package/js/Private/internal/MediaPlayerInternal.js +3 -22
  4. package/js/Private/internal/MediaRecorderInternal.js +3 -22
  5. package/js/Private/internal/MusicContentCenterInternal.js +3 -22
  6. package/js/Private/internal/RtcEngineExInternal.js +3 -22
  7. package/js/Renderer/YUVCanvasRenderer/index.js +5 -8
  8. package/package.json +7 -10
  9. package/scripts/build.js +3 -1
  10. package/scripts/clean.js +20 -7
  11. package/scripts/downloadPrebuild.js +15 -13
  12. package/scripts/getConfig.js +8 -4
  13. package/scripts/synclib.js +19 -48
  14. package/scripts/util.js +1 -3
  15. package/ts/Private/extension/IAgoraMediaEngineExtension.ts +1 -2
  16. package/ts/Private/extension/IAgoraMediaPlayerExtension.ts +1 -2
  17. package/ts/Private/extension/IAgoraMediaRecorderExtension.ts +1 -2
  18. package/ts/Private/extension/IAgoraMusicContentCenterExtension.ts +1 -2
  19. package/ts/Private/extension/IAgoraRtcEngineExtension.ts +1 -2
  20. package/ts/Private/internal/IrisApiEngine.ts +2 -3
  21. package/ts/Private/internal/MediaEngineInternal.ts +4 -34
  22. package/ts/Private/internal/MediaPlayerInternal.ts +4 -34
  23. package/ts/Private/internal/MediaRecorderInternal.ts +4 -34
  24. package/ts/Private/internal/MusicContentCenterInternal.ts +4 -34
  25. package/ts/Private/internal/RtcEngineExInternal.ts +4 -34
  26. package/ts/Renderer/YUVCanvasRenderer/index.ts +1 -7
  27. package/types/Private/extension/IAgoraMediaEngineExtension.d.ts +2 -3
  28. package/types/Private/extension/IAgoraMediaEngineExtension.d.ts.map +1 -1
  29. package/types/Private/extension/IAgoraMediaPlayerExtension.d.ts +2 -3
  30. package/types/Private/extension/IAgoraMediaPlayerExtension.d.ts.map +1 -1
  31. package/types/Private/extension/IAgoraMediaRecorderExtension.d.ts +2 -3
  32. package/types/Private/extension/IAgoraMediaRecorderExtension.d.ts.map +1 -1
  33. package/types/Private/extension/IAgoraMusicContentCenterExtension.d.ts +2 -3
  34. package/types/Private/extension/IAgoraMusicContentCenterExtension.d.ts.map +1 -1
  35. package/types/Private/extension/IAgoraRtcEngineExtension.d.ts +2 -3
  36. package/types/Private/extension/IAgoraRtcEngineExtension.d.ts.map +1 -1
  37. package/types/Private/internal/IrisApiEngine.d.ts +3 -3
  38. package/types/Private/internal/IrisApiEngine.d.ts.map +1 -1
  39. package/types/Private/internal/MediaEngineInternal.d.ts +1 -3
  40. package/types/Private/internal/MediaEngineInternal.d.ts.map +1 -1
  41. package/types/Private/internal/MediaPlayerInternal.d.ts +1 -3
  42. package/types/Private/internal/MediaPlayerInternal.d.ts.map +1 -1
  43. package/types/Private/internal/MediaRecorderInternal.d.ts +1 -3
  44. package/types/Private/internal/MediaRecorderInternal.d.ts.map +1 -1
  45. package/types/Private/internal/MusicContentCenterInternal.d.ts +1 -3
  46. package/types/Private/internal/MusicContentCenterInternal.d.ts.map +1 -1
  47. package/types/Private/internal/RtcEngineExInternal.d.ts +1 -3
  48. package/types/Private/internal/RtcEngineExInternal.d.ts.map +1 -1
  49. package/types/Renderer/IRenderer.d.ts +1 -1
  50. package/types/Renderer/IRenderer.d.ts.map +1 -1
  51. package/types/Renderer/YUVCanvasRenderer/index.d.ts.map +1 -1
  52. package/types/Types.d.ts +5 -5
  53. package/types/Types.d.ts.map +1 -1
  54. package/js/Private/internal/emitter/EventEmitter.js +0 -111
  55. package/ts/Private/internal/emitter/EventEmitter.d.ts +0 -164
  56. package/ts/Private/internal/emitter/EventEmitter.js +0 -124
  57. package/types/Private/internal/emitter/EventEmitter.d.ts +0 -60
  58. package/types/Private/internal/emitter/EventEmitter.d.ts.map +0 -1
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.emitEvent = exports.callIrisApi = exports.EVENT_PROCESSORS = exports.EVENT_TYPE = exports.isDebuggable = exports.setDebuggable = exports.DeviceEventEmitter = void 0;
7
+ const eventemitter3_1 = __importDefault(require("eventemitter3"));
7
8
  const json_bigint_1 = __importDefault(require("json-bigint"));
8
9
  const Utils_1 = require("../../Utils");
9
10
  const AgoraBaseImpl_1 = require("../impl/AgoraBaseImpl");
@@ -17,9 +18,8 @@ const MediaPlayerInternal_1 = require("./MediaPlayerInternal");
17
18
  const MediaRecorderInternal_1 = require("./MediaRecorderInternal");
18
19
  const MusicContentCenterInternal_1 = require("./MusicContentCenterInternal");
19
20
  const RtcEngineExInternal_1 = require("./RtcEngineExInternal");
20
- const EventEmitter_1 = __importDefault(require("./emitter/EventEmitter"));
21
21
  // @ts-ignore
22
- exports.DeviceEventEmitter = new EventEmitter_1.default();
22
+ exports.DeviceEventEmitter = new eventemitter3_1.default();
23
23
  const AgoraRtcNg = Utils_1.AgoraEnv.AgoraElectronBridge;
24
24
  AgoraRtcNg.OnEvent('call_back_with_buffer', (...params) => {
25
25
  try {
@@ -14,7 +14,6 @@ class MediaEngineInternal extends IAgoraMediaEngineImpl_1.IMediaEngineImpl {
14
14
  static _audio_frame_observers = [];
15
15
  static _video_frame_observers = [];
16
16
  static _video_encoded_frame_observers = [];
17
- _events = new Map();
18
17
  registerAudioFrameObserver(observer) {
19
18
  if (!MediaEngineInternal._audio_frame_observers.find((value) => value === observer)) {
20
19
  MediaEngineInternal._audio_frame_observers.push(observer);
@@ -89,31 +88,13 @@ class MediaEngineInternal extends IAgoraMediaEngineImpl_1.IMediaEngineImpl {
89
88
  (0, AgoraMediaBaseImpl_1.processIVideoFrameObserver)({ [eventType]: listener }, eventType, data[1]);
90
89
  (0, AgoraMediaBaseImpl_1.processIVideoEncodedFrameObserver)({ [eventType]: listener }, eventType, data[1]);
91
90
  };
92
- const subscription = IrisApiEngine_1.DeviceEventEmitter.addListener(eventType, callback);
93
- this._events.set(listener, { eventType, subscription });
94
- return subscription;
91
+ IrisApiEngine_1.DeviceEventEmitter.addListener(eventType, callback);
95
92
  }
96
93
  removeListener(eventType, listener) {
97
- if (!this._events.has(listener))
98
- return;
99
- this._events.get(listener).subscription.remove();
100
- this._events.delete(listener);
94
+ IrisApiEngine_1.DeviceEventEmitter.removeListener(eventType, listener);
101
95
  }
102
96
  removeAllListeners(eventType) {
103
- if (eventType === undefined) {
104
- this._events.forEach((value) => {
105
- IrisApiEngine_1.DeviceEventEmitter.removeAllListeners(value.eventType);
106
- });
107
- this._events.clear();
108
- }
109
- else {
110
- IrisApiEngine_1.DeviceEventEmitter.removeAllListeners(eventType);
111
- this._events.forEach((value, key) => {
112
- if (value.eventType === eventType) {
113
- this._events.delete(key);
114
- }
115
- });
116
- }
97
+ IrisApiEngine_1.DeviceEventEmitter.removeAllListeners(eventType);
117
98
  }
118
99
  }
119
100
  exports.MediaEngineInternal = MediaEngineInternal;
@@ -22,7 +22,6 @@ class MediaPlayerInternal extends IAgoraMediaPlayerImpl_1.IMediaPlayerImpl {
22
22
  static _video_frame_observers = new Map();
23
23
  static _audio_spectrum_observers = new Map();
24
24
  _mediaPlayerId;
25
- _events = new Map();
26
25
  constructor(mediaPlayerId) {
27
26
  super();
28
27
  this._mediaPlayerId = mediaPlayerId;
@@ -83,31 +82,13 @@ class MediaPlayerInternal extends IAgoraMediaPlayerImpl_1.IMediaPlayerImpl {
83
82
  (0, AgoraMediaBaseImpl_1.processIAudioSpectrumObserver)({ [eventType]: listener }, eventType, data[1]);
84
83
  }
85
84
  };
86
- const subscription = IrisApiEngine_1.DeviceEventEmitter.addListener(eventType, callback);
87
- this._events.set(listener, { eventType, subscription });
88
- return subscription;
85
+ IrisApiEngine_1.DeviceEventEmitter.addListener(eventType, callback);
89
86
  }
90
87
  removeListener(eventType, listener) {
91
- if (!this._events.has(listener))
92
- return;
93
- this._events.get(listener).subscription.remove();
94
- this._events.delete(listener);
88
+ IrisApiEngine_1.DeviceEventEmitter.removeListener(eventType);
95
89
  }
96
90
  removeAllListeners(eventType) {
97
- if (eventType === undefined) {
98
- this._events.forEach((value) => {
99
- IrisApiEngine_1.DeviceEventEmitter.removeAllListeners(value.eventType);
100
- });
101
- this._events.clear();
102
- }
103
- else {
104
- IrisApiEngine_1.DeviceEventEmitter.removeAllListeners(eventType);
105
- this._events.forEach((value, key) => {
106
- if (value.eventType === eventType) {
107
- this._events.delete(key);
108
- }
109
- });
110
- }
91
+ IrisApiEngine_1.DeviceEventEmitter.removeAllListeners(eventType);
111
92
  }
112
93
  getMediaPlayerId() {
113
94
  return this._mediaPlayerId;
@@ -14,7 +14,6 @@ const IrisApiEngine_1 = require("./IrisApiEngine");
14
14
  class MediaRecorderInternal extends IAgoraMediaRecorderImpl_1.IMediaRecorderImpl {
15
15
  static _observers = new Map();
16
16
  _nativeHandle;
17
- _events = new Map();
18
17
  constructor(nativeHandle) {
19
18
  super();
20
19
  this._nativeHandle = nativeHandle;
@@ -52,31 +51,13 @@ class MediaRecorderInternal extends IAgoraMediaRecorderImpl_1.IMediaRecorderImpl
52
51
  }
53
52
  (0, AgoraMediaBaseImpl_1.processIMediaRecorderObserver)({ [eventType]: listener }, eventType, data[1]);
54
53
  };
55
- const subscription = IrisApiEngine_1.DeviceEventEmitter.addListener(eventType, callback);
56
- this._events.set(listener, { eventType, subscription });
57
- return subscription;
54
+ IrisApiEngine_1.DeviceEventEmitter.addListener(eventType, callback);
58
55
  }
59
56
  removeListener(eventType, listener) {
60
- if (!this._events.has(listener))
61
- return;
62
- this._events.get(listener).subscription.remove();
63
- this._events.delete(listener);
57
+ IrisApiEngine_1.DeviceEventEmitter.removeListener(eventType, listener);
64
58
  }
65
59
  removeAllListeners(eventType) {
66
- if (eventType === undefined) {
67
- this._events.forEach((value) => {
68
- IrisApiEngine_1.DeviceEventEmitter.removeAllListeners(value.eventType);
69
- });
70
- this._events.clear();
71
- }
72
- else {
73
- IrisApiEngine_1.DeviceEventEmitter.removeAllListeners(eventType);
74
- this._events.forEach((value, key) => {
75
- if (value.eventType === eventType) {
76
- this._events.delete(key);
77
- }
78
- });
79
- }
60
+ IrisApiEngine_1.DeviceEventEmitter.removeAllListeners(eventType);
80
61
  }
81
62
  }
82
63
  exports.MediaRecorderInternal = MediaRecorderInternal;
@@ -12,7 +12,6 @@ const IrisApiEngine_1 = require("./IrisApiEngine");
12
12
  const MediaPlayerInternal_1 = require("./MediaPlayerInternal");
13
13
  class MusicContentCenterInternal extends IAgoraMusicContentCenterImpl_1.IMusicContentCenterImpl {
14
14
  static _event_handlers = [];
15
- _events = new Map();
16
15
  _addListenerPreCheck(eventType) {
17
16
  if (checkers.IMusicContentCenterEventHandler?.strictTest({
18
17
  [eventType]: undefined,
@@ -31,31 +30,13 @@ class MusicContentCenterInternal extends IAgoraMusicContentCenterImpl_1.IMusicCo
31
30
  }
32
31
  (0, IAgoraMusicContentCenterImpl_1.processIMusicContentCenterEventHandler)({ [eventType]: listener }, eventType, data[1]);
33
32
  };
34
- const subscription = IrisApiEngine_1.DeviceEventEmitter.addListener(eventType, callback);
35
- this._events.set(listener, { eventType, subscription });
36
- return subscription;
33
+ IrisApiEngine_1.DeviceEventEmitter.addListener(eventType, callback);
37
34
  }
38
35
  removeListener(eventType, listener) {
39
- if (!this._events.has(listener))
40
- return;
41
- this._events.get(listener).subscription.remove();
42
- this._events.delete(listener);
36
+ IrisApiEngine_1.DeviceEventEmitter.removeListener(eventType, listener);
43
37
  }
44
38
  removeAllListeners(eventType) {
45
- if (eventType === undefined) {
46
- this._events.forEach((value) => {
47
- IrisApiEngine_1.DeviceEventEmitter.removeAllListeners(value.eventType);
48
- });
49
- this._events.clear();
50
- }
51
- else {
52
- IrisApiEngine_1.DeviceEventEmitter.removeAllListeners(eventType);
53
- this._events.forEach((value, key) => {
54
- if (value.eventType === eventType) {
55
- this._events.delete(key);
56
- }
57
- });
58
- }
39
+ IrisApiEngine_1.DeviceEventEmitter.removeAllListeners(eventType);
59
40
  }
60
41
  registerEventHandler(eventHandler) {
61
42
  if (!MusicContentCenterInternal._event_handlers.find((value) => value === eventHandler)) {
@@ -34,7 +34,6 @@ class RtcEngineExInternal extends IAgoraRtcEngineExImpl_1.IRtcEngineExImpl {
34
34
  _media_engine = new MediaEngineInternal_1.MediaEngineInternal();
35
35
  _music_content_center = new MusicContentCenterInternal_1.MusicContentCenterInternal();
36
36
  _local_spatial_audio_engine = new LocalSpatialAudioEngineInternal_1.LocalSpatialAudioEngineInternal();
37
- _events = new Map();
38
37
  initialize(context) {
39
38
  if (Utils_1.AgoraEnv.webEnvReady) {
40
39
  const { RendererManager } = require('../../Renderer/RendererManager');
@@ -118,31 +117,13 @@ class RtcEngineExInternal extends IAgoraRtcEngineExImpl_1.IRtcEngineExImpl {
118
117
  (0, AgoraBaseImpl_1.processIAudioEncodedFrameObserver)({ [eventType]: listener }, eventType, data[1]);
119
118
  (0, AgoraMediaBaseImpl_1.processIAudioSpectrumObserver)({ [eventType]: listener }, eventType, data[1]);
120
119
  };
121
- const subscription = IrisApiEngine_1.DeviceEventEmitter.addListener(eventType, callback);
122
- this._events.set(listener, { eventType, subscription });
123
- return subscription;
120
+ IrisApiEngine_1.DeviceEventEmitter.addListener(eventType, callback);
124
121
  }
125
122
  removeListener(eventType, listener) {
126
- if (!this._events.has(listener))
127
- return;
128
- this._events.get(listener).subscription.remove();
129
- this._events.delete(listener);
123
+ IrisApiEngine_1.DeviceEventEmitter.removeListener(eventType, listener);
130
124
  }
131
125
  removeAllListeners(eventType) {
132
- if (eventType === undefined) {
133
- this._events.forEach((value) => {
134
- IrisApiEngine_1.DeviceEventEmitter.removeAllListeners(value.eventType);
135
- });
136
- this._events.clear();
137
- }
138
- else {
139
- IrisApiEngine_1.DeviceEventEmitter.removeAllListeners(eventType);
140
- this._events.forEach((value, key) => {
141
- if (value.eventType === eventType) {
142
- this._events.delete(key);
143
- }
144
- });
145
- }
126
+ IrisApiEngine_1.DeviceEventEmitter.removeAllListeners(eventType);
146
127
  }
147
128
  getVersion() {
148
129
  const apiType = 'RtcEngine_getVersion';
@@ -1,15 +1,12 @@
1
1
  "use strict";
2
- /*
3
- * @Author: zhangtao@agora.io
4
- * @Date: 2021-04-28 13:34:48
5
- * @Last Modified by: zhangtao@agora.io
6
- * @Last Modified time: 2021-05-19 15:59:03
7
- */
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
8
5
  Object.defineProperty(exports, "__esModule", { value: true });
9
6
  exports.YUVCanvasRenderer = void 0;
7
+ const lodash_isequal_1 = __importDefault(require("lodash.isequal"));
10
8
  const AgoraMediaBase_1 = require("../../Private/AgoraMediaBase");
11
9
  const IRenderer_1 = require("../IRenderer");
12
- const isEqual = require('lodash.isequal');
13
10
  const YUVBuffer = require('yuv-buffer');
14
11
  const YUVCanvas = require('yuv-canvas');
15
12
  class YUVCanvasRenderer extends IRenderer_1.IRenderer {
@@ -105,7 +102,7 @@ class YUVCanvasRenderer extends IRenderer_1.IRenderer {
105
102
  clientHeight: 0,
106
103
  }) {
107
104
  if (this._cacheCanvasOptions) {
108
- if (isEqual(this._cacheCanvasOptions, options)) {
105
+ if ((0, lodash_isequal_1.default)(this._cacheCanvasOptions, options)) {
109
106
  return;
110
107
  }
111
108
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agora-electron-sdk",
3
- "version": "4.2.0-dev.13",
3
+ "version": "4.2.0-dev.15",
4
4
  "description": "agora-electron-sdk",
5
5
  "main": "js/AgoraSdk",
6
6
  "types": "types/AgoraSdk.d.ts",
@@ -60,6 +60,7 @@
60
60
  "@evilmartians/lefthook": "^1.2.2",
61
61
  "@release-it/conventional-changelog": "^5.0.0",
62
62
  "@types/json-bigint": "^1.0.1",
63
+ "@types/lodash.isequal": "^4.5.6",
63
64
  "@typescript-eslint/eslint-plugin": "^5.30.5",
64
65
  "@typescript-eslint/parser": "^5.30.5",
65
66
  "cmake-js": "6.3.2",
@@ -71,6 +72,7 @@
71
72
  "eslint-plugin-prettier": "^4.0.0",
72
73
  "eslint-plugin-react": "^7.30.1",
73
74
  "eslint-plugin-react-hooks": "^4.6.0",
75
+ "gulp-zip": "^5.1.0",
74
76
  "patch-package": "^6.5.0",
75
77
  "prettier": "^2.0.5",
76
78
  "release-it": "^15.0.0",
@@ -105,20 +107,15 @@
105
107
  }
106
108
  },
107
109
  "dependencies": {
108
- "bindings": "1.2.1",
109
110
  "buffer": "^6.0.3",
110
111
  "cross-env": "^7.0.3",
111
112
  "download": "^8.0.0",
112
- "extract-zip": "^2.0.1",
113
- "fs-extra": "^9.1.0",
113
+ "eventemitter3": "^5.0.1",
114
+ "fs-extra": "^11.1.1",
114
115
  "gulp": "^4.0.2",
115
- "gulp-cli": "^2.3.0",
116
- "gulp-zip": "^5.1.0",
117
116
  "json-bigint": "^1.0.0",
118
- "jsonfile": "^6.1.0",
119
117
  "lodash.isequal": "^4.5.0",
120
118
  "minimist": "^1.2.5",
121
- "rimraf": "^3.0.0",
122
119
  "shelljs": "^0.8.4",
123
120
  "ts-interface-checker": "^1.0.2",
124
121
  "winston": "^3.3.3",
@@ -126,7 +123,7 @@
126
123
  "yuv-canvas": "1.2.6"
127
124
  },
128
125
  "agora_electron": {
129
- "iris_sdk_win": "https://download.agora.io/sdk/release/iris_4.2.0-dev.13_DCG_Windows_Video_20230426_0712.zip",
130
- "iris_sdk_mac": "https://download.agora.io/sdk/release/iris_4.2.0-dev.13_DCG_Mac_Video_20230426_0712.zip"
126
+ "iris_sdk_win": "https://download.agora.io/sdk/release/iris_4.2.0-dev.15_DCG_Windows_Video_20230515_1046.zip",
127
+ "iris_sdk_mac": "https://download.agora.io/sdk/release/iris_4.2.0-dev.15_DCG_Mac_Video_20230515_1046.zip"
131
128
  }
132
129
  }
package/scripts/build.js CHANGED
@@ -1,4 +1,4 @@
1
- const { exec } = require('shelljs');
1
+ const { exec, error } = require('shelljs');
2
2
 
3
3
  const getConfig = require('./getConfig');
4
4
  const logger = require('./logger');
@@ -29,6 +29,8 @@ const build = async (cb) => {
29
29
  scriptStr = `npm run ${scriptStr}`;
30
30
  logger.info(`Will to run: ${scriptStr}`);
31
31
  await exec(scriptStr, { silent: false });
32
+ const err = error();
33
+ if (err) throw err;
32
34
  cb();
33
35
  };
34
36
 
package/scripts/clean.js CHANGED
@@ -2,19 +2,32 @@ const path = require('path');
2
2
 
3
3
  const fs = require('fs-extra');
4
4
 
5
+ const logger = require('./logger');
6
+
5
7
  const destIrisSDKDir = path.join(__dirname, `../iris`);
6
8
  const buildDir = path.resolve(__dirname, '../build');
7
9
 
8
10
  exports.destIrisSDKDir = destIrisSDKDir;
9
11
  exports.buildDir = buildDir;
10
12
 
11
- exports.cleanIrisDir = async () => await fs.remove(destIrisSDKDir);
13
+ exports.cleanIrisDir = async () => {
14
+ await fs.remove(destIrisSDKDir);
15
+ logger.info(`clean:${destIrisSDKDir}`);
16
+ };
12
17
 
13
- exports.cleanBuildDir = async () =>
14
- await fs.remove(`${path.resolve(__dirname, '../build')}`);
18
+ exports.cleanBuildDir = async () => {
19
+ await fs.remove(buildDir);
20
+ logger.info(`clean:${buildDir}`);
21
+ };
15
22
 
16
- exports.cleanJSDir = async () =>
17
- await fs.remove(`${path.resolve(__dirname, '../js')}`);
23
+ exports.cleanJSDir = async () => {
24
+ const dir = path.resolve(__dirname, '../js');
25
+ await fs.remove(dir);
26
+ logger.info(`clean:${dir}`);
27
+ };
18
28
 
19
- exports.cleanTypesDir = async () =>
20
- await fs.remove(`${path.resolve(__dirname, '../types')}`);
29
+ exports.cleanTypesDir = async () => {
30
+ const dir = path.resolve(__dirname, '../types');
31
+ await fs.remove(dir);
32
+ logger.info(`clean:${dir}`);
33
+ };
@@ -3,7 +3,7 @@ const path = require('path');
3
3
  const download = require('download');
4
4
  const fs = require('fs-extra');
5
5
 
6
- const { cleanBuildDir, cleanJSDir, buildDir } = require('./clean');
6
+ const { cleanBuildDir, buildDir } = require('./clean');
7
7
  const getConfig = require('./getConfig');
8
8
  const logger = require('./logger');
9
9
  const { getOS } = require('./util');
@@ -13,9 +13,9 @@ const { platform, packageVersion, arch, no_symbol } = getConfig();
13
13
  const workspaceDir = `${path.join(__dirname, '..')}`;
14
14
 
15
15
  const getDownloadURL = () => {
16
- let downloadUrl = `http://download.agora.io/sdk/release/Electron-${getOS()}-${packageVersion}-napi.zip`;
16
+ let downloadUrl = `https://download.agora.io/sdk/release/Electron-${getOS()}-${packageVersion}-napi.zip`;
17
17
  if (platform === 'win32' && arch === 'x64') {
18
- downloadUrl = `http://download.agora.io/sdk/release/Electron-win64-${packageVersion}-napi.zip`;
18
+ downloadUrl = `https://download.agora.io/sdk/release/Electron-win64-${packageVersion}-napi.zip`;
19
19
  }
20
20
  return downloadUrl;
21
21
  };
@@ -69,9 +69,8 @@ const removeFileByFilter = async () => {
69
69
  logger.info('Success: Download and cleanup finished');
70
70
  };
71
71
 
72
- module.exports = async (cb) => {
72
+ module.exports = async () => {
73
73
  await cleanBuildDir();
74
- // cleanJSDir();
75
74
 
76
75
  const downloadUrl = getDownloadURL();
77
76
 
@@ -82,14 +81,17 @@ module.exports = async (cb) => {
82
81
  logger.info('Download URL %s ', downloadUrl);
83
82
 
84
83
  logger.info('Downloading prebuilt C++ addon for Agora Electron SDK...');
85
- try {
86
- await download(downloadUrl, buildDir, {
87
- strip: 1,
88
- extract: true,
89
- });
90
- } catch (error) {
91
- logger.error('Agora sdk download base sdk error', error);
92
- }
84
+ await download(downloadUrl, buildDir, {
85
+ strip: 1,
86
+ extract: true,
87
+ filter: (file) => {
88
+ return (
89
+ file.type !== 'directory' &&
90
+ !file.path.endsWith(path.sep) &&
91
+ file.data.length !== 0
92
+ );
93
+ },
94
+ });
93
95
 
94
96
  if (no_symbol) {
95
97
  await removeFileByFilter();
@@ -9,7 +9,7 @@ const { INIT_CWD } = minimist(process.argv.slice(2), {
9
9
  default: {},
10
10
  });
11
11
  logger.info(`pass INIT_CWD ${INIT_CWD}`);
12
- logger.info(`process.env.INIT_CWD ${process.env.INIT_CWD}`);
12
+ logger.info(`process.env.INIT_CWD ${process.env.INIT_CWD}`);
13
13
 
14
14
  const getArgvFromPkgJson = () => {
15
15
  const projectDir = path.join(INIT_CWD, 'package.json');
@@ -52,9 +52,13 @@ const getConfig = () => {
52
52
  default: { ...getArgvFromPkgJson() },
53
53
  });
54
54
 
55
- //argv from ci/npm_config
56
- if (npm_config_agora_electron_sdk_pre_built) {
57
- config.prebuilt = !!JSON.parse(npm_config_agora_electron_sdk_pre_built);
55
+ logger.info(
56
+ `env: ${npm_config_agora_electron_sdk_pre_built} ${npm_config_agora_electron_sdk_platform} ${npm_config_agora_electron_sdk_arch}`
57
+ );
58
+
59
+ // argv from ci/npm_config
60
+ if (npm_config_agora_electron_sdk_pre_built !== undefined) {
61
+ config.prebuilt = !!+npm_config_agora_electron_sdk_pre_built;
58
62
  }
59
63
 
60
64
  if (npm_config_agora_electron_sdk_platform !== undefined) {
@@ -1,71 +1,42 @@
1
1
  const path = require('path');
2
2
 
3
- const { promisify } = require('util');
4
-
5
3
  const download = require('download');
6
- const extract = require('extract-zip');
7
- const fs = require('fs-extra');
8
- const glob = require('glob');
9
4
 
10
5
  const { destIrisSDKDir, cleanIrisDir } = require('./clean');
11
6
  const getConfig = require('./getConfig');
12
7
  const logger = require('./logger');
13
- const { getOS, createTmpDir } = require('./util');
8
+ const { getOS } = require('./util');
14
9
 
15
- const globPromise = promisify(glob);
16
10
  const config = getConfig();
17
11
 
18
12
  const { iris_sdk_mac, iris_sdk_win } = config;
19
13
 
20
- const downloadSDK = async ({
21
- preHook,
22
- postHook,
23
- sdkURL,
24
- globPattern,
25
- destDir,
26
- }) => {
14
+ const downloadSDK = async ({ preHook, postHook, sdkURL, destDir }) => {
27
15
  logger.info(`Downloading:${sdkURL}`);
28
16
  await preHook();
29
- const downloadTmp = await createTmpDir();
30
- await download(sdkURL, downloadTmp, {
31
- filename: 'sdk.zip',
32
- });
33
-
34
- const zipPath = path.join(downloadTmp, 'sdk.zip');
35
- await extract(zipPath, {
36
- dir: downloadTmp,
17
+ await download(sdkURL, destDir, {
18
+ strip: 1,
19
+ extract: true,
20
+ filter: (file) => {
21
+ return (
22
+ file.type !== 'directory' &&
23
+ !file.path.endsWith(path.sep) &&
24
+ file.data.length !== 0
25
+ );
26
+ },
37
27
  });
38
- const filterUnzipsFiles = await globPromise(
39
- path.join(downloadTmp, globPattern),
40
- {
41
- ignore: [],
42
- }
43
- );
44
- if (filterUnzipsFiles.length === 0) {
45
- const message = `${sdkURL}: Can't find libs`;
46
- logger.error(message);
47
- throw new Error(message);
48
- }
49
-
50
- await fs.copy(filterUnzipsFiles[0], destDir);
51
- await fs.remove(downloadTmp);
52
28
  logger.info(`Finish download:${sdkURL}`);
53
29
  await postHook();
54
30
  };
55
31
 
56
32
  const syncLib = async (cb) => {
57
- try {
58
- const os = getOS();
59
- await downloadSDK({
60
- preHook: cleanIrisDir,
61
- postHook: () => {},
62
- sdkURL: os === 'mac' ? iris_sdk_mac : iris_sdk_win,
63
- globPattern: '*/**',
64
- destDir: destIrisSDKDir,
65
- });
66
- } catch (error) {
67
- logger.error(error);
68
- }
33
+ const os = getOS();
34
+ await downloadSDK({
35
+ preHook: cleanIrisDir,
36
+ postHook: () => {},
37
+ sdkURL: os === 'mac' ? iris_sdk_mac : iris_sdk_win,
38
+ destDir: destIrisSDKDir,
39
+ });
69
40
  cb();
70
41
  };
71
42
 
package/scripts/util.js CHANGED
@@ -3,7 +3,6 @@ const os = require('os');
3
3
  const fs = require('fs-extra');
4
4
 
5
5
  const getConfig = require('./getConfig');
6
- const logger = require('./logger');
7
6
 
8
7
  exports.getOS = () => {
9
8
  const { platform } = getConfig();
@@ -12,8 +11,7 @@ exports.getOS = () => {
12
11
  } else if (platform === 'win32') {
13
12
  return 'win32';
14
13
  } else {
15
- // not supported in temp
16
- logger.error('Unsupported platform!');
14
+ return 'linux';
17
15
  }
18
16
  };
19
17
 
@@ -3,7 +3,6 @@ import {
3
3
  IVideoEncodedFrameObserver,
4
4
  IVideoFrameObserver,
5
5
  } from '../AgoraMediaBase';
6
- import type { EmitterSubscription } from '../internal/emitter/EventEmitter';
7
6
 
8
7
  export type IMediaEngineEvent = IAudioFrameObserver &
9
8
  IVideoFrameObserver &
@@ -29,7 +28,7 @@ declare module '../IAgoraMediaEngine' {
29
28
  addListener<EventType extends keyof IMediaEngineEvent>(
30
29
  eventType: EventType,
31
30
  listener: IMediaEngineEvent[EventType]
32
- ): EmitterSubscription;
31
+ ): void;
33
32
 
34
33
  /**
35
34
  * Removes the specified IMediaEngineEvent listener.
@@ -1,7 +1,6 @@
1
1
  import { IAudioPcmFrameSink, IAudioSpectrumObserver } from '../AgoraMediaBase';
2
2
  import { IMediaPlayerVideoFrameObserver } from '../IAgoraMediaPlayer';
3
3
  import { IMediaPlayerSourceObserver } from '../IAgoraMediaPlayerSource';
4
- import type { EmitterSubscription } from '../internal/emitter/EventEmitter';
5
4
 
6
5
  export type IMediaPlayerEvent = IMediaPlayerSourceObserver &
7
6
  IAudioPcmFrameSink &
@@ -28,7 +27,7 @@ declare module '../IAgoraMediaPlayer' {
28
27
  addListener<EventType extends keyof IMediaPlayerEvent>(
29
28
  eventType: EventType,
30
29
  listener: IMediaPlayerEvent[EventType]
31
- ): EmitterSubscription;
30
+ ): void;
32
31
 
33
32
  /**
34
33
  * Removes the specified IMediaPlayerEvent listener.
@@ -1,5 +1,4 @@
1
1
  import { IMediaRecorderObserver } from '../AgoraMediaBase';
2
- import type { EmitterSubscription } from '../internal/emitter/EventEmitter';
3
2
 
4
3
  export type IMediaRecorderEvent = IMediaRecorderObserver;
5
4
 
@@ -23,7 +22,7 @@ declare module '../IAgoraMediaRecorder' {
23
22
  addListener<EventType extends keyof IMediaRecorderEvent>(
24
23
  eventType: EventType,
25
24
  listener: IMediaRecorderEvent[EventType]
26
- ): EmitterSubscription;
25
+ ): void;
27
26
 
28
27
  /**
29
28
  * Removes the specified IMediaRecorderEvent listener.
@@ -1,5 +1,4 @@
1
1
  import { IMusicContentCenterEventHandler } from '../IAgoraMusicContentCenter';
2
- import type { EmitterSubscription } from '../internal/emitter/EventEmitter';
3
2
 
4
3
  export type IMusicContentCenterEvent = IMusicContentCenterEventHandler;
5
4
 
@@ -15,7 +14,7 @@ declare module '../IAgoraMusicContentCenter' {
15
14
  addListener<EventType extends keyof IMusicContentCenterEvent>(
16
15
  eventType: EventType,
17
16
  listener: IMusicContentCenterEvent[EventType]
18
- ): EmitterSubscription;
17
+ ): void;
19
18
 
20
19
  /**
21
20
  * @ignore
@@ -5,7 +5,6 @@ import {
5
5
  IMetadataObserver,
6
6
  IRtcEngineEventHandler,
7
7
  } from '../IAgoraRtcEngine';
8
- import type { EmitterSubscription } from '../internal/emitter/EventEmitter';
9
8
 
10
9
  export type IRtcEngineEvent = IRtcEngineEventHandler &
11
10
  IDirectCdnStreamingEventHandler &
@@ -33,7 +32,7 @@ declare module '../IAgoraRtcEngine' {
33
32
  addListener<EventType extends keyof IRtcEngineEvent>(
34
33
  eventType: EventType,
35
34
  listener: IRtcEngineEvent[EventType]
36
- ): EmitterSubscription;
35
+ ): void;
37
36
 
38
37
  /**
39
38
  * Removes the specified IRtcEngineEvent listener.