trtc-electron-sdk 12.2.115-beta.14 → 12.2.115-beta.16

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.
@@ -3,8 +3,8 @@ declare class PromiseStore {
3
3
  private promiseStore;
4
4
  constructor();
5
5
  addPromise(key: string, resolve: (data: void | PromiseLike<void>) => void, reject: (reason?: any) => void): void;
6
- resolvePromise(key: string, value: void | PromiseLike<void>): void;
7
- rejectPromise(key: string, reason?: any): void;
6
+ resolvePromise(key: string, value: void | PromiseLike<void>): boolean;
7
+ rejectPromise(key: string, reason?: any): boolean;
8
8
  destroy(): void;
9
9
  }
10
10
  export default PromiseStore;
@@ -1,9 +1,5 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const logger_1 = __importDefault(require("../logger"));
7
3
  class PromiseStore {
8
4
  constructor() {
9
5
  this.logPrefix = '[PromiseStore]';
@@ -27,9 +23,10 @@ class PromiseStore {
27
23
  resolve(value);
28
24
  });
29
25
  this.promiseStore.delete(key);
26
+ return true;
30
27
  }
31
28
  else {
32
- logger_1.default.warn(`${this.logPrefix}resolvePromise '${key}' not existed`);
29
+ return false;
33
30
  }
34
31
  }
35
32
  rejectPromise(key, reason) {
@@ -40,9 +37,10 @@ class PromiseStore {
40
37
  reject(reason);
41
38
  });
42
39
  this.promiseStore.delete(key);
40
+ return true;
43
41
  }
44
42
  else {
45
- logger_1.default.warn(`${this.logPrefix}rejectPromise '${key}' not existed`);
43
+ return false;
46
44
  }
47
45
  }
