larksr_websdk 3.2.404 → 3.3.101
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/README.md +112 -4
- package/dist/larksr-web-sdk.min.js +1 -1
- package/dist/types/api.d.ts +26 -11
- package/dist/types/appli_params.d.ts +7 -5
- package/dist/types/lark/peer_connection.d.ts +3 -1
- package/dist/types/lark/webcodec.d.ts +23 -2
- package/dist/types/lark/websocket_waitqueue.d.ts +36 -0
- package/dist/types/larksr.d.ts +9 -3
- package/dist/types/localization/message.d.ts +1 -0
- package/package.json +2 -2
- package/types/api.d.ts +26 -11
- package/types/appli_params.d.ts +7 -5
- package/types/lark/peer_connection.d.ts +3 -1
- package/types/lark/webcodec.d.ts +23 -2
- package/types/lark/websocket_waitqueue.d.ts +36 -0
- package/types/larksr.d.ts +9 -3
- package/types/localization/message.d.ts +1 -0
package/dist/types/api.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export interface UTLockInfo {
|
|
|
7
7
|
}
|
|
8
8
|
export interface GetTaskResult {
|
|
9
9
|
adminViewer: number;
|
|
10
|
-
|
|
10
|
+
wsId: string;
|
|
11
11
|
appliId: string;
|
|
12
12
|
appliType: number;
|
|
13
13
|
city: string;
|
|
@@ -24,7 +24,6 @@ export interface GetTaskResult {
|
|
|
24
24
|
reserveFlag: number;
|
|
25
25
|
serverId: string;
|
|
26
26
|
serverIp: string;
|
|
27
|
-
shareUrl: string;
|
|
28
27
|
startAt: string;
|
|
29
28
|
startParam: string;
|
|
30
29
|
startProcType: number;
|
|
@@ -33,12 +32,13 @@ export interface GetTaskResult {
|
|
|
33
32
|
updateDate: string;
|
|
34
33
|
useGamepad: number;
|
|
35
34
|
wm: number;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
35
|
+
shareUrl?: string;
|
|
36
|
+
textInputEventPrompt?: number;
|
|
37
|
+
audioInput?: number;
|
|
38
|
+
audioInputAutoStart?: number;
|
|
39
|
+
videoInput?: number;
|
|
40
|
+
videoInputAutoStart?: number;
|
|
41
|
+
liveStreaming?: number;
|
|
42
42
|
mobileKeyboardType?: number;
|
|
43
43
|
}
|
|
44
44
|
export interface StartAppInfo {
|
|
@@ -75,13 +75,24 @@ export interface StartAppInfo {
|
|
|
75
75
|
authCode?: string;
|
|
76
76
|
nickName?: string;
|
|
77
77
|
nickname?: string;
|
|
78
|
-
|
|
78
|
+
wsId?: string;
|
|
79
79
|
groupId?: string;
|
|
80
80
|
initResolutionType?: number;
|
|
81
|
+
useWebCodec?: number;
|
|
82
|
+
preferDecoder?: string;
|
|
83
|
+
mobileWebMenuType?: number;
|
|
84
|
+
shareUrl?: string;
|
|
85
|
+
textInputEventPrompt?: number;
|
|
86
|
+
audioInput?: number;
|
|
87
|
+
audioInputAutoStart?: number;
|
|
88
|
+
videoInput?: number;
|
|
89
|
+
videoInputAutoStart?: number;
|
|
90
|
+
liveStreaming?: number;
|
|
91
|
+
mobileKeyboardType?: number;
|
|
81
92
|
}
|
|
82
93
|
declare type HostAppliGetUrlReturnParams = {
|
|
83
94
|
appliId: string;
|
|
84
|
-
|
|
95
|
+
wsId: string;
|
|
85
96
|
timestamp: string;
|
|
86
97
|
signature: string;
|
|
87
98
|
groupId?: string;
|
|
@@ -97,6 +108,7 @@ export default class API {
|
|
|
97
108
|
private static GetTouchCtrMappingPath;
|
|
98
109
|
private static GetAppliListPath;
|
|
99
110
|
private static RegionListPath;
|
|
111
|
+
private static TestEnableWaitQueue;
|
|
100
112
|
static HostAppliGetUrl(params: {
|
|
101
113
|
appliId: string;
|
|
102
114
|
playerMode?: number;
|
|
@@ -119,7 +131,7 @@ export default class API {
|
|
|
119
131
|
groupId?: string;
|
|
120
132
|
regionId?: string;
|
|
121
133
|
targetServerIp?: string;
|
|
122
|
-
|
|
134
|
+
wsId?: string;
|
|
123
135
|
timestamp?: string;
|
|
124
136
|
signature?: string;
|
|
125
137
|
} | any): Promise<StartAppInfo>;
|
|
@@ -132,6 +144,9 @@ export default class API {
|
|
|
132
144
|
static GetTouchCtrMapping(server: string, appliId?: string): Promise<unknown>;
|
|
133
145
|
static GetAppliList(server: string, params: any): Promise<unknown>;
|
|
134
146
|
static RegionList(server: string, params: any): Promise<unknown>;
|
|
147
|
+
static IsEnableWaitQueue(server: string, params: any): Promise<{
|
|
148
|
+
enableWaitQueue: boolean;
|
|
149
|
+
}>;
|
|
135
150
|
static heartbeat(server: string, taskId: string): Promise<unknown>;
|
|
136
151
|
static joinParam(params: any): string;
|
|
137
152
|
}
|
|
@@ -194,7 +194,7 @@ export interface IAppliParams {
|
|
|
194
194
|
enableRttIcon: boolean;
|
|
195
195
|
enableSoundRequire: boolean;
|
|
196
196
|
toastLevel: number;
|
|
197
|
-
|
|
197
|
+
wsId: string;
|
|
198
198
|
groupId: string;
|
|
199
199
|
textInputEventPrompt: boolean;
|
|
200
200
|
audioInput: boolean;
|
|
@@ -205,7 +205,8 @@ export interface IAppliParams {
|
|
|
205
205
|
useSeparateMediaSharePeer: boolean;
|
|
206
206
|
mobileKeyboardType: number;
|
|
207
207
|
initResolutionType: number;
|
|
208
|
-
|
|
208
|
+
useWebCodec: boolean;
|
|
209
|
+
mobileWebMenuType: number;
|
|
209
210
|
}
|
|
210
211
|
export declare enum AppliType {
|
|
211
212
|
DESKTOP = 1,
|
|
@@ -265,7 +266,7 @@ export declare class AppliParams implements IAppliParams {
|
|
|
265
266
|
enableRttIcon: boolean;
|
|
266
267
|
enableSoundRequire: boolean;
|
|
267
268
|
toastLevel: number;
|
|
268
|
-
|
|
269
|
+
wsId: string;
|
|
269
270
|
groupId: string;
|
|
270
271
|
textInputEventPrompt: boolean;
|
|
271
272
|
audioInput: boolean;
|
|
@@ -276,7 +277,8 @@ export declare class AppliParams implements IAppliParams {
|
|
|
276
277
|
useSeparateMediaSharePeer: boolean;
|
|
277
278
|
mobileKeyboardType: number;
|
|
278
279
|
initResolutionType: number;
|
|
279
|
-
|
|
280
|
+
useWebCodec: boolean;
|
|
281
|
+
mobileWebMenuType: number;
|
|
280
282
|
static copyAndCreate(params?: IAppliParams): AppliParams;
|
|
281
283
|
static setUpWithSDKConfig(params: IAppliParams, config: ILarkSRConfig): AppliParams;
|
|
282
284
|
}
|
|
@@ -288,7 +290,7 @@ export declare class AppliParamsUtils {
|
|
|
288
290
|
static getBoolOption(option: string | null | undefined | boolean, emptyValue?: boolean): boolean;
|
|
289
291
|
static getNumberBoolOption(option: string | null | undefined | number, emptyValue?: boolean): boolean;
|
|
290
292
|
static getStringOption(option: string | null | undefined, emptyValue?: string): string;
|
|
291
|
-
static getIntOption(option: string | null | undefined, emptyValue?: number): number;
|
|
293
|
+
static getIntOption(option: string | number | null | undefined, emptyValue?: number): number;
|
|
292
294
|
static getBgColor(option: string | null | undefined): string;
|
|
293
295
|
}
|
|
294
296
|
/**
|
|
@@ -3,6 +3,7 @@ import * as Input from '../protobuf/cloudlark';
|
|
|
3
3
|
import { LarkSR } from '../larksr';
|
|
4
4
|
import { MediaShareInterface, RTCMediaTrackBinding } from './media_share_interface';
|
|
5
5
|
import { CloudLark } from '@/protobuf/cloudlark';
|
|
6
|
+
import WebCodec from './webcodec';
|
|
6
7
|
export declare enum IceState {
|
|
7
8
|
DISCONNECT = 1,
|
|
8
9
|
BAD = 2,
|
|
@@ -119,7 +120,8 @@ export default class PeerConnection extends EventBase<WEBRTC_EVENT_TYPE, WebRTCE
|
|
|
119
120
|
private _serverStatics;
|
|
120
121
|
get currentAppSize(): CloudLark.IAppResize | null;
|
|
121
122
|
private _currentAppSize;
|
|
122
|
-
|
|
123
|
+
private webcodec;
|
|
124
|
+
constructor(larksr: LarkSR, config: WebRTCConfig, webcodec: WebCodec);
|
|
123
125
|
create(streams?: MediaStream | undefined | null, config?: CloudLark.IRTCConfiguration | null | undefined): Promise<void>;
|
|
124
126
|
createOffer(): void;
|
|
125
127
|
close(): void;
|
|
@@ -21,17 +21,38 @@ export default class WebCodec extends EventBase<WEB_CODEC_EVENT_TYPE, WebCodecEv
|
|
|
21
21
|
private larksr;
|
|
22
22
|
private decoder;
|
|
23
23
|
private codec;
|
|
24
|
-
|
|
25
|
-
private
|
|
24
|
+
get width(): number;
|
|
25
|
+
private _width;
|
|
26
|
+
get height(): number;
|
|
27
|
+
private _height;
|
|
26
28
|
private canvas;
|
|
27
29
|
private context;
|
|
28
30
|
private frameData;
|
|
29
31
|
private dataOffset;
|
|
30
32
|
private firstFrame;
|
|
33
|
+
get inited(): boolean;
|
|
34
|
+
private _inited;
|
|
35
|
+
private decodeCost;
|
|
36
|
+
private decodeCosts;
|
|
37
|
+
private renderCost;
|
|
38
|
+
private renderCosts;
|
|
39
|
+
private firstPackage;
|
|
40
|
+
private packageCost;
|
|
41
|
+
private packageCosts;
|
|
42
|
+
private frameCount;
|
|
43
|
+
private dataCount;
|
|
44
|
+
private lastState;
|
|
31
45
|
constructor(larksr: LarkSR);
|
|
32
46
|
setCanvas(canvas: HTMLCanvasElement, context: CanvasRenderingContext2D): void;
|
|
33
47
|
init(frame: CloudLark.IStreamVideoFrame): Promise<boolean | undefined>;
|
|
34
48
|
onStreamVideoFrame(frame: CloudLark.IStreamVideoFrame): Promise<void>;
|
|
49
|
+
stats(): {
|
|
50
|
+
fps: number;
|
|
51
|
+
bitrateKbps: number;
|
|
52
|
+
package: number;
|
|
53
|
+
decode: number;
|
|
54
|
+
render: number;
|
|
55
|
+
};
|
|
35
56
|
private checkConfig;
|
|
36
57
|
private onFrameDecode;
|
|
37
58
|
private onFrameError;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { EventBase, LocalEvent } from '../event/event_base';
|
|
2
|
+
export declare enum WAITQUEUE_EVENT_TYPE {
|
|
3
|
+
OPEN = 0,
|
|
4
|
+
CLOSE = 1,
|
|
5
|
+
ERROR = 2,
|
|
6
|
+
TRY = 3,
|
|
7
|
+
STAUTS = 4
|
|
8
|
+
}
|
|
9
|
+
export interface WaitQueueEvent extends LocalEvent<WAITQUEUE_EVENT_TYPE> {
|
|
10
|
+
waitCount?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface WaitQueueConfig {
|
|
13
|
+
serverAddress: string;
|
|
14
|
+
appliId: string;
|
|
15
|
+
groupId?: string;
|
|
16
|
+
targetServerIp?: string;
|
|
17
|
+
}
|
|
18
|
+
export default class WaitQueue extends EventBase<WAITQUEUE_EVENT_TYPE, WaitQueueEvent> {
|
|
19
|
+
private get wsServer();
|
|
20
|
+
private config;
|
|
21
|
+
private connection;
|
|
22
|
+
private keepAliveTimeout;
|
|
23
|
+
private queueId;
|
|
24
|
+
isOpen(): boolean;
|
|
25
|
+
constructor(config: WaitQueueConfig);
|
|
26
|
+
/**
|
|
27
|
+
*
|
|
28
|
+
*/
|
|
29
|
+
connect(): Promise<this>;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
*/
|
|
33
|
+
close(): Promise<void>;
|
|
34
|
+
private startKeepAlive;
|
|
35
|
+
private stopKeepAlive;
|
|
36
|
+
}
|
package/dist/types/larksr.d.ts
CHANGED
|
@@ -62,7 +62,7 @@ declare enum LarkSRClientEvent {
|
|
|
62
62
|
// 服务端返回的错误码,服务端请求正确返回时存在。需要注意渲染资源不足类型的错误码。
|
|
63
63
|
// 可用 type == 0 判断是否是渲染资源不足类型的错误,再用 code 进行细节处理,或者只用 type == 0 进行处理。
|
|
64
64
|
// 813=当前应用的运行数量已达到最大值:{0},请稍后再试
|
|
65
|
-
// 814=同一
|
|
65
|
+
// 814=同一wsId下的应用运行数量达到最大值:{0},请稍后再试
|
|
66
66
|
// 815=应用运行数量已达到最大授权并发数量,请稍后再试
|
|
67
67
|
// 816=VR应用运行数量已达到最大授权并发数量,请稍后再试
|
|
68
68
|
// 817=渲染资源不足,请稍后再试
|
|
@@ -499,7 +499,12 @@ interface ILarkSRConfig {
|
|
|
499
499
|
/**
|
|
500
500
|
* 是否使用 webcodec
|
|
501
501
|
*/
|
|
502
|
-
|
|
502
|
+
useWebCodec?: boolean;
|
|
503
|
+
/**
|
|
504
|
+
* 是否启用等待队列
|
|
505
|
+
* 优先级高于后台配置
|
|
506
|
+
*/
|
|
507
|
+
disableWaitQueue?: boolean;
|
|
503
508
|
}
|
|
504
509
|
declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
|
|
505
510
|
/**
|
|
@@ -740,6 +745,7 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
|
|
|
740
745
|
stopAerialview(): void;
|
|
741
746
|
get syncClientViewport(): boolean;
|
|
742
747
|
set syncClientViewport(sync: boolean);
|
|
748
|
+
private waitQueue;
|
|
743
749
|
/**
|
|
744
750
|
* LarkSR 客户端。所有操作和事件通过该类传递
|
|
745
751
|
* @param config 本地配置,优先级最高
|
|
@@ -787,7 +793,7 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
|
|
|
787
793
|
// 服务端返回的错误码,服务端请求正确返回时存在。需要注意渲染资源不足类型的错误码。
|
|
788
794
|
// 可用 type == 0 判断是否是渲染资源不足类型的错误,再用 code 进行细节处理,或者只用 type == 0 进行处理。
|
|
789
795
|
// 813=当前应用的运行数量已达到最大值:{0},请稍后再试
|
|
790
|
-
// 814=同一
|
|
796
|
+
// 814=同一wsId下的应用运行数量达到最大值:{0},请稍后再试
|
|
791
797
|
// 815=应用运行数量已达到最大授权并发数量,请稍后再试
|
|
792
798
|
// 816=VR应用运行数量已达到最大授权并发数量,请稍后再试
|
|
793
799
|
// 817=渲染资源不足,请稍后再试
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "larksr_websdk",
|
|
3
|
-
"version": "3.
|
|
4
|
-
"description": "Larksr websdk. Easy to build a cloud render client for larksr system or ue4 pixelstreaming.docs: https://
|
|
3
|
+
"version": "3.3.101",
|
|
4
|
+
"description": "Larksr websdk. Easy to build a cloud render client for larksr system or ue4 pixelstreaming.docs: https://paraversetechnology.github.io/en/webclient_sdk/",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pingxingyun",
|
|
7
7
|
"larksr",
|
package/types/api.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export interface UTLockInfo {
|
|
|
7
7
|
}
|
|
8
8
|
export interface GetTaskResult {
|
|
9
9
|
adminViewer: number;
|
|
10
|
-
|
|
10
|
+
wsId: string;
|
|
11
11
|
appliId: string;
|
|
12
12
|
appliType: number;
|
|
13
13
|
city: string;
|
|
@@ -24,7 +24,6 @@ export interface GetTaskResult {
|
|
|
24
24
|
reserveFlag: number;
|
|
25
25
|
serverId: string;
|
|
26
26
|
serverIp: string;
|
|
27
|
-
shareUrl: string;
|
|
28
27
|
startAt: string;
|
|
29
28
|
startParam: string;
|
|
30
29
|
startProcType: number;
|
|
@@ -33,12 +32,13 @@ export interface GetTaskResult {
|
|
|
33
32
|
updateDate: string;
|
|
34
33
|
useGamepad: number;
|
|
35
34
|
wm: number;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
35
|
+
shareUrl?: string;
|
|
36
|
+
textInputEventPrompt?: number;
|
|
37
|
+
audioInput?: number;
|
|
38
|
+
audioInputAutoStart?: number;
|
|
39
|
+
videoInput?: number;
|
|
40
|
+
videoInputAutoStart?: number;
|
|
41
|
+
liveStreaming?: number;
|
|
42
42
|
mobileKeyboardType?: number;
|
|
43
43
|
}
|
|
44
44
|
export interface StartAppInfo {
|
|
@@ -75,13 +75,24 @@ export interface StartAppInfo {
|
|
|
75
75
|
authCode?: string;
|
|
76
76
|
nickName?: string;
|
|
77
77
|
nickname?: string;
|
|
78
|
-
|
|
78
|
+
wsId?: string;
|
|
79
79
|
groupId?: string;
|
|
80
80
|
initResolutionType?: number;
|
|
81
|
+
useWebCodec?: number;
|
|
82
|
+
preferDecoder?: string;
|
|
83
|
+
mobileWebMenuType?: number;
|
|
84
|
+
shareUrl?: string;
|
|
85
|
+
textInputEventPrompt?: number;
|
|
86
|
+
audioInput?: number;
|
|
87
|
+
audioInputAutoStart?: number;
|
|
88
|
+
videoInput?: number;
|
|
89
|
+
videoInputAutoStart?: number;
|
|
90
|
+
liveStreaming?: number;
|
|
91
|
+
mobileKeyboardType?: number;
|
|
81
92
|
}
|
|
82
93
|
declare type HostAppliGetUrlReturnParams = {
|
|
83
94
|
appliId: string;
|
|
84
|
-
|
|
95
|
+
wsId: string;
|
|
85
96
|
timestamp: string;
|
|
86
97
|
signature: string;
|
|
87
98
|
groupId?: string;
|
|
@@ -97,6 +108,7 @@ export default class API {
|
|
|
97
108
|
private static GetTouchCtrMappingPath;
|
|
98
109
|
private static GetAppliListPath;
|
|
99
110
|
private static RegionListPath;
|
|
111
|
+
private static TestEnableWaitQueue;
|
|
100
112
|
static HostAppliGetUrl(params: {
|
|
101
113
|
appliId: string;
|
|
102
114
|
playerMode?: number;
|
|
@@ -119,7 +131,7 @@ export default class API {
|
|
|
119
131
|
groupId?: string;
|
|
120
132
|
regionId?: string;
|
|
121
133
|
targetServerIp?: string;
|
|
122
|
-
|
|
134
|
+
wsId?: string;
|
|
123
135
|
timestamp?: string;
|
|
124
136
|
signature?: string;
|
|
125
137
|
} | any): Promise<StartAppInfo>;
|
|
@@ -132,6 +144,9 @@ export default class API {
|
|
|
132
144
|
static GetTouchCtrMapping(server: string, appliId?: string): Promise<unknown>;
|
|
133
145
|
static GetAppliList(server: string, params: any): Promise<unknown>;
|
|
134
146
|
static RegionList(server: string, params: any): Promise<unknown>;
|
|
147
|
+
static IsEnableWaitQueue(server: string, params: any): Promise<{
|
|
148
|
+
enableWaitQueue: boolean;
|
|
149
|
+
}>;
|
|
135
150
|
static heartbeat(server: string, taskId: string): Promise<unknown>;
|
|
136
151
|
static joinParam(params: any): string;
|
|
137
152
|
}
|
package/types/appli_params.d.ts
CHANGED
|
@@ -194,7 +194,7 @@ export interface IAppliParams {
|
|
|
194
194
|
enableRttIcon: boolean;
|
|
195
195
|
enableSoundRequire: boolean;
|
|
196
196
|
toastLevel: number;
|
|
197
|
-
|
|
197
|
+
wsId: string;
|
|
198
198
|
groupId: string;
|
|
199
199
|
textInputEventPrompt: boolean;
|
|
200
200
|
audioInput: boolean;
|
|
@@ -205,7 +205,8 @@ export interface IAppliParams {
|
|
|
205
205
|
useSeparateMediaSharePeer: boolean;
|
|
206
206
|
mobileKeyboardType: number;
|
|
207
207
|
initResolutionType: number;
|
|
208
|
-
|
|
208
|
+
useWebCodec: boolean;
|
|
209
|
+
mobileWebMenuType: number;
|
|
209
210
|
}
|
|
210
211
|
export declare enum AppliType {
|
|
211
212
|
DESKTOP = 1,
|
|
@@ -265,7 +266,7 @@ export declare class AppliParams implements IAppliParams {
|
|
|
265
266
|
enableRttIcon: boolean;
|
|
266
267
|
enableSoundRequire: boolean;
|
|
267
268
|
toastLevel: number;
|
|
268
|
-
|
|
269
|
+
wsId: string;
|
|
269
270
|
groupId: string;
|
|
270
271
|
textInputEventPrompt: boolean;
|
|
271
272
|
audioInput: boolean;
|
|
@@ -276,7 +277,8 @@ export declare class AppliParams implements IAppliParams {
|
|
|
276
277
|
useSeparateMediaSharePeer: boolean;
|
|
277
278
|
mobileKeyboardType: number;
|
|
278
279
|
initResolutionType: number;
|
|
279
|
-
|
|
280
|
+
useWebCodec: boolean;
|
|
281
|
+
mobileWebMenuType: number;
|
|
280
282
|
static copyAndCreate(params?: IAppliParams): AppliParams;
|
|
281
283
|
static setUpWithSDKConfig(params: IAppliParams, config: ILarkSRConfig): AppliParams;
|
|
282
284
|
}
|
|
@@ -288,7 +290,7 @@ export declare class AppliParamsUtils {
|
|
|
288
290
|
static getBoolOption(option: string | null | undefined | boolean, emptyValue?: boolean): boolean;
|
|
289
291
|
static getNumberBoolOption(option: string | null | undefined | number, emptyValue?: boolean): boolean;
|
|
290
292
|
static getStringOption(option: string | null | undefined, emptyValue?: string): string;
|
|
291
|
-
static getIntOption(option: string | null | undefined, emptyValue?: number): number;
|
|
293
|
+
static getIntOption(option: string | number | null | undefined, emptyValue?: number): number;
|
|
292
294
|
static getBgColor(option: string | null | undefined): string;
|
|
293
295
|
}
|
|
294
296
|
/**
|
|
@@ -3,6 +3,7 @@ import * as Input from '../protobuf/cloudlark';
|
|
|
3
3
|
import { LarkSR } from '../larksr';
|
|
4
4
|
import { MediaShareInterface, RTCMediaTrackBinding } from './media_share_interface';
|
|
5
5
|
import { CloudLark } from '@/protobuf/cloudlark';
|
|
6
|
+
import WebCodec from './webcodec';
|
|
6
7
|
export declare enum IceState {
|
|
7
8
|
DISCONNECT = 1,
|
|
8
9
|
BAD = 2,
|
|
@@ -119,7 +120,8 @@ export default class PeerConnection extends EventBase<WEBRTC_EVENT_TYPE, WebRTCE
|
|
|
119
120
|
private _serverStatics;
|
|
120
121
|
get currentAppSize(): CloudLark.IAppResize | null;
|
|
121
122
|
private _currentAppSize;
|
|
122
|
-
|
|
123
|
+
private webcodec;
|
|
124
|
+
constructor(larksr: LarkSR, config: WebRTCConfig, webcodec: WebCodec);
|
|
123
125
|
create(streams?: MediaStream | undefined | null, config?: CloudLark.IRTCConfiguration | null | undefined): Promise<void>;
|
|
124
126
|
createOffer(): void;
|
|
125
127
|
close(): void;
|
package/types/lark/webcodec.d.ts
CHANGED
|
@@ -21,17 +21,38 @@ export default class WebCodec extends EventBase<WEB_CODEC_EVENT_TYPE, WebCodecEv
|
|
|
21
21
|
private larksr;
|
|
22
22
|
private decoder;
|
|
23
23
|
private codec;
|
|
24
|
-
|
|
25
|
-
private
|
|
24
|
+
get width(): number;
|
|
25
|
+
private _width;
|
|
26
|
+
get height(): number;
|
|
27
|
+
private _height;
|
|
26
28
|
private canvas;
|
|
27
29
|
private context;
|
|
28
30
|
private frameData;
|
|
29
31
|
private dataOffset;
|
|
30
32
|
private firstFrame;
|
|
33
|
+
get inited(): boolean;
|
|
34
|
+
private _inited;
|
|
35
|
+
private decodeCost;
|
|
36
|
+
private decodeCosts;
|
|
37
|
+
private renderCost;
|
|
38
|
+
private renderCosts;
|
|
39
|
+
private firstPackage;
|
|
40
|
+
private packageCost;
|
|
41
|
+
private packageCosts;
|
|
42
|
+
private frameCount;
|
|
43
|
+
private dataCount;
|
|
44
|
+
private lastState;
|
|
31
45
|
constructor(larksr: LarkSR);
|
|
32
46
|
setCanvas(canvas: HTMLCanvasElement, context: CanvasRenderingContext2D): void;
|
|
33
47
|
init(frame: CloudLark.IStreamVideoFrame): Promise<boolean | undefined>;
|
|
34
48
|
onStreamVideoFrame(frame: CloudLark.IStreamVideoFrame): Promise<void>;
|
|
49
|
+
stats(): {
|
|
50
|
+
fps: number;
|
|
51
|
+
bitrateKbps: number;
|
|
52
|
+
package: number;
|
|
53
|
+
decode: number;
|
|
54
|
+
render: number;
|
|
55
|
+
};
|
|
35
56
|
private checkConfig;
|
|
36
57
|
private onFrameDecode;
|
|
37
58
|
private onFrameError;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { EventBase, LocalEvent } from '../event/event_base';
|
|
2
|
+
export declare enum WAITQUEUE_EVENT_TYPE {
|
|
3
|
+
OPEN = 0,
|
|
4
|
+
CLOSE = 1,
|
|
5
|
+
ERROR = 2,
|
|
6
|
+
TRY = 3,
|
|
7
|
+
STAUTS = 4
|
|
8
|
+
}
|
|
9
|
+
export interface WaitQueueEvent extends LocalEvent<WAITQUEUE_EVENT_TYPE> {
|
|
10
|
+
waitCount?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface WaitQueueConfig {
|
|
13
|
+
serverAddress: string;
|
|
14
|
+
appliId: string;
|
|
15
|
+
groupId?: string;
|
|
16
|
+
targetServerIp?: string;
|
|
17
|
+
}
|
|
18
|
+
export default class WaitQueue extends EventBase<WAITQUEUE_EVENT_TYPE, WaitQueueEvent> {
|
|
19
|
+
private get wsServer();
|
|
20
|
+
private config;
|
|
21
|
+
private connection;
|
|
22
|
+
private keepAliveTimeout;
|
|
23
|
+
private queueId;
|
|
24
|
+
isOpen(): boolean;
|
|
25
|
+
constructor(config: WaitQueueConfig);
|
|
26
|
+
/**
|
|
27
|
+
*
|
|
28
|
+
*/
|
|
29
|
+
connect(): Promise<this>;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
*/
|
|
33
|
+
close(): Promise<void>;
|
|
34
|
+
private startKeepAlive;
|
|
35
|
+
private stopKeepAlive;
|
|
36
|
+
}
|
package/types/larksr.d.ts
CHANGED
|
@@ -62,7 +62,7 @@ declare enum LarkSRClientEvent {
|
|
|
62
62
|
// 服务端返回的错误码,服务端请求正确返回时存在。需要注意渲染资源不足类型的错误码。
|
|
63
63
|
// 可用 type == 0 判断是否是渲染资源不足类型的错误,再用 code 进行细节处理,或者只用 type == 0 进行处理。
|
|
64
64
|
// 813=当前应用的运行数量已达到最大值:{0},请稍后再试
|
|
65
|
-
// 814=同一
|
|
65
|
+
// 814=同一wsId下的应用运行数量达到最大值:{0},请稍后再试
|
|
66
66
|
// 815=应用运行数量已达到最大授权并发数量,请稍后再试
|
|
67
67
|
// 816=VR应用运行数量已达到最大授权并发数量,请稍后再试
|
|
68
68
|
// 817=渲染资源不足,请稍后再试
|
|
@@ -499,7 +499,12 @@ interface ILarkSRConfig {
|
|
|
499
499
|
/**
|
|
500
500
|
* 是否使用 webcodec
|
|
501
501
|
*/
|
|
502
|
-
|
|
502
|
+
useWebCodec?: boolean;
|
|
503
|
+
/**
|
|
504
|
+
* 是否启用等待队列
|
|
505
|
+
* 优先级高于后台配置
|
|
506
|
+
*/
|
|
507
|
+
disableWaitQueue?: boolean;
|
|
503
508
|
}
|
|
504
509
|
declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
|
|
505
510
|
/**
|
|
@@ -740,6 +745,7 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
|
|
|
740
745
|
stopAerialview(): void;
|
|
741
746
|
get syncClientViewport(): boolean;
|
|
742
747
|
set syncClientViewport(sync: boolean);
|
|
748
|
+
private waitQueue;
|
|
743
749
|
/**
|
|
744
750
|
* LarkSR 客户端。所有操作和事件通过该类传递
|
|
745
751
|
* @param config 本地配置,优先级最高
|
|
@@ -787,7 +793,7 @@ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
|
|
|
787
793
|
// 服务端返回的错误码,服务端请求正确返回时存在。需要注意渲染资源不足类型的错误码。
|
|
788
794
|
// 可用 type == 0 判断是否是渲染资源不足类型的错误,再用 code 进行细节处理,或者只用 type == 0 进行处理。
|
|
789
795
|
// 813=当前应用的运行数量已达到最大值:{0},请稍后再试
|
|
790
|
-
// 814=同一
|
|
796
|
+
// 814=同一wsId下的应用运行数量达到最大值:{0},请稍后再试
|
|
791
797
|
// 815=应用运行数量已达到最大授权并发数量,请稍后再试
|
|
792
798
|
// 816=VR应用运行数量已达到最大授权并发数量,请稍后再试
|
|
793
799
|
// 817=渲染资源不足,请稍后再试
|