agora-electron-sdk 4.2.6 → 4.3.0

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 (172) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/js/Private/AgoraBase.js +139 -174
  3. package/js/Private/AgoraMediaBase.js +49 -20
  4. package/js/Private/AgoraMediaPlayerTypes.js +32 -23
  5. package/js/Private/IAgoraH265Transcoder.js +39 -0
  6. package/js/Private/IAgoraMediaStreamingSource.js +32 -32
  7. package/js/Private/IAgoraMusicContentCenter.js +19 -19
  8. package/js/Private/IAgoraRhythmPlayer.js +9 -9
  9. package/js/Private/IAgoraRtcEngine.js +12 -12
  10. package/js/Private/IAgoraSpatialAudio.js +3 -31
  11. package/js/Private/extension/IAgoraH265TranscoderExtension.js +2 -0
  12. package/js/Private/impl/AgoraMediaBaseImpl.js +26 -2
  13. package/js/Private/impl/IAgoraH265TranscoderImpl.js +119 -0
  14. package/js/Private/impl/IAgoraMediaEngineImpl.js +13 -13
  15. package/js/Private/impl/IAgoraMediaPlayerImpl.js +92 -74
  16. package/js/Private/impl/IAgoraMediaPlayerSourceImpl.js +12 -2
  17. package/js/Private/impl/IAgoraMediaRecorderImpl.js +2 -2
  18. package/js/Private/impl/IAgoraMusicContentCenterImpl.js +20 -20
  19. package/js/Private/impl/IAgoraRtcEngineExImpl.js +66 -84
  20. package/js/Private/impl/IAgoraRtcEngineImpl.js +456 -440
  21. package/js/Private/impl/IAgoraSpatialAudioImpl.js +157 -181
  22. package/js/Private/impl/IAudioDeviceManagerImpl.js +22 -22
  23. package/js/Private/internal/AgoraH265TranscoderInternal.js +86 -0
  24. package/js/Private/internal/AgoraMediaBaseInternal.js +34 -0
  25. package/js/Private/internal/IrisApiEngine.js +35 -20
  26. package/js/Private/internal/LocalSpatialAudioEngineInternal.js +0 -39
  27. package/js/Private/internal/MediaPlayerInternal.js +22 -21
  28. package/js/Private/internal/MusicContentCenterInternal.js +1 -4
  29. package/js/Private/internal/RtcEngineExInternal.js +101 -134
  30. package/js/Private/ti/AgoraMediaBase-ti.js +1 -1
  31. package/js/Private/ti/IAgoraH265Transcoder-ti.js +40 -0
  32. package/js/Private/ti/IAgoraMediaPlayerSource-ti.js +4 -2
  33. package/js/Private/ti/IAgoraMusicContentCenter-ti.js +5 -5
  34. package/js/Private/ti/IAgoraRtcEngine-ti.js +12 -11
  35. package/js/Renderer/AgoraView.js +28 -14
  36. package/js/Renderer/IRenderer.js +65 -17
  37. package/js/Renderer/IRendererManager.js +230 -0
  38. package/js/Renderer/RendererCache.js +170 -0
  39. package/js/Renderer/RendererManager.js +49 -460
  40. package/js/Renderer/WebGLRenderer/index.js +82 -234
  41. package/js/Renderer/YUVCanvasRenderer/index.js +27 -147
  42. package/js/Types.js +6 -6
  43. package/js/Utils.js +37 -88
  44. package/package.json +4 -3
  45. package/scripts/clean.js +12 -0
  46. package/scripts/synclib.js +8 -2
  47. package/ts/Private/AgoraBase.ts +225 -201
  48. package/ts/Private/AgoraMediaBase.ts +63 -25
  49. package/ts/Private/AgoraMediaPlayerTypes.ts +67 -24
  50. package/ts/Private/IAgoraH265Transcoder.ts +73 -0
  51. package/ts/Private/IAgoraLog.ts +1 -0
  52. package/ts/Private/IAgoraMediaEngine.ts +12 -7
  53. package/ts/Private/IAgoraMediaPlayer.ts +47 -21
  54. package/ts/Private/IAgoraMediaPlayerSource.ts +27 -6
  55. package/ts/Private/IAgoraMediaStreamingSource.ts +38 -37
  56. package/ts/Private/IAgoraMusicContentCenter.ts +20 -20
  57. package/ts/Private/IAgoraRhythmPlayer.ts +7 -6
  58. package/ts/Private/IAgoraRtcEngine.ts +407 -364
  59. package/ts/Private/IAgoraRtcEngineEx.ts +25 -61
  60. package/ts/Private/IAgoraSpatialAudio.ts +80 -191
  61. package/ts/Private/IAudioDeviceManager.ts +27 -14
  62. package/ts/Private/extension/IAgoraH265TranscoderExtension.ts +39 -0
  63. package/ts/Private/impl/AgoraMediaBaseImpl.ts +25 -1
  64. package/ts/Private/impl/IAgoraH265TranscoderImpl.ts +152 -0
  65. package/ts/Private/impl/IAgoraMediaEngineImpl.ts +13 -13
  66. package/ts/Private/impl/IAgoraMediaPlayerImpl.ts +110 -81
  67. package/ts/Private/impl/IAgoraMediaPlayerSourceImpl.ts +17 -2
  68. package/ts/Private/impl/IAgoraMediaRecorderImpl.ts +2 -2
  69. package/ts/Private/impl/IAgoraMusicContentCenterImpl.ts +21 -21
  70. package/ts/Private/impl/IAgoraRtcEngineExImpl.ts +71 -106
  71. package/ts/Private/impl/IAgoraRtcEngineImpl.ts +589 -572
  72. package/ts/Private/impl/IAgoraSpatialAudioImpl.ts +211 -218
  73. package/ts/Private/impl/IAudioDeviceManagerImpl.ts +22 -22
  74. package/ts/Private/internal/AgoraH265TranscoderInternal.ts +97 -0
  75. package/ts/Private/internal/AgoraMediaBaseInternal.ts +15 -0
  76. package/ts/Private/internal/IrisApiEngine.ts +42 -27
  77. package/ts/Private/internal/LocalSpatialAudioEngineInternal.ts +1 -86
  78. package/ts/Private/internal/MediaPlayerInternal.ts +20 -29
  79. package/ts/Private/internal/MusicContentCenterInternal.ts +1 -5
  80. package/ts/Private/internal/RtcEngineExInternal.ts +91 -204
  81. package/ts/Private/ti/AgoraMediaBase-ti.ts +1 -1
  82. package/ts/Private/ti/IAgoraH265Transcoder-ti.ts +16 -0
  83. package/ts/Private/ti/IAgoraMediaPlayerSource-ti.ts +4 -2
  84. package/ts/Private/ti/IAgoraMusicContentCenter-ti.ts +5 -5
  85. package/ts/Private/ti/IAgoraRtcEngine-ti.ts +12 -11
  86. package/ts/Renderer/AgoraView.ts +29 -19
  87. package/ts/Renderer/IRenderer.ts +71 -22
  88. package/ts/Renderer/IRendererManager.ts +273 -19
  89. package/ts/Renderer/RendererCache.ts +167 -0
  90. package/ts/Renderer/RendererManager.ts +62 -607
  91. package/ts/Renderer/WebGLRenderer/index.ts +117 -295
  92. package/ts/Renderer/YUVCanvasRenderer/index.ts +45 -198
  93. package/ts/Types.ts +17 -194
  94. package/ts/Utils.ts +36 -100
  95. package/types/Private/AgoraBase.d.ts +219 -200
  96. package/types/Private/AgoraBase.d.ts.map +1 -1
  97. package/types/Private/AgoraMediaBase.d.ts +63 -27
  98. package/types/Private/AgoraMediaBase.d.ts.map +1 -1
  99. package/types/Private/AgoraMediaPlayerTypes.d.ts +65 -24
  100. package/types/Private/AgoraMediaPlayerTypes.d.ts.map +1 -1
  101. package/types/Private/IAgoraH265Transcoder.d.ts +28 -0
  102. package/types/Private/IAgoraH265Transcoder.d.ts.map +1 -0
  103. package/types/Private/IAgoraLog.d.ts.map +1 -1
  104. package/types/Private/IAgoraMediaEngine.d.ts +11 -6
  105. package/types/Private/IAgoraMediaEngine.d.ts.map +1 -1
  106. package/types/Private/IAgoraMediaPlayer.d.ts +42 -20
  107. package/types/Private/IAgoraMediaPlayer.d.ts.map +1 -1
  108. package/types/Private/IAgoraMediaPlayerSource.d.ts +23 -6
  109. package/types/Private/IAgoraMediaPlayerSource.d.ts.map +1 -1
  110. package/types/Private/IAgoraMediaStreamingSource.d.ts.map +1 -1
  111. package/types/Private/IAgoraMusicContentCenter.d.ts +19 -19
  112. package/types/Private/IAgoraMusicContentCenter.d.ts.map +1 -1
  113. package/types/Private/IAgoraRhythmPlayer.d.ts +6 -6
  114. package/types/Private/IAgoraRhythmPlayer.d.ts.map +1 -1
  115. package/types/Private/IAgoraRtcEngine.d.ts +329 -293
  116. package/types/Private/IAgoraRtcEngine.d.ts.map +1 -1
  117. package/types/Private/IAgoraRtcEngineEx.d.ts +21 -53
  118. package/types/Private/IAgoraRtcEngineEx.d.ts.map +1 -1
  119. package/types/Private/IAgoraSpatialAudio.d.ts +56 -167
  120. package/types/Private/IAgoraSpatialAudio.d.ts.map +1 -1
  121. package/types/Private/IAudioDeviceManager.d.ts +27 -14
  122. package/types/Private/IAudioDeviceManager.d.ts.map +1 -1
  123. package/types/Private/extension/IAgoraH265TranscoderExtension.d.ts +24 -0
  124. package/types/Private/extension/IAgoraH265TranscoderExtension.d.ts.map +1 -0
  125. package/types/Private/impl/AgoraMediaBaseImpl.d.ts +5 -1
  126. package/types/Private/impl/AgoraMediaBaseImpl.d.ts.map +1 -1
  127. package/types/Private/impl/IAgoraH265TranscoderImpl.d.ts +15 -0
  128. package/types/Private/impl/IAgoraH265TranscoderImpl.d.ts.map +1 -0
  129. package/types/Private/impl/IAgoraMediaPlayerImpl.d.ts +6 -4
  130. package/types/Private/impl/IAgoraMediaPlayerImpl.d.ts.map +1 -1
  131. package/types/Private/impl/IAgoraMediaPlayerSourceImpl.d.ts.map +1 -1
  132. package/types/Private/impl/IAgoraRtcEngineExImpl.d.ts +2 -4
  133. package/types/Private/impl/IAgoraRtcEngineExImpl.d.ts.map +1 -1
  134. package/types/Private/impl/IAgoraRtcEngineImpl.d.ts +30 -25
  135. package/types/Private/impl/IAgoraRtcEngineImpl.d.ts.map +1 -1
  136. package/types/Private/impl/IAgoraSpatialAudioImpl.d.ts +20 -22
  137. package/types/Private/impl/IAgoraSpatialAudioImpl.d.ts.map +1 -1
  138. package/types/Private/internal/AgoraH265TranscoderInternal.d.ts +14 -0
  139. package/types/Private/internal/AgoraH265TranscoderInternal.d.ts.map +1 -0
  140. package/types/Private/internal/AgoraMediaBaseInternal.d.ts +8 -0
  141. package/types/Private/internal/AgoraMediaBaseInternal.d.ts.map +1 -0
  142. package/types/Private/internal/IrisApiEngine.d.ts +5 -2
  143. package/types/Private/internal/IrisApiEngine.d.ts.map +1 -1
  144. package/types/Private/internal/LocalSpatialAudioEngineInternal.d.ts +0 -15
  145. package/types/Private/internal/LocalSpatialAudioEngineInternal.d.ts.map +1 -1
  146. package/types/Private/internal/MediaPlayerInternal.d.ts.map +1 -1
  147. package/types/Private/internal/MusicContentCenterInternal.d.ts +0 -1
  148. package/types/Private/internal/MusicContentCenterInternal.d.ts.map +1 -1
  149. package/types/Private/internal/RtcEngineExInternal.d.ts +7 -13
  150. package/types/Private/internal/RtcEngineExInternal.d.ts.map +1 -1
  151. package/types/Private/ti/IAgoraH265Transcoder-ti.d.ts +8 -0
  152. package/types/Private/ti/IAgoraH265Transcoder-ti.d.ts.map +1 -0
  153. package/types/Private/ti/IAgoraMediaPlayerSource-ti.d.ts.map +1 -1
  154. package/types/Private/ti/IAgoraRtcEngine-ti.d.ts.map +1 -1
  155. package/types/Renderer/AgoraView.d.ts +4 -4
  156. package/types/Renderer/AgoraView.d.ts.map +1 -1
  157. package/types/Renderer/IRenderer.d.ts +11 -9
  158. package/types/Renderer/IRenderer.d.ts.map +1 -1
  159. package/types/Renderer/IRendererManager.d.ts +50 -12
  160. package/types/Renderer/IRendererManager.d.ts.map +1 -1
  161. package/types/Renderer/RendererCache.d.ts +36 -0
  162. package/types/Renderer/RendererCache.d.ts.map +1 -0
  163. package/types/Renderer/RendererManager.d.ts +13 -139
  164. package/types/Renderer/RendererManager.d.ts.map +1 -1
  165. package/types/Renderer/WebGLRenderer/index.d.ts +3 -18
  166. package/types/Renderer/WebGLRenderer/index.d.ts.map +1 -1
  167. package/types/Renderer/YUVCanvasRenderer/index.d.ts +4 -10
  168. package/types/Renderer/YUVCanvasRenderer/index.d.ts.map +1 -1
  169. package/types/Types.d.ts +11 -187
  170. package/types/Types.d.ts.map +1 -1
  171. package/types/Utils.d.ts +3 -20
  172. package/types/Utils.d.ts.map +1 -1
