quickvo-sdk-js 1.5.12 → 1.5.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/dist/index.js +21425 -21086
- package/dist/index.umd.cjs +3 -3
- package/dist/{room/PeerAnalyzeStats.d.ts → pr-analysis-for-webrtc/PrPeerAnalysis.d.ts} +21 -16
- package/dist/pr-analysis-for-webrtc/PrPeerAnalysisItem.d.ts +55 -0
- package/dist/protos/compiled.d.ts +6 -0
- package/dist/room/P2P.d.ts +9 -3
- package/dist/room/RoomBase.d.ts +2 -0
- package/dist/room/RoomCalls.d.ts +0 -8
- package/dist/room/RoomMedias.d.ts +1 -0
- package/dist/room/RoomPeer.d.ts +8 -10
- package/dist/room/RoomUsers.d.ts +2 -1
- package/package.json +7 -6
|
@@ -1,27 +1,29 @@
|
|
|
1
|
-
|
|
1
|
+
import { PrPeerAnalysisItem } from './PrPeerAnalysisItem';
|
|
2
|
+
export declare class PrPeerAnalysis {
|
|
2
3
|
pc: RTCPeerConnection | undefined;
|
|
4
|
+
analysisMap: Map<string, PrPeerAnalysisItem>;
|
|
5
|
+
reports: any[];
|
|
6
|
+
roundTripTimes: number[];
|
|
7
|
+
jitters: number[];
|
|
3
8
|
network: {
|
|
4
9
|
inboundBytes: number;
|
|
5
10
|
outboundBytes: number;
|
|
6
|
-
lostRate:
|
|
7
|
-
roundTripTime:
|
|
8
|
-
jitter:
|
|
11
|
+
lostRate: number;
|
|
12
|
+
roundTripTime: number;
|
|
13
|
+
jitter: number;
|
|
9
14
|
quality: number;
|
|
10
15
|
averageQuality: number;
|
|
11
16
|
velocityPull: number;
|
|
12
17
|
velocityPush: number;
|
|
13
18
|
};
|
|
14
|
-
reports: any[];
|
|
15
|
-
averageQualitys: number[];
|
|
16
|
-
timer: number;
|
|
17
19
|
constructor();
|
|
18
20
|
onNetwork: (_e: typeof this.network) => void;
|
|
19
21
|
getNetwork: () => {
|
|
20
22
|
inboundBytes: number;
|
|
21
23
|
outboundBytes: number;
|
|
22
|
-
lostRate:
|
|
23
|
-
roundTripTime:
|
|
24
|
-
jitter:
|
|
24
|
+
lostRate: number;
|
|
25
|
+
roundTripTime: number;
|
|
26
|
+
jitter: number;
|
|
25
27
|
quality: number;
|
|
26
28
|
averageQuality: number;
|
|
27
29
|
velocityPull: number;
|
|
@@ -29,16 +31,19 @@ export declare class PeerAnalyzeStats {
|
|
|
29
31
|
};
|
|
30
32
|
getAverageQuality: () => number;
|
|
31
33
|
/**
|
|
32
|
-
*
|
|
34
|
+
* 初始化
|
|
35
|
+
*/
|
|
36
|
+
init: (pc: RTCPeerConnection) => void;
|
|
37
|
+
/**
|
|
38
|
+
* 定时获取报告
|
|
33
39
|
*/
|
|
34
|
-
|
|
35
|
-
analyzeStats: () => Promise<void>;
|
|
40
|
+
getReportsInterval: () => Promise<void>;
|
|
36
41
|
/**
|
|
37
|
-
*
|
|
42
|
+
* 获取报告
|
|
38
43
|
*/
|
|
39
44
|
getReports: (mids?: string[]) => Promise<any[]>;
|
|
40
45
|
/**
|
|
41
|
-
*
|
|
46
|
+
* 清理
|
|
42
47
|
*/
|
|
43
|
-
|
|
48
|
+
clear: () => void;
|
|
44
49
|
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
interface ReportInfo {
|
|
2
|
+
bytesSent: number;
|
|
3
|
+
bytesReceived: number;
|
|
4
|
+
packetsSent: number;
|
|
5
|
+
packetsLost: number;
|
|
6
|
+
}
|
|
7
|
+
export declare class PrPeerAnalysisItem {
|
|
8
|
+
lastReports: never[];
|
|
9
|
+
reportInfos: ReportInfo[];
|
|
10
|
+
roundTripTime: number;
|
|
11
|
+
jitter: number;
|
|
12
|
+
network: {
|
|
13
|
+
inboundBytes: number;
|
|
14
|
+
outboundBytes: number;
|
|
15
|
+
lostRate: number;
|
|
16
|
+
roundTripTime: number;
|
|
17
|
+
jitter: number;
|
|
18
|
+
quality: number;
|
|
19
|
+
averageQuality: number;
|
|
20
|
+
velocityPull: number;
|
|
21
|
+
velocityPush: number;
|
|
22
|
+
};
|
|
23
|
+
packetsSentBefore: number;
|
|
24
|
+
packetsLostBefore: number;
|
|
25
|
+
averageQualitys: number[];
|
|
26
|
+
constructor();
|
|
27
|
+
/**
|
|
28
|
+
* 添加信息
|
|
29
|
+
* @param report
|
|
30
|
+
*/
|
|
31
|
+
addInfo: (info: ReportInfo) => void;
|
|
32
|
+
setRoundTripTimeAndJitter: ({ roundTripTime, jitter }: {
|
|
33
|
+
roundTripTime: number;
|
|
34
|
+
jitter: number;
|
|
35
|
+
}) => void;
|
|
36
|
+
/**
|
|
37
|
+
* 汇总报告
|
|
38
|
+
*/
|
|
39
|
+
gather: () => {
|
|
40
|
+
inboundBytes: number;
|
|
41
|
+
outboundBytes: number;
|
|
42
|
+
lostRate: number;
|
|
43
|
+
roundTripTime: number;
|
|
44
|
+
jitter: number;
|
|
45
|
+
quality: number;
|
|
46
|
+
averageQuality: number;
|
|
47
|
+
velocityPull: number;
|
|
48
|
+
velocityPush: number;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* 清理
|
|
52
|
+
*/
|
|
53
|
+
clear: () => void;
|
|
54
|
+
}
|
|
55
|
+
export {};
|
|
@@ -6109,6 +6109,9 @@ export namespace com {
|
|
|
6109
6109
|
|
|
6110
6110
|
/** RoomSpeechNotify timestamp */
|
|
6111
6111
|
timestamp?: (number|Long|null);
|
|
6112
|
+
|
|
6113
|
+
/** RoomSpeechNotify origin */
|
|
6114
|
+
origin?: (string|null);
|
|
6112
6115
|
}
|
|
6113
6116
|
|
|
6114
6117
|
/** Represents a RoomSpeechNotify. */
|
|
@@ -6132,6 +6135,9 @@ export namespace com {
|
|
|
6132
6135
|
/** RoomSpeechNotify timestamp. */
|
|
6133
6136
|
public timestamp: (number|Long);
|
|
6134
6137
|
|
|
6138
|
+
/** RoomSpeechNotify origin. */
|
|
6139
|
+
public origin: string;
|
|
6140
|
+
|
|
6135
6141
|
/**
|
|
6136
6142
|
* Creates a new RoomSpeechNotify instance using the specified properties.
|
|
6137
6143
|
* @param [properties] Properties to set
|
package/dist/room/P2P.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { K_mediaType } from '../enums/mediaType';
|
|
2
2
|
import { PrResolves } from './PrResolves';
|
|
3
3
|
import { MediaTypeTransceiver, Message, UserTrack } from '../types';
|
|
4
|
-
import {
|
|
4
|
+
import { PrPeerAnalysis } from '../pr-analysis-for-webrtc/PrPeerAnalysis';
|
|
5
5
|
export declare class P2P {
|
|
6
6
|
#private;
|
|
7
7
|
pr_resolves: PrResolves;
|
|
@@ -9,18 +9,20 @@ export declare class P2P {
|
|
|
9
9
|
userId: string;
|
|
10
10
|
remoteUserId: string;
|
|
11
11
|
phoney_streams_map: Map<K_mediaType, MediaStream>;
|
|
12
|
+
local_streams_map: Map<K_mediaType, MediaStream>;
|
|
12
13
|
peer_ins?: RTCPeerConnection;
|
|
13
14
|
timer?: NodeJS.Timeout;
|
|
14
15
|
local_channel?: RTCDataChannel;
|
|
15
16
|
remote_channel?: RTCDataChannel;
|
|
16
17
|
icecandidates: RTCIceCandidate[];
|
|
17
18
|
candidate_collected: boolean;
|
|
18
|
-
analyze_stats_ins:
|
|
19
|
+
analyze_stats_ins: PrPeerAnalysis;
|
|
19
20
|
send_transceiver_map: Map<"microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio", RTCRtpTransceiver>;
|
|
20
21
|
recv_transceiver_map: Map<"microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio", RTCRtpTransceiver>;
|
|
21
22
|
tracks: MediaStreamTrack[];
|
|
22
23
|
onClose: () => void;
|
|
23
|
-
constructor(roomId: string, userId: string, remoteUserId: string, phoney_streams: Map<K_mediaType, MediaStream>);
|
|
24
|
+
constructor(roomId: string, userId: string, remoteUserId: string, phoney_streams: Map<K_mediaType, MediaStream>, local_streams_map: Map<K_mediaType, MediaStream>);
|
|
25
|
+
filterSdp: (description: RTCSessionDescriptionInit) => void;
|
|
24
26
|
remoteChannelSend: (message: Message) => void;
|
|
25
27
|
init: () => Promise<void>;
|
|
26
28
|
/**
|
|
@@ -33,6 +35,10 @@ export declare class P2P {
|
|
|
33
35
|
initRecvs: (mediaTypes?: K_mediaType[], direction?: RTCRtpTransceiverDirection) => Promise<("microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio")[]>;
|
|
34
36
|
hasRecv: (mediaType: K_mediaType) => Promise<boolean>;
|
|
35
37
|
checkActive: () => boolean;
|
|
38
|
+
/**
|
|
39
|
+
* 替换流
|
|
40
|
+
*/
|
|
41
|
+
replaceSenderStreams: (mediaTypes: K_mediaType[] | undefined, isReal: Boolean) => Promise<void>;
|
|
36
42
|
pauseSends: (mediaTypes: K_mediaType[] | undefined, pause: boolean) => Promise<("microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio")[]>;
|
|
37
43
|
pauseRecvs: (mediaTypes: K_mediaType[] | undefined, pause: boolean) => Promise<("microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio")[]>;
|
|
38
44
|
/**
|
package/dist/room/RoomBase.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { PrAsyncQueue } from 'pr-async-queue';
|
|
|
7
7
|
import { P2P } from './P2P';
|
|
8
8
|
import { K_iceState } from '../enums/iceState';
|
|
9
9
|
import { PrResolves } from './PrResolves';
|
|
10
|
+
import { PrIntervalQueue } from 'pr-interval-queue';
|
|
10
11
|
type Options = QuickOptions & RoomOptions & CallsWebSocketOptions & {
|
|
11
12
|
earlyId?: string;
|
|
12
13
|
};
|
|
@@ -19,6 +20,7 @@ export declare class RoomBase {
|
|
|
19
20
|
historical_publish_mediaTypes: K_mediaType[];
|
|
20
21
|
historical_subscribe_mediaTypes: UserMediaTypes[];
|
|
21
22
|
prResolves: PrResolves;
|
|
23
|
+
intervalQueue: PrIntervalQueue;
|
|
22
24
|
sdk_service_version: string;
|
|
23
25
|
sdk_session: string;
|
|
24
26
|
isEarly: boolean;
|
package/dist/room/RoomCalls.d.ts
CHANGED
|
@@ -156,10 +156,6 @@ export declare class RoomCalls extends RoomPeer {
|
|
|
156
156
|
* open
|
|
157
157
|
*/
|
|
158
158
|
open: (remoteUserId: string, mediaTypes: K_mediaType[]) => Promise<unknown>;
|
|
159
|
-
/**
|
|
160
|
-
* replaceSenderStreams
|
|
161
|
-
*/
|
|
162
|
-
replaceSenderStreams: (remoteUserIds: string[], mediaTypes: K_mediaType[] | undefined, isReal: Boolean) => Promise<void>;
|
|
163
159
|
pauseSends: (remoteUserIds: string[], mediaTypes: K_mediaType[] | undefined, pause: boolean) => Promise<void>;
|
|
164
160
|
pauseRecvs: (remoteUserIds: string[], mediaTypes: K_mediaType[] | undefined, pause: boolean) => Promise<void>;
|
|
165
161
|
/**
|
|
@@ -176,9 +172,5 @@ export declare class RoomCalls extends RoomPeer {
|
|
|
176
172
|
desc?: string;
|
|
177
173
|
connectedTime?: string;
|
|
178
174
|
}) => Promise<import('..').SendMessageRevolve<any>>;
|
|
179
|
-
/**
|
|
180
|
-
* close
|
|
181
|
-
*/
|
|
182
|
-
close: (userIds?: string[]) => Promise<void>;
|
|
183
175
|
};
|
|
184
176
|
}
|
|
@@ -5,6 +5,7 @@ import { RoomBase } from './RoomBase';
|
|
|
5
5
|
import { PrAudioStream } from 'pr-audio-stream';
|
|
6
6
|
export declare class RoomMedias extends RoomBase {
|
|
7
7
|
#private;
|
|
8
|
+
localStreamsMap: Map<K_mediaType, MediaStream>;
|
|
8
9
|
localStreamsActionMap: Map<K_mediaType, Boolean>;
|
|
9
10
|
audioContext: AudioContext;
|
|
10
11
|
constructor(options: QuickOptions);
|
package/dist/room/RoomPeer.d.ts
CHANGED
|
@@ -2,10 +2,10 @@ import { K_callStrategy } from '../enums/callStrategy';
|
|
|
2
2
|
import { K_mediaType } from '../enums/mediaType';
|
|
3
3
|
import { QuickOptions, UserTrack } from '../types';
|
|
4
4
|
import { RoomUsers } from './RoomUsers';
|
|
5
|
-
import {
|
|
5
|
+
import { PrPeerAnalysis } from '../pr-analysis-for-webrtc/PrPeerAnalysis';
|
|
6
6
|
export declare class RoomPeer extends RoomUsers {
|
|
7
7
|
#private;
|
|
8
|
-
peerAnalyzeStatsIns:
|
|
8
|
+
peerAnalyzeStatsIns: PrPeerAnalysis;
|
|
9
9
|
simulcast: 'f' | 'h' | 'q';
|
|
10
10
|
offset_inboundBytes: number;
|
|
11
11
|
offset_outboundBytes: number;
|
|
@@ -79,9 +79,9 @@ export declare class RoomPeer extends RoomUsers {
|
|
|
79
79
|
getPeerNetwork: () => {
|
|
80
80
|
inboundBytes: number;
|
|
81
81
|
outboundBytes: number;
|
|
82
|
-
lostRate:
|
|
83
|
-
roundTripTime:
|
|
84
|
-
jitter:
|
|
82
|
+
lostRate: number;
|
|
83
|
+
roundTripTime: number;
|
|
84
|
+
jitter: number;
|
|
85
85
|
quality: number;
|
|
86
86
|
averageQuality: number;
|
|
87
87
|
velocityPull: number;
|
|
@@ -93,12 +93,12 @@ export declare class RoomPeer extends RoomUsers {
|
|
|
93
93
|
getRoomNetwork: () => {
|
|
94
94
|
sfu: any;
|
|
95
95
|
p2p: {
|
|
96
|
-
averageQuality: number;
|
|
97
96
|
inboundBytes: number;
|
|
98
|
-
jitter: number;
|
|
99
|
-
lostRate: number;
|
|
100
97
|
outboundBytes: number;
|
|
98
|
+
averageQuality: number;
|
|
101
99
|
quality: number;
|
|
100
|
+
jitter: number;
|
|
101
|
+
lostRate: number;
|
|
102
102
|
roundTripTime: number;
|
|
103
103
|
velocityPull: number;
|
|
104
104
|
velocityPush: number;
|
|
@@ -108,6 +108,4 @@ export declare class RoomPeer extends RoomUsers {
|
|
|
108
108
|
* getReportsByMid
|
|
109
109
|
*/
|
|
110
110
|
getReportsByMid: (mids?: string[]) => Promise<any[]>;
|
|
111
|
-
startGetPeerStats: () => void;
|
|
112
|
-
stopGetPeerStats: () => void;
|
|
113
111
|
}
|
package/dist/room/RoomUsers.d.ts
CHANGED
|
@@ -84,6 +84,7 @@ export declare class RoomUsers extends RoomMedias {
|
|
|
84
84
|
* createUser
|
|
85
85
|
*/
|
|
86
86
|
createUser: (userId: string) => Promise<void>;
|
|
87
|
+
createP2PUser: (userId: string) => void;
|
|
87
88
|
/**
|
|
88
89
|
* getUser
|
|
89
90
|
*/
|
|
@@ -116,7 +117,7 @@ export declare class RoomUsers extends RoomMedias {
|
|
|
116
117
|
/**
|
|
117
118
|
* checkSubscribed
|
|
118
119
|
*/
|
|
119
|
-
checkSubscribed: (remoteUserId: string, mediaTypes: K_mediaType[]) => Promise<{
|
|
120
|
+
checkSubscribed: (remoteUserId: string, mediaTypes: K_mediaType[], origin?: "sfu" | "p2p" | "all") => Promise<{
|
|
120
121
|
subscribed_mediaTypes: ("microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio")[];
|
|
121
122
|
prohibited_mediaTypes: ("microphoneCamera_audio" | "microphoneCamera_video" | "screenSharing_video" | "screenSharing_audio")[];
|
|
122
123
|
}>;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "quickvo-sdk-js",
|
|
3
3
|
"description": "提供快捷接入单对单、单对多、群体会议、舞台会议等音视频功能。",
|
|
4
|
-
"version": "1.5.
|
|
4
|
+
"version": "1.5.16",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist"
|
|
@@ -21,18 +21,19 @@
|
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"pako": "^2.1.0",
|
|
23
23
|
"pr-async-queue": "^0.1.3",
|
|
24
|
-
"pr-audio-stream": "^0.1
|
|
24
|
+
"pr-audio-stream": "^0.2.1",
|
|
25
|
+
"pr-interval-queue": "^1.1.6",
|
|
25
26
|
"pr-nat-type": "^0.1.2",
|
|
26
|
-
"pr-tools": "^1.6.
|
|
27
|
+
"pr-tools": "^1.6.7",
|
|
27
28
|
"pr-ws": "^0.3.3",
|
|
28
29
|
"sdp-transform": "^3.0.0",
|
|
29
30
|
"webm-duration-fix": "^1.0.4"
|
|
30
31
|
},
|
|
31
32
|
"devDependencies": {
|
|
32
|
-
"protobufjs": "^
|
|
33
|
+
"protobufjs": "^8.0.0",
|
|
33
34
|
"typescript": "^5.9.3",
|
|
34
|
-
"vite": "^7.1
|
|
35
|
-
"vite-plugin-bundle-obfuscator": "^1.
|
|
35
|
+
"vite": "^7.3.1",
|
|
36
|
+
"vite-plugin-bundle-obfuscator": "^1.10.0",
|
|
36
37
|
"vite-plugin-dts": "^4.5.4"
|
|
37
38
|
},
|
|
38
39
|
"private": false,
|