trtc-electron-sdk 12.2.115-beta.15 → 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.
- package/liteav/base/PromiseStore.d.ts +2 -2
- package/liteav/base/PromiseStore.js +4 -6
- package/liteav/extensions/MediaMixingManager/MediaMixingManager.d.ts +2 -1
- package/liteav/extensions/MediaMixingManager/MediaMixingManager.js +21 -5
- package/liteav/extensions/MediaMixingManager/StreamLayout/BaseStreamLayoutManager.d.ts +4 -0
- package/liteav/extensions/MediaMixingManager/StreamLayout/BaseStreamLayoutManager.js +7 -0
- package/liteav/extensions/MediaMixingManager/StreamLayout/types.d.ts +4 -0
- package/package.json +1 -1
|
@@ -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>):
|
|
7
|
-
rejectPromise(key: string, reason?: any):
|
|
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
|
-
|
|
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
|
-
|
|
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}
|
|
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}
|
|
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.
|
|
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 {
|