@@ -31,7 +31,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
31
31
  return jsonResults.result;
32
32
  };
33
33
  IMediaPlayerImpl.prototype.getApiTypeFromOpen = function (url, startPos) {
34
- return 'MediaPlayer_open';
34
+ return 'MediaPlayer_open_e43f201';
35
35
  };
36
36
  IMediaPlayerImpl.prototype.openWithMediaSource = function (source) {
37
37
  var apiType = this.getApiTypeFromOpenWithMediaSource(source);
@@ -47,7 +47,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
47
47
  return jsonResults.result;
48
48
  };
49
49
  IMediaPlayerImpl.prototype.getApiTypeFromOpenWithMediaSource = function (source) {
50
- return 'MediaPlayer_openWithMediaSource';
50
+ return 'MediaPlayer_openWithMediaSource_3c11499';
51
51
  };
52
52
  IMediaPlayerImpl.prototype.play = function () {
53
53
  var apiType = this.getApiTypeFromPlay();
@@ -99,7 +99,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
99
99
  return jsonResults.result;
100
100
  };
101
101
  IMediaPlayerImpl.prototype.getApiTypeFromSeek = function (newPos) {
102
- return 'MediaPlayer_seek';
102
+ return 'MediaPlayer_seek_f631116';
103
103
  };