48
46
  destroy() {
@@ -46,8 +46,9 @@ export declare enum TRTCMediaMixingEvent {
46
46
  * @description 错误事件
47
47
  *
48
48
  * @event TRTCMediaMixingEvent#onError
49
- * @param {TRTCMediaMixingErrorCode} errCode 错误码
49
+ * @param {TRTCMediaMixingErrorCode} errorCode 错误码
50
50
  * @param {String} errorMessage 错误信息
51
+ * @param {TRTCMediaSource|undefined} 错误涉及的媒体源,可能为空
51
52
  *
52
53
  */
53
54
  onError = "onError",
@@ -189,8 +189,9 @@ var TRTCMediaMixingEvent;
189
189
  * @description 错误事件
190
190
  *
191
191
  * @event TRTCMediaMixingEvent#onError
192
- * @param {TRTCMediaMixingErrorCode} errCode 错误码
192
+ * @param {TRTCMediaMixingErrorCode} errorCode 错误码
193
193
  * @param {String} errorMessage 错误信息
194
+ * @param {TRTCMediaSource|undefined} 错误涉及的媒体源,可能为空
194
195
  *
195
196
  */
196
197
  TRTCMediaMixingEvent["onError"] = "onError";
@@ -606,12 +607,16 @@ class TRTCMediaMixingManager {
606
607
  * @returns {Promise<void>}
607
608
  */
608
609
  updatePublishParams(params) {
609
- var _a;
610
+ var _a, _b;
610
611
  return __awaiter(this, void 0, void 0, function* () {
611
612
  logger_1.default.log(`${this.logPrefix}updatePublishParams:`, params);
612
613
  this.publishParams = params;
613
614
  this.updateMixingVideoSize(params.videoEncoderParams);
614
- (_a = this.mediaMixingDesigner) === null || _a === void 0 ? void 0 : _a.updateOptions({
615
+ (_a = this.streamLayoutManager) === null || _a === void 0 ? void 0 : _a.updateOptions({
616
+ width: this.mixingVideoWidth,
617
+ height: this.mixingVideoHeight
618
+ });
619
+ (_b = this.mediaMixingDesigner) === null || _b === void 0 ? void 0 : _b.updateOptions({
615
620
  width: this.mixingVideoWidth,
616
621
  height: this.mixingVideoHeight
617
622
  });
@@ -1029,6 +1034,7 @@ class TRTCMediaMixingManager {
1029
1034
  }
1030
1035
  }
1031
1036
  onMediaSourceAddedOrRemoved(key, data) {
1037
+ var _a;
1032
1038
  let promiseKey;
1033
1039
  if (key === "onMediaSourceAdded") {
1034
1040
  promiseKey = `${promiseKeys.addMediaSource}-${data.sourceType}-${data.sourceId}`;
@@ -1037,15 +1043,25 @@ class TRTCMediaMixingManager {
1037
1043
  // 'onMediaSourceRemoved'
1038
1044
  promiseKey = `${promiseKeys.removeMediaSource}-${data.sourceType}-${data.sourceId}`;
1039
1045
  }
1046
+ let flag = false;
1040
1047
  if (data.errCode === 0) {
1041
- this.promiseStore.resolvePromise(promiseKey, undefined);
1048
+ flag = this.promiseStore.resolvePromise(promiseKey, undefined);
1042
1049
  }
1043
1050
  else {
1044
- this.promiseStore.rejectPromise(promiseKey, {
1051
+ flag = this.promiseStore.rejectPromise(promiseKey, {
1045
1052
  code: data.errCode,
1046
1053
  message: data.errMsg,
1047
1054
  });
1048
1055
  }
1056
+ if (data.errCode !== 0 && !flag) {
1057
+ // event triggered internally, not by method invoked by user
1058
+ const index = this.findMediaSourceIndex(data);
1059
+ let mediaSource = undefined;
1060
+ if (index !== -1) {
1061
+ mediaSource = Object.assign({}, this.sourceList[index]);
1062
+ }
1063
+ (_a = this.eventEmitter) === null || _a === void 0 ? void 0 : _a.emit(TRTCMediaMixingEvent.onError, data.errCode, data.errMsg, mediaSource);
1064
+ }
1049
1065
  }
1050
1066
  onMediaSourceSizeChanged(data) {
1051
1067
  var _a;
@@ -18,6 +18,10 @@ declare class BaseStreamLayoutManager implements ITRTCStreamLayoutManager {
18
18
  constructor(nativeStreamLayoutManager: INativeStreamLayoutManager, context: TRTCStreamLayoutContext);
19
19
  setLayout(layout: TRTCStreamLayout): void;
20
20
  getLayoutMode(): TRTCStreamLayoutMode;
21
+ updateOptions(options: {
22
+ width: number;
23
+ height: number;
24
+ }): void;
21
25
  destroy(): void;
22
26
  protected refreshLayout(): void;
23
27
  private onResize;
@@ -41,6 +41,13 @@ class BaseStreamLayoutManager {
41
41
  getLayoutMode() {
42
42
  return this.layout.layoutMode;
43
43
  }
44
+ updateOptions(options) {
45
+ if (this.context && (this.context.mixingVideoSize.width !== options.width || this.context.mixingVideoSize.height !== options.height)) {
46
+ this.context.mixingVideoSize.width = options.width;
47
+ this.context.mixingVideoSize.height = options.height;
48
+ this.refreshLayout();
49
+ }
50
+ }
44
51
  destroy() {
45
52
  this.layout = {
46
53
  layoutMode: types_1.TRTCStreamLayoutMode.None,
@@ -14,6 +14,10 @@ export interface TRTCStreamLayoutContext {
14
14
  export interface ITRTCStreamLayoutManager {
15
15
  setLayout(layout: TRTCStreamLayout): void;
16
16
  getLayoutMode(): TRTCStreamLayoutMode;
17
+ updateOptions(options: {
18
+ width: number;
19
+ height: number;
20
+ }): void;
17
21
  destroy(): void;
18
22
  }
19
23
  export interface ITRTCStreamLayoutEvent {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trtc-electron-sdk",
3
- "version": "12.2.115-beta.14",
3
+ "version": "12.2.115-beta.16",
4
4
  "description": "trtc electron sdk",
5
5
  "main": "./liteav/index.js",
6
6
  "types": "./liteav/index.d.ts",