104
104
  IMediaPlayerImpl.prototype.setAudioPitch = function (pitch) {
105
105
  var apiType = this.getApiTypeFromSetAudioPitch(pitch);
@@ -115,7 +115,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
115
115
  return jsonResults.result;
116
116
  };
117
117
  IMediaPlayerImpl.prototype.getApiTypeFromSetAudioPitch = function (pitch) {
118
- return 'MediaPlayer_setAudioPitch';
118
+ return 'MediaPlayer_setAudioPitch_46f8ab7';
119
119
  };
120
120
  IMediaPlayerImpl.prototype.getDuration = function () {
121
121
  var apiType = this.getApiTypeFromGetDuration();
@@ -125,7 +125,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
125
125
  return duration;
126
126
  };
127
127
  IMediaPlayerImpl.prototype.getApiTypeFromGetDuration = function () {
128
- return 'MediaPlayer_getDuration';
128
+ return 'MediaPlayer_getDuration_b12f121';
129
129
  };
130
130
  IMediaPlayerImpl.prototype.getPlayPosition = function () {
131
131
  var apiType = this.getApiTypeFromGetPlayPosition();
@@ -135,7 +135,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
135
135
  return pos;
136
136
  };
137
137
  IMediaPlayerImpl.prototype.getApiTypeFromGetPlayPosition = function () {
138
- return 'MediaPlayer_getPlayPosition';
138
+ return 'MediaPlayer_getPlayPosition_b12f121';
139
139
  };
140
140
  IMediaPlayerImpl.prototype.getStreamCount = function () {
141
141
  var apiType = this.getApiTypeFromGetStreamCount();
@@ -145,7 +145,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
145
145
  return count;
146
146
  };
147
147
  IMediaPlayerImpl.prototype.getApiTypeFromGetStreamCount = function () {
148
- return 'MediaPlayer_getStreamCount';
148
+ return 'MediaPlayer_getStreamCount_b12f121';
149
149
  };
150
150
  IMediaPlayerImpl.prototype.getStreamInfo = function (index) {
151
151
  var apiType = this.getApiTypeFromGetStreamInfo(index);
@@ -162,7 +162,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
162
162
  return info;
163
163
  };
164
164
  IMediaPlayerImpl.prototype.getApiTypeFromGetStreamInfo = function (index) {
165
- return 'MediaPlayer_getStreamInfo';
165
+ return 'MediaPlayer_getStreamInfo_0fa63fa';
166
166
  };
167
167
  IMediaPlayerImpl.prototype.setLoopCount = function (loopCount) {
168
168
  var apiType = this.getApiTypeFromSetLoopCount(loopCount);
@@ -178,7 +178,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
178
178
  return jsonResults.result;
179
179
  };
180
180
  IMediaPlayerImpl.prototype.getApiTypeFromSetLoopCount = function (loopCount) {
181
- return 'MediaPlayer_setLoopCount';
181
+ return 'MediaPlayer_setLoopCount_46f8ab7';
182
182
  };
183
183
  IMediaPlayerImpl.prototype.setPlaybackSpeed = function (speed) {
184
184
  var apiType = this.getApiTypeFromSetPlaybackSpeed(speed);
@@ -194,7 +194,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
194
194
  return jsonResults.result;
195
195
  };
196
196
  IMediaPlayerImpl.prototype.getApiTypeFromSetPlaybackSpeed = function (speed) {
197
- return 'MediaPlayer_setPlaybackSpeed';
197
+ return 'MediaPlayer_setPlaybackSpeed_46f8ab7';
198
198
  };
199
199
  IMediaPlayerImpl.prototype.selectAudioTrack = function (index) {
200
200
  var apiType = this.getApiTypeFromSelectAudioTrack(index);
@@ -210,43 +210,25 @@ var IMediaPlayerImpl = /** @class */ (function () {
210
210
  return jsonResults.result;
211
211
  };
212
212
  IMediaPlayerImpl.prototype.getApiTypeFromSelectAudioTrack = function (index) {
213
- return 'MediaPlayer_selectAudioTrack';
213
+ return 'MediaPlayer_selectAudioTrack_46f8ab7';
214
214
  };
215
- IMediaPlayerImpl.prototype.setPlayerOptionInInt = function (key, value) {
216
- var apiType = this.getApiTypeFromSetPlayerOptionInInt(key, value);
215
+ IMediaPlayerImpl.prototype.selectMultiAudioTrack = function (playoutTrackIndex, publishTrackIndex) {
216
+ var apiType = this.getApiTypeFromSelectMultiAudioTrack(playoutTrackIndex, publishTrackIndex);
217
217
  var jsonParams = {
218
- key: key,
219
- value: value,
218
+ playoutTrackIndex: playoutTrackIndex,
219
+ publishTrackIndex: publishTrackIndex,
220
220
  toJSON: function () {
221
221
  return {
222
- key: key,
223
- value: value,
222
+ playoutTrackIndex: playoutTrackIndex,
223
+ publishTrackIndex: publishTrackIndex,
224
224
  };
225
225
  },
226
226
  };
227
227
  var jsonResults = IrisApiEngine_1.callIrisApi.call(this, apiType, jsonParams);
228
228
  return jsonResults.result;
229
229
  };
230
- IMediaPlayerImpl.prototype.getApiTypeFromSetPlayerOptionInInt = function (key, value) {
231
- return 'MediaPlayer_setPlayerOptionInInt';
232
- };
233
- IMediaPlayerImpl.prototype.setPlayerOptionInString = function (key, value) {
234
- var apiType = this.getApiTypeFromSetPlayerOptionInString(key, value);
235
- var jsonParams = {
236
- key: key,
237
- value: value,
238
- toJSON: function () {
239
- return {
240
- key: key,
241
- value: value,
242
- };
243
- },
244
- };
245
- var jsonResults = IrisApiEngine_1.callIrisApi.call(this, apiType, jsonParams);
246
- return jsonResults.result;
247
- };
248
- IMediaPlayerImpl.prototype.getApiTypeFromSetPlayerOptionInString = function (key, value) {
249
- return 'MediaPlayer_setPlayerOptionInString';
230
+ IMediaPlayerImpl.prototype.getApiTypeFromSelectMultiAudioTrack = function (playoutTrackIndex, publishTrackIndex) {
231
+ return 'MediaPlayer_selectMultiAudioTrack_4e92b3c';
250
232
  };
251
233
  IMediaPlayerImpl.prototype.takeScreenshot = function (filename) {
252
234
  var apiType = this.getApiTypeFromTakeScreenshot(filename);
@@ -262,7 +244,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
262
244
  return jsonResults.result;
263
245
  };
264
246
  IMediaPlayerImpl.prototype.getApiTypeFromTakeScreenshot = function (filename) {
265
- return 'MediaPlayer_takeScreenshot';
247
+ return 'MediaPlayer_takeScreenshot_3a2037f';
266
248
  };
267
249
  IMediaPlayerImpl.prototype.selectInternalSubtitle = function (index) {
268
250
  var apiType = this.getApiTypeFromSelectInternalSubtitle(index);
@@ -278,7 +260,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
278
260
  return jsonResults.result;
279
261
  };
280
262
  IMediaPlayerImpl.prototype.getApiTypeFromSelectInternalSubtitle = function (index) {
281
- return 'MediaPlayer_selectInternalSubtitle';
263
+ return 'MediaPlayer_selectInternalSubtitle_46f8ab7';
282
264
  };
283
265
  IMediaPlayerImpl.prototype.setExternalSubtitle = function (url) {
284
266
  var apiType = this.getApiTypeFromSetExternalSubtitle(url);
@@ -294,7 +276,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
294
276
  return jsonResults.result;
295
277
  };
296
278
  IMediaPlayerImpl.prototype.getApiTypeFromSetExternalSubtitle = function (url) {
297
- return 'MediaPlayer_setExternalSubtitle';
279
+ return 'MediaPlayer_setExternalSubtitle_3a2037f';
298
280
  };
299
281
  IMediaPlayerImpl.prototype.getState = function () {
300
282
  var apiType = this.getApiTypeFromGetState();
@@ -319,7 +301,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
319
301
  return jsonResults.result;
320
302
  };
321
303
  IMediaPlayerImpl.prototype.getApiTypeFromMute = function (muted) {
322
- return 'MediaPlayer_mute';
304
+ return 'MediaPlayer_mute_5039d15';
323
305
  };
324
306
  IMediaPlayerImpl.prototype.getMute = function () {
325
307
  var apiType = this.getApiTypeFromGetMute();
@@ -329,7 +311,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
329
311
  return muted;
330
312
  };
331
313
  IMediaPlayerImpl.prototype.getApiTypeFromGetMute = function () {
332
- return 'MediaPlayer_getMute';
314
+ return 'MediaPlayer_getMute_c93e9d4';
333
315
  };
334
316
  IMediaPlayerImpl.prototype.adjustPlayoutVolume = function (volume) {
335
317
  var apiType = this.getApiTypeFromAdjustPlayoutVolume(volume);
@@ -345,7 +327,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
345
327
  return jsonResults.result;
346
328
  };
347
329
  IMediaPlayerImpl.prototype.getApiTypeFromAdjustPlayoutVolume = function (volume) {
348
- return 'MediaPlayer_adjustPlayoutVolume';
330
+ return 'MediaPlayer_adjustPlayoutVolume_46f8ab7';
349
331
  };
350
332
  IMediaPlayerImpl.prototype.getPlayoutVolume = function () {
351
333
  var apiType = this.getApiTypeFromGetPlayoutVolume();
@@ -355,7 +337,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
355
337
  return volume;
356
338
  };
357
339
  IMediaPlayerImpl.prototype.getApiTypeFromGetPlayoutVolume = function () {
358
- return 'MediaPlayer_getPlayoutVolume';
340
+ return 'MediaPlayer_getPlayoutVolume_9cfaa7e';
359
341
  };
360
342
  IMediaPlayerImpl.prototype.adjustPublishSignalVolume = function (volume) {
361
343
  var apiType = this.getApiTypeFromAdjustPublishSignalVolume(volume);
@@ -371,7 +353,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
371
353
  return jsonResults.result;
372
354
  };
373
355
  IMediaPlayerImpl.prototype.getApiTypeFromAdjustPublishSignalVolume = function (volume) {
374
- return 'MediaPlayer_adjustPublishSignalVolume';
356
+ return 'MediaPlayer_adjustPublishSignalVolume_46f8ab7';
375
357
  };
376
358
  IMediaPlayerImpl.prototype.getPublishSignalVolume = function () {
377
359
  var apiType = this.getApiTypeFromGetPublishSignalVolume();
@@ -381,7 +363,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
381
363
  return volume;
382
364
  };
383
365
  IMediaPlayerImpl.prototype.getApiTypeFromGetPublishSignalVolume = function () {
384
- return 'MediaPlayer_getPublishSignalVolume';
366
+ return 'MediaPlayer_getPublishSignalVolume_9cfaa7e';
385
367
  };
386
368
  IMediaPlayerImpl.prototype.setView = function (view) {
387
369
  var apiType = this.getApiTypeFromSetView(view);
@@ -397,7 +379,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
397
379
  return jsonResults.result;
398
380
  };
399
381
  IMediaPlayerImpl.prototype.getApiTypeFromSetView = function (view) {
400
- return 'MediaPlayer_setView';
382
+ return 'MediaPlayer_setView_cb1a81f';
401
383
  };
402
384
  IMediaPlayerImpl.prototype.setRenderMode = function (renderMode) {
403
385
  var apiType = this.getApiTypeFromSetRenderMode(renderMode);
@@ -413,7 +395,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
413
395
  return jsonResults.result;
414
396
  };
415
397
  IMediaPlayerImpl.prototype.getApiTypeFromSetRenderMode = function (renderMode) {
416
- return 'MediaPlayer_setRenderMode';
398
+ return 'MediaPlayer_setRenderMode_bedb5ae';
417
399
  };
418
400
  IMediaPlayerImpl.prototype.registerPlayerSourceObserver = function (observer) {
419
401
  var apiType = this.getApiTypeFromRegisterPlayerSourceObserver(observer);
@@ -427,7 +409,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
427
409
  return jsonResults.result;
428
410
  };
429
411
  IMediaPlayerImpl.prototype.getApiTypeFromRegisterPlayerSourceObserver = function (observer) {
430
- return 'MediaPlayer_registerPlayerSourceObserver';
412
+ return 'MediaPlayer_registerPlayerSourceObserver_15621d7';
431
413
  };
432
414
  IMediaPlayerImpl.prototype.unregisterPlayerSourceObserver = function (observer) {
433
415
  var apiType = this.getApiTypeFromUnregisterPlayerSourceObserver(observer);
@@ -441,7 +423,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
441
423
  return jsonResults.result;
442
424
  };
443
425
  IMediaPlayerImpl.prototype.getApiTypeFromUnregisterPlayerSourceObserver = function (observer) {
444
- return 'MediaPlayer_unregisterPlayerSourceObserver';
426
+ return 'MediaPlayer_unregisterPlayerSourceObserver_15621d7';
445
427
  };
446
428
  IMediaPlayerImpl.prototype.registerAudioFrameObserver = function (observer, mode) {
447
429
  if (mode === void 0) { mode = AgoraMediaBase_1.RawAudioFrameOpModeType.RawAudioFrameOpModeReadOnly; }
@@ -460,7 +442,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
460
442
  };
461
443
  IMediaPlayerImpl.prototype.getApiTypeFromRegisterAudioFrameObserver = function (observer, mode) {
462
444
  if (mode === void 0) { mode = AgoraMediaBase_1.RawAudioFrameOpModeType.RawAudioFrameOpModeReadOnly; }
463
- return 'MediaPlayer_registerAudioFrameObserver';
445
+ return 'MediaPlayer_registerAudioFrameObserver_a5b510b';
464
446
  };
465
447
  IMediaPlayerImpl.prototype.unregisterAudioFrameObserver = function (observer) {
466
448
  var apiType = this.getApiTypeFromUnregisterAudioFrameObserver(observer);
@@ -474,7 +456,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
474
456
  return jsonResults.result;
475
457
  };
476
458
  IMediaPlayerImpl.prototype.getApiTypeFromUnregisterAudioFrameObserver = function (observer) {
477
- return 'MediaPlayer_unregisterAudioFrameObserver';
459
+ return 'MediaPlayer_unregisterAudioFrameObserver_89ab9b5';
478
460
  };
479
461
  IMediaPlayerImpl.prototype.registerVideoFrameObserver = function (observer) {
480
462
  var apiType = this.getApiTypeFromRegisterVideoFrameObserver(observer);
@@ -488,7 +470,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
488
470
  return jsonResults.result;
489
471
  };
490
472
  IMediaPlayerImpl.prototype.getApiTypeFromRegisterVideoFrameObserver = function (observer) {
491
- return 'MediaPlayer_registerVideoFrameObserver';
473
+ return 'MediaPlayer_registerVideoFrameObserver_833bd8d';
492
474
  };
493
475
  IMediaPlayerImpl.prototype.unregisterVideoFrameObserver = function (observer) {
494
476
  var apiType = this.getApiTypeFromUnregisterVideoFrameObserver(observer);
@@ -502,7 +484,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
502
484
  return jsonResults.result;
503
485
  };
504
486
  IMediaPlayerImpl.prototype.getApiTypeFromUnregisterVideoFrameObserver = function (observer) {
505
- return 'MediaPlayer_unregisterVideoFrameObserver';
487
+ return 'MediaPlayer_unregisterVideoFrameObserver_5165d4c';
506
488
  };
507
489
  IMediaPlayerImpl.prototype.registerMediaPlayerAudioSpectrumObserver = function (observer, intervalInMS) {
508
490
  var apiType = this.getApiTypeFromRegisterMediaPlayerAudioSpectrumObserver(observer, intervalInMS);
@@ -519,7 +501,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
519
501
  return jsonResults.result;
520
502
  };
521
503
  IMediaPlayerImpl.prototype.getApiTypeFromRegisterMediaPlayerAudioSpectrumObserver = function (observer, intervalInMS) {
522
- return 'MediaPlayer_registerMediaPlayerAudioSpectrumObserver';
504
+ return 'MediaPlayer_registerMediaPlayerAudioSpectrumObserver_226bb48';
523
505
  };
524
506
  IMediaPlayerImpl.prototype.unregisterMediaPlayerAudioSpectrumObserver = function (observer) {
525
507
  var apiType = this.getApiTypeFromUnregisterMediaPlayerAudioSpectrumObserver(observer);
@@ -533,7 +515,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
533
515
  return jsonResults.result;
534
516
  };
535
517
  IMediaPlayerImpl.prototype.getApiTypeFromUnregisterMediaPlayerAudioSpectrumObserver = function (observer) {
536
- return 'MediaPlayer_unregisterMediaPlayerAudioSpectrumObserver';
518
+ return 'MediaPlayer_unregisterMediaPlayerAudioSpectrumObserver_09064ce';
537
519
  };
538
520
  IMediaPlayerImpl.prototype.setAudioDualMonoMode = function (mode) {
539
521
  var apiType = this.getApiTypeFromSetAudioDualMonoMode(mode);
@@ -549,7 +531,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
549
531
  return jsonResults.result;
550
532
  };
551
533
  IMediaPlayerImpl.prototype.getApiTypeFromSetAudioDualMonoMode = function (mode) {
552
- return 'MediaPlayer_setAudioDualMonoMode';
534
+ return 'MediaPlayer_setAudioDualMonoMode_30c9672';
553
535
  };
554
536
  IMediaPlayerImpl.prototype.getPlayerSdkVersion = function () {
555
537
  var apiType = this.getApiTypeFromGetPlayerSdkVersion();
@@ -585,7 +567,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
585
567
  return jsonResults.result;
586
568
  };
587
569
  IMediaPlayerImpl.prototype.getApiTypeFromOpenWithAgoraCDNSrc = function (src, startPos) {
588
- return 'MediaPlayer_openWithAgoraCDNSrc';
570
+ return 'MediaPlayer_openWithAgoraCDNSrc_e43f201';
589
571
  };
590
572
  IMediaPlayerImpl.prototype.getAgoraCDNLineCount = function () {
591
573
  var apiType = this.getApiTypeFromGetAgoraCDNLineCount();
@@ -610,7 +592,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
610
592
  return jsonResults.result;
611
593
  };
612
594
  IMediaPlayerImpl.prototype.getApiTypeFromSwitchAgoraCDNLineByIndex = function (index) {
613
- return 'MediaPlayer_switchAgoraCDNLineByIndex';
595
+ return 'MediaPlayer_switchAgoraCDNLineByIndex_46f8ab7';
614
596
  };
615
597
  IMediaPlayerImpl.prototype.getCurrentAgoraCDNIndex = function () {
616
598
  var apiType = this.getApiTypeFromGetCurrentAgoraCDNIndex();
@@ -635,7 +617,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
635
617
  return jsonResults.result;
636
618
  };
637
619
  IMediaPlayerImpl.prototype.getApiTypeFromEnableAutoSwitchAgoraCDN = function (enable) {
638
- return 'MediaPlayer_enableAutoSwitchAgoraCDN';
620
+ return 'MediaPlayer_enableAutoSwitchAgoraCDN_5039d15';
639
621
  };
640
622
  IMediaPlayerImpl.prototype.renewAgoraCDNSrcToken = function (token, ts) {
641
623
  var apiType = this.getApiTypeFromRenewAgoraCDNSrcToken(token, ts);
@@ -653,7 +635,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
653
635
  return jsonResults.result;
654
636
  };
655
637
  IMediaPlayerImpl.prototype.getApiTypeFromRenewAgoraCDNSrcToken = function (token, ts) {
656
- return 'MediaPlayer_renewAgoraCDNSrcToken';
638
+ return 'MediaPlayer_renewAgoraCDNSrcToken_e43f201';
657
639
  };
658
640
  IMediaPlayerImpl.prototype.switchAgoraCDNSrc = function (src, syncPts) {
659
641
  if (syncPts === void 0) { syncPts = false; }
@@ -673,7 +655,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
673
655
  };
674
656
  IMediaPlayerImpl.prototype.getApiTypeFromSwitchAgoraCDNSrc = function (src, syncPts) {
675
657
  if (syncPts === void 0) { syncPts = false; }
676
- return 'MediaPlayer_switchAgoraCDNSrc';
658
+ return 'MediaPlayer_switchAgoraCDNSrc_7a174df';
677
659
  };
678
660
  IMediaPlayerImpl.prototype.switchSrc = function (src, syncPts) {
679
661
  if (syncPts === void 0) { syncPts = true; }
@@ -693,7 +675,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
693
675
  };
694
676
  IMediaPlayerImpl.prototype.getApiTypeFromSwitchSrc = function (src, syncPts) {
695
677
  if (syncPts === void 0) { syncPts = true; }
696
- return 'MediaPlayer_switchSrc';
678
+ return 'MediaPlayer_switchSrc_7a174df';
697
679
  };
698
680
  IMediaPlayerImpl.prototype.preloadSrc = function (src, startPos) {
699
681
  var apiType = this.getApiTypeFromPreloadSrc(src, startPos);
@@ -711,7 +693,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
711
693
  return jsonResults.result;
712
694
  };
713
695
  IMediaPlayerImpl.prototype.getApiTypeFromPreloadSrc = function (src, startPos) {
714
- return 'MediaPlayer_preloadSrc';
696
+ return 'MediaPlayer_preloadSrc_e43f201';
715
697
  };
716
698
  IMediaPlayerImpl.prototype.playPreloadedSrc = function (src) {
717
699
  var apiType = this.getApiTypeFromPlayPreloadedSrc(src);
@@ -727,7 +709,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
727
709
  return jsonResults.result;
728
710
  };
729
711
  IMediaPlayerImpl.prototype.getApiTypeFromPlayPreloadedSrc = function (src) {
730
- return 'MediaPlayer_playPreloadedSrc';
712
+ return 'MediaPlayer_playPreloadedSrc_3a2037f';
731
713
  };
732
714
  IMediaPlayerImpl.prototype.unloadSrc = function (src) {
733
715
  var apiType = this.getApiTypeFromUnloadSrc(src);
@@ -743,7 +725,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
743
725
  return jsonResults.result;
744
726
  };
745
727
  IMediaPlayerImpl.prototype.getApiTypeFromUnloadSrc = function (src) {
746
- return 'MediaPlayer_unloadSrc';
728
+ return 'MediaPlayer_unloadSrc_3a2037f';
747
729
  };
748
730
  IMediaPlayerImpl.prototype.setSpatialAudioParams = function (params) {
749
731
  var apiType = this.getApiTypeFromSetSpatialAudioParams(params);
@@ -759,7 +741,7 @@ var IMediaPlayerImpl = /** @class */ (function () {
759
741
  return jsonResults.result;
760
742
  };
761
743
  IMediaPlayerImpl.prototype.getApiTypeFromSetSpatialAudioParams = function (params) {
762
- return 'MediaPlayer_setSpatialAudioParams';
744
+ return 'MediaPlayer_setSpatialAudioParams_5035667';
763
745
  };
764
746
  IMediaPlayerImpl.prototype.setSoundPositionParams = function (pan, gain) {
765
747
  var apiType = this.getApiTypeFromSetSoundPositionParams(pan, gain);
@@ -777,7 +759,43 @@ var IMediaPlayerImpl = /** @class */ (function () {
777
759
  return jsonResults.result;
778
760
  };
779
761
  IMediaPlayerImpl.prototype.getApiTypeFromSetSoundPositionParams = function (pan, gain) {
780
- return 'MediaPlayer_setSoundPositionParams';
762
+ return 'MediaPlayer_setSoundPositionParams_f282d50';
763
+ };
764
+ IMediaPlayerImpl.prototype.setPlayerOptionInInt = function (key, value) {
765
+ var apiType = this.getApiTypeFromSetPlayerOptionInInt(key, value);
766
+ var jsonParams = {
767
+ key: key,
768
+ value: value,
769
+ toJSON: function () {
770
+ return {
771
+ key: key,
772
+ value: value,
773
+ };
774
+ },
775
+ };
776
+ var jsonResults = IrisApiEngine_1.callIrisApi.call(this, apiType, jsonParams);
777
+ return jsonResults.result;
778
+ };
779
+ IMediaPlayerImpl.prototype.getApiTypeFromSetPlayerOptionInInt = function (key, value) {
780
+ return 'MediaPlayer_setPlayerOptionInInt';
781
+ };
782
+ IMediaPlayerImpl.prototype.setPlayerOptionInString = function (key, value) {
783
+ var apiType = this.getApiTypeFromSetPlayerOptionInString(key, value);
784
+ var jsonParams = {
785
+ key: key,
786
+ value: value,
787
+ toJSON: function () {
788
+ return {
789
+ key: key,
790
+ value: value,
791
+ };
792
+ },
793
+ };
794
+ var jsonResults = IrisApiEngine_1.callIrisApi.call(this, apiType, jsonParams);
795
+ return jsonResults.result;
796
+ };
797
+ IMediaPlayerImpl.prototype.getApiTypeFromSetPlayerOptionInString = function (key, value) {
798
+ return 'MediaPlayer_setPlayerOptionInString';
781
799
  };
782
800
  return IMediaPlayerImpl;
783
801
  }());
@@ -818,7 +836,7 @@ var IMediaPlayerCacheManagerImpl = /** @class */ (function () {
818
836
  return jsonResults.result;
819
837
  };
820
838
  IMediaPlayerCacheManagerImpl.prototype.getApiTypeFromRemoveCacheByUri = function (uri) {
821
- return 'MediaPlayerCacheManager_removeCacheByUri';
839
+ return 'MediaPlayerCacheManager_removeCacheByUri_3a2037f';
822
840
  };
823
841
  IMediaPlayerCacheManagerImpl.prototype.setCacheDir = function (path) {
824
842
  var apiType = this.getApiTypeFromSetCacheDir(path);
@@ -834,7 +852,7 @@ var IMediaPlayerCacheManagerImpl = /** @class */ (function () {
834
852
  return jsonResults.result;
835
853
  };
836
854
  IMediaPlayerCacheManagerImpl.prototype.getApiTypeFromSetCacheDir = function (path) {
837
- return 'MediaPlayerCacheManager_setCacheDir';
855
+ return 'MediaPlayerCacheManager_setCacheDir_3a2037f';
838
856
  };
839
857
  IMediaPlayerCacheManagerImpl.prototype.setMaxCacheFileCount = function (count) {
840
858
  var apiType = this.getApiTypeFromSetMaxCacheFileCount(count);
@@ -850,7 +868,7 @@ var IMediaPlayerCacheManagerImpl = /** @class */ (function () {
850
868
  return jsonResults.result;
851
869
  };
852
870
  IMediaPlayerCacheManagerImpl.prototype.getApiTypeFromSetMaxCacheFileCount = function (count) {
853
- return 'MediaPlayerCacheManager_setMaxCacheFileCount';
871
+ return 'MediaPlayerCacheManager_setMaxCacheFileCount_46f8ab7';
854
872
  };
855
873
  IMediaPlayerCacheManagerImpl.prototype.setMaxCacheFileSize = function (cacheSize) {
856
874
  var apiType = this.getApiTypeFromSetMaxCacheFileSize(cacheSize);
@@ -866,7 +884,7 @@ var IMediaPlayerCacheManagerImpl = /** @class */ (function () {
866
884
  return jsonResults.result;
867
885
  };
868
886
  IMediaPlayerCacheManagerImpl.prototype.getApiTypeFromSetMaxCacheFileSize = function (cacheSize) {
869
- return 'MediaPlayerCacheManager_setMaxCacheFileSize';
887
+ return 'MediaPlayerCacheManager_setMaxCacheFileSize_f631116';
870
888
  };
871
889
  IMediaPlayerCacheManagerImpl.prototype.enableAutoRemoveCache = function (enable) {
872
890
  var apiType = this.getApiTypeFromEnableAutoRemoveCache(enable);
@@ -882,7 +900,7 @@ var IMediaPlayerCacheManagerImpl = /** @class */ (function () {
882
900
  return jsonResults.result;
883
901
  };
884
902
  IMediaPlayerCacheManagerImpl.prototype.getApiTypeFromEnableAutoRemoveCache = function (enable) {
885
- return 'MediaPlayerCacheManager_enableAutoRemoveCache';
903
+ return 'MediaPlayerCacheManager_enableAutoRemoveCache_5039d15';
886
904
  };
887
905
  IMediaPlayerCacheManagerImpl.prototype.getCacheDir = function (length) {
888
906
  var apiType = this.getApiTypeFromGetCacheDir(length);
@@ -899,7 +917,7 @@ var IMediaPlayerCacheManagerImpl = /** @class */ (function () {
899
917
  return path;
900
918
  };
901
919
  IMediaPlayerCacheManagerImpl.prototype.getApiTypeFromGetCacheDir = function (length) {
902
- return 'MediaPlayerCacheManager_getCacheDir';
920
+ return 'MediaPlayerCacheManager_getCacheDir_c9551e8';
903
921
  };
904
922
  IMediaPlayerCacheManagerImpl.prototype.getMaxCacheFileCount = function () {
905
923
  var apiType = this.getApiTypeFromGetMaxCacheFileCount();
@@ -5,12 +5,12 @@ function processIMediaPlayerSourceObserver(handler, event, jsonParams) {
5
5
  switch (event) {
6
6
  case 'onPlayerSourceStateChanged':
7
7
  if (handler.onPlayerSourceStateChanged !== undefined) {
8
- handler.onPlayerSourceStateChanged(jsonParams.state, jsonParams.ec);
8
+ handler.onPlayerSourceStateChanged(jsonParams.state, jsonParams.reason);
9
9
  }
10
10
  break;
11
11
  case 'onPositionChanged':
12
12
  if (handler.onPositionChanged !== undefined) {
13
- handler.onPositionChanged(jsonParams.position_ms);
13
+ handler.onPositionChanged(jsonParams.positionMs, jsonParams.timestampMs);
14
14
  }
15
15
  break;
16
16
  case 'onPlayerEvent':
@@ -53,6 +53,16 @@ function processIMediaPlayerSourceObserver(handler, event, jsonParams) {
53
53
  handler.onPlayerInfoUpdated(jsonParams.info);
54
54
  }
55
55
  break;
56
+ case 'onPlayerCacheStats':
57
+ if (handler.onPlayerCacheStats !== undefined) {
58
+ handler.onPlayerCacheStats(jsonParams.stats);
59
+ }
60
+ break;
61
+ case 'onPlayerPlaybackStats':
62
+ if (handler.onPlayerPlaybackStats !== undefined) {
63
+ handler.onPlayerPlaybackStats(jsonParams.stats);
64
+ }
65
+ break;
56
66
  case 'onAudioVolumeIndication':
57
67
  if (handler.onAudioVolumeIndication !== undefined) {
58
68
  handler.onAudioVolumeIndication(jsonParams.volume);
@@ -17,7 +17,7 @@ var IMediaRecorderImpl = /** @class */ (function () {
17
17
  return jsonResults.result;
18
18
  };
19
19
  IMediaRecorderImpl.prototype.getApiTypeFromSetMediaRecorderObserver = function (callback) {
20
- return 'MediaRecorder_setMediaRecorderObserver';
20
+ return 'MediaRecorder_setMediaRecorderObserver_e1f7340';
21
21
  };
22
22
  IMediaRecorderImpl.prototype.startRecording = function (config) {
23
23
  var apiType = this.getApiTypeFromStartRecording(config);
@@ -33,7 +33,7 @@ var IMediaRecorderImpl = /** @class */ (function () {
33
33
  return jsonResults.result;
34
34
  };
35
35
  IMediaRecorderImpl.prototype.getApiTypeFromStartRecording = function (config) {
36
- return 'MediaRecorder_startRecording';
36
+ return 'MediaRecorder_startRecording_94480b3';
37
37
  };
38
38
  IMediaRecorderImpl.prototype.stopRecording = function () {
39
39
  var apiType = this.getApiTypeFromStopRecording();