@rongcloud/plugin-rtc 5.4.7 → 5.5.2-alpha.2

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 (103) hide show
  1. package/dist/index.d.ts +405 -34
  2. package/dist/index.esm.js +21612 -15
  3. package/dist/index.js +21641 -15
  4. package/dist/index.umd.js +21645 -15
  5. package/package.json +2 -5
  6. package/dist/async-task-queue.d.ts +0 -9
  7. package/dist/core/Invoker.d.ts +0 -54
  8. package/dist/core/PolarisReporter.d.ts +0 -35
  9. package/dist/core/RCAudienceClient.d.ts +0 -89
  10. package/dist/core/RCMediaStreamCapture.d.ts +0 -124
  11. package/dist/core/RCRTCClient.d.ts +0 -126
  12. package/dist/core/Store.d.ts +0 -84
  13. package/dist/core/command/AsyncCommand.d.ts +0 -55
  14. package/dist/core/command/AsyncSubscribeCommand.d.ts +0 -28
  15. package/dist/core/command/AsyncUnsubscribeCommand.d.ts +0 -28
  16. package/dist/core/command/AsyncUpdateSubscribeListCommand.d.ts +0 -25
  17. package/dist/core/command/BaseCommand.d.ts +0 -31
  18. package/dist/core/command/EnabelInnerCDNCommand.d.ts +0 -16
  19. package/dist/core/command/ExchangeCommand.d.ts +0 -18
  20. package/dist/core/command/ExchangeWithPushOtherRoomCommand.d.ts +0 -22
  21. package/dist/core/command/JoinRoomCommand.d.ts +0 -28
  22. package/dist/core/command/LeaveOtherRoomCommand.d.ts +0 -32
  23. package/dist/core/command/LocalTrackMuteCommand.d.ts +0 -18
  24. package/dist/core/command/MCUConfigFlushCommand.d.ts +0 -18
  25. package/dist/core/command/OnRemoteUserUnpubCommand.d.ts +0 -13
  26. package/dist/core/command/OnSignalReconnectedCommand.d.ts +0 -38
  27. package/dist/core/command/ParseRemoteResCommand.d.ts +0 -38
  28. package/dist/core/command/ParseUserStateCommand.d.ts +0 -57
  29. package/dist/core/command/PublishCommand.d.ts +0 -36
  30. package/dist/core/command/RTCIdentityChangeCommand.d.ts +0 -17
  31. package/dist/core/command/RetryExchangeCommand.d.ts +0 -18
  32. package/dist/core/command/SubscribeCommand.d.ts +0 -21
  33. package/dist/core/command/UnpublishCommand.d.ts +0 -22
  34. package/dist/core/command/UnpublishPrevCommand.d.ts +0 -11
  35. package/dist/core/command/UnsubscribeCommand.d.ts +0 -20
  36. package/dist/core/command/UpdateSubscribeListCommand.d.ts +0 -28
  37. package/dist/core/command/helper.d.ts +0 -20
  38. package/dist/core/constants.d.ts +0 -2
  39. package/dist/core/enums/BackgroundPictureFillMode.d.ts +0 -14
  40. package/dist/core/enums/MixLayoutMode.d.ts +0 -18
  41. package/dist/core/enums/MixVideoRenderMode.d.ts +0 -14
  42. package/dist/core/enums/RCBitrate.d.ts +0 -48
  43. package/dist/core/enums/RCCommandKind.d.ts +0 -12
  44. package/dist/core/enums/RCFrameRate.d.ts +0 -7
  45. package/dist/core/enums/RCInnerCDNBroadcast.d.ts +0 -5
  46. package/dist/core/enums/RCInnerCDNModel.d.ts +0 -5
  47. package/dist/core/enums/RCInnerCDNPullIsHttps.d.ts +0 -5
  48. package/dist/core/enums/RCInnerCDNPullKind.d.ts +0 -6
  49. package/dist/core/enums/RCInnerCDNPushMode.d.ts +0 -5
  50. package/dist/core/enums/RCKickType.d.ts +0 -11
  51. package/dist/core/enums/RCLinkedListPoint.d.ts +0 -6
  52. package/dist/core/enums/RCLivingType.d.ts +0 -14
  53. package/dist/core/enums/RCLoggerTag.d.ts +0 -641
  54. package/dist/core/enums/RCMediaType.d.ts +0 -18
  55. package/dist/core/enums/RCMixInputFilterMode.d.ts +0 -35
  56. package/dist/core/enums/RCRTCCode.d.ts +0 -90
  57. package/dist/core/enums/RCRTCLiveRole.d.ts +0 -14
  58. package/dist/core/enums/RCRTCPingResult.d.ts +0 -5
  59. package/dist/core/enums/RCRTCResolution.d.ts +0 -132
  60. package/dist/core/enums/RCResolution.d.ts +0 -21
  61. package/dist/core/enums/inner/PolarisRole.d.ts +0 -14
  62. package/dist/core/enums/inner/R2Action.d.ts +0 -14
  63. package/dist/core/enums/inner/R2Status.d.ts +0 -11
  64. package/dist/core/enums/inner/RCRTCMessageType.d.ts +0 -70
  65. package/dist/core/enums/inner/RCStreamType.d.ts +0 -14
  66. package/dist/core/enums/inner/TrackState.d.ts +0 -14
  67. package/dist/core/interfaces.d.ts +0 -931
  68. package/dist/core/room/Pinger.d.ts +0 -35
  69. package/dist/core/room/RCAbstractRoom.d.ts +0 -350
  70. package/dist/core/room/RCAudienceLivingRoom.d.ts +0 -329
  71. package/dist/core/room/RCAudioLevelReport.d.ts +0 -18
  72. package/dist/core/room/RCLivingPKHandler.d.ts +0 -164
  73. package/dist/core/room/RCLivingRoom.d.ts +0 -108
  74. package/dist/core/room/RCLocalMediaStream.d.ts +0 -8
  75. package/dist/core/room/RCMCUConfigBuilder.d.ts +0 -211
  76. package/dist/core/room/RCRTCRoom.d.ts +0 -15
  77. package/dist/core/service/RCMediaService.d.ts +0 -96
  78. package/dist/core/service/helper.d.ts +0 -8
  79. package/dist/core/service/index.d.ts +0 -6
  80. package/dist/core/service/interface.d.ts +0 -323
  81. package/dist/core/service/mcu-interface.d.ts +0 -293
  82. package/dist/core/tracks/RC3AnoiseTrack.d.ts +0 -27
  83. package/dist/core/tracks/RCLocalTrack.d.ts +0 -143
  84. package/dist/core/tracks/RCRemoteTrack.d.ts +0 -29
  85. package/dist/core/tracks/RCTrack.d.ts +0 -95
  86. package/dist/core/webrtc/RCRTCPeerCManager.d.ts +0 -161
  87. package/dist/core/webrtc/RCRTCPeerConnection.d.ts +0 -120
  88. package/dist/core/webrtc/helper.d.ts +0 -26
  89. package/dist/core/webrtc/sdp/ASdpBuilder.d.ts +0 -120
  90. package/dist/core/webrtc/sdp/ASdpStrategy.d.ts +0 -53
  91. package/dist/core/webrtc/sdp/PlanBSdpBuilder.d.ts +0 -20
  92. package/dist/core/webrtc/sdp/PlanBStrategy.d.ts +0 -26
  93. package/dist/core/webrtc/sdp/SDPUtils.d.ts +0 -60
  94. package/dist/core/webrtc/sdp/UnifiedPlanSdpBuilder.d.ts +0 -11
  95. package/dist/core/webrtc/sdp/UnifiedPlanStrategy.d.ts +0 -25
  96. package/dist/core/webrtc/stat-parser/AbstractStatParser.d.ts +0 -117
  97. package/dist/core/webrtc/stat-parser/ChromeStatParser.d.ts +0 -14
  98. package/dist/core/webrtc/stat-parser/FirefoxStatParser.d.ts +0 -14
  99. package/dist/core/webrtc/stat-parser/IStatParser.d.ts +0 -24
  100. package/dist/core/webrtc/stat-parser/SafariStatParser.d.ts +0 -14
  101. package/dist/device.d.ts +0 -6
  102. package/dist/helper.d.ts +0 -193
  103. package/dist/logger.d.ts +0 -4
@@ -1,161 +0,0 @@
1
- import { TrackParam, IMutilPeerC, IPublishedResource, ISubscribeAttr } from '../interfaces';
2
- import PolarisReporter from '../PolarisReporter';
3
- import RCRTCPeerConnection from '../webrtc/RCRTCPeerConnection';
4
- export default class RCRTCPeerCManager {
5
- /**
6
- * 是否使用多 peerConnection
7
- */
8
- private readonly _useMutilPeerC;
9
- /**
10
- * roomId 或观众端 userId
11
- */
12
- private readonly _roomId;
13
- /**
14
- * 断线重连每一条 peerConnection
15
- */
16
- private readonly _reTryExchange;
17
- /**
18
- * 当前用户 id
19
- */
20
- private readonly _currentUserId;
21
- /**
22
- * 北极星上报模块
23
- */
24
- private readonly _polarisReport?;
25
- /**
26
- * 存储创建的所有 peerC,key 为 pcName,/exchange 请求中 request header 中的 Peer-Connection-Id 值
27
- */
28
- private _mutilPeerC;
29
- constructor(
30
- /**
31
- * 是否使用多 peerConnection
32
- */
33
- _useMutilPeerC: boolean,
34
- /**
35
- * roomId 或观众端 userId
36
- */
37
- _roomId: string,
38
- /**
39
- * 断线重连每一条 peerConnection
40
- */
41
- _reTryExchange: Function,
42
- /**
43
- * 当前用户 id
44
- */
45
- _currentUserId: string,
46
- /**
47
- * 北极星上报模块
48
- */
49
- _polarisReport?: PolarisReporter | undefined);
50
- get useMutilPeerC(): boolean;
51
- /**
52
- * 根据 track 判断是否为上行
53
- */
54
- private _isPub;
55
- /**
56
- * 按 tag 分 tracks
57
- */
58
- private _groupTracksByTag;
59
- /**
60
- * 按规则生成 pcName
61
- * 单 peerC roomId_pub
62
- * 多 peerC 上行: roomId_tag、下行: roomId_sub
63
- * 观众加房间: roomId_sub
64
- * 观众不加房间: userId_sub
65
- * @param isPub 是否为上行、下行
66
- * @param tag 多 peerC 时,上行需资源标识
67
- */
68
- private _genPCName;
69
- /**
70
- * 创建一个 peerC
71
- * @param pcName 使用的 peerConnection 名称
72
- * @param tracks 本次要操作的资源
73
- */
74
- private _createOnePeerCItem;
75
- /**
76
- * 创建一组 peerC
77
- * 为了适应多 peerConnection 的场景做出的冗余设计,对单 peerConnection 进行数组进行封装
78
- * 提示:useMutilPeerC 用户自定义的,没有明确场景,必须使用多 peerConnection
79
- * @param pcName
80
- * @returns
81
- */
82
- createPeerCList(tracks: TrackParam[]): IMutilPeerC[];
83
- /**
84
- * 移除所有 peerConnection 的上行资源
85
- */
86
- private _removeAllLocalTrack;
87
- /**
88
- * 销毁某一个 peerConnection
89
- */
90
- destroyPeerC(pcName: string): void;
91
- /**
92
- * 销毁所有 peerConnection
93
- */
94
- private _destroyAllPeerC;
95
- /**
96
- * 获取某一个 peerC
97
- */
98
- getPCItemByPCName(pcName: string): {
99
- /**
100
- * RCRTCPeerConnection 对象
101
- */
102
- pc: RCRTCPeerConnection;
103
- /**
104
- * 存放 peerConnection 上本次要发布、取消发布、订阅、取消订阅的 track
105
- */
106
- tracks: TrackParam[];
107
- /**
108
- * 当前 peerC 是否为发上行的 peerConnection
109
- */
110
- isPub: boolean;
111
- /**
112
- * peerConnection 上行资源,暂不需要
113
- */
114
- publishList?: IPublishedResource[] | undefined;
115
- /**
116
- * peerConnection 下行资源,暂不需要
117
- */
118
- subscribeList?: ISubscribeAttr[] | undefined;
119
- };
120
- /**
121
- * 根据 trackId 获取 peerConnection 对象
122
- */
123
- getPCByTrackId(trackId: string, isPub?: boolean): RCRTCPeerConnection;
124
- /**
125
- * 获取所有的 peerConnection
126
- */
127
- getPCList(): RCRTCPeerConnection[];
128
- /**
129
- * 获取存储的多 peerConnection 数据
130
- */
131
- getMutilPeerCData(): {
132
- [key: string]: {
133
- /**
134
- * RCRTCPeerConnection 对象
135
- */
136
- pc: RCRTCPeerConnection;
137
- /**
138
- * 存放 peerConnection 上本次要发布、取消发布、订阅、取消订阅的 track
139
- */
140
- tracks: TrackParam[];
141
- /**
142
- * 当前 peerC 是否为发上行的 peerConnection
143
- */
144
- isPub: boolean;
145
- /**
146
- * peerConnection 上行资源,暂不需要
147
- */
148
- publishList?: IPublishedResource[] | undefined;
149
- /**
150
- * peerConnection 下行资源,暂不需要
151
- */
152
- subscribeList?: ISubscribeAttr[] | undefined;
153
- };
154
- };
155
- setPeerCData(pcName: string, key: string, value: any): void;
156
- /**
157
- * 销毁资源
158
- */
159
- clear(): void;
160
- }
161
- //# sourceMappingURL=RCRTCPeerCManager.d.ts.map
@@ -1,120 +0,0 @@
1
- import { IRCRTCReportListener, IInnerRCRTCStateReport } from '../interfaces';
2
- import PolarisReporter from '../PolarisReporter';
3
- import { RCLocalTrack } from '../tracks/RCLocalTrack';
4
- import { RCRemoteTrack } from '../tracks/RCRemoteTrack';
5
- import { EventEmitter } from '@rongcloud/engine';
6
- import IStatParser from './stat-parser/IStatParser';
7
- /**
8
- * PC 实例管理类
9
- */
10
- export default class RCRTCPeerConnection extends EventEmitter {
11
- /**
12
- * peerConnection 对应名称
13
- */
14
- private readonly _pcName;
15
- /**
16
- * _reTryExchange 方法
17
- */
18
- private readonly _reTryExchange;
19
- /**
20
- * 当前用户 id
21
- */
22
- private readonly _currentUserId;
23
- /**
24
- * 北极星上传实例
25
- */
26
- private readonly _polarisReport?;
27
- static __INNER_EVENT_TRACK_READY__: string;
28
- private readonly _rtcPeerConn;
29
- private readonly _sdpStrategy;
30
- reportParser: IStatParser | null;
31
- private pubLocalTracks;
32
- private _reTryExchangeTimer;
33
- private _reportStatsTimer;
34
- private _reportR3R4ToPolarisTimer;
35
- private _isDestroyed;
36
- private _reportStatsData?;
37
- private _originReportStatsData?;
38
- constructor(
39
- /**
40
- * peerConnection 对应名称
41
- */
42
- _pcName: string,
43
- /**
44
- * _reTryExchange 方法
45
- */
46
- _reTryExchange: Function,
47
- /**
48
- * 当前用户 id
49
- */
50
- _currentUserId: string,
51
- /**
52
- * 北极星上传实例
53
- */
54
- _polarisReport?: PolarisReporter | undefined);
55
- getName(): string;
56
- getLocalTracks(): RCLocalTrack[];
57
- private _onConnectionStateChange;
58
- private startAutoExecute;
59
- private stopAutoExecute;
60
- private _onICEConnectionStateChange;
61
- private _onTrackReady;
62
- /**
63
- * 它设置对等连接的比特率。
64
- * @deprecated use RCLocalTrack.setBitrate instead of setBitrate
65
- */
66
- setBitrate(max: number, min: number, start?: number): Promise<void>;
67
- createOffer(iceRestart: boolean): Promise<import("./sdp/ASdpStrategy").IOfferInfo>;
68
- setRemoteAnswer(answer: string): Promise<import("../..").RCRTCCode>;
69
- getLocalTrack(trackId: string): RCLocalTrack | null;
70
- addLocalTrack(track: RCLocalTrack): void;
71
- removeLocalTrackById(trackId: string): void;
72
- removeAllLocalTrack(): void;
73
- removeLocalTrack(track: RCLocalTrack): void;
74
- private _updateRecvTransceiverMap;
75
- updateSubRemoteTracks(remoteTracks: RCRemoteTrack[]): void;
76
- /**
77
- * 获取当前已发布视频流信息
78
- */
79
- getOutboundVideoInfo(): import("./sdp/ASdpStrategy").OutboundVideoInfo[];
80
- private _onLocalTrackMuted;
81
- private _onLocalTrackDestroied;
82
- private _reportListener;
83
- /**
84
- * 注册连接数据监控,开启质量数据上报定时器
85
- * @param listener
86
- */
87
- registerReportListener(listener: IRCRTCReportListener | null): void;
88
- private _createRCRTCStateReport;
89
- /**
90
- * 获取 peerConnection stats 数据并格式化
91
- * @returns 返回格式化后的数据
92
- */
93
- private _getStatsData;
94
- getAudioLevelReportData(gap?: number): Promise<{
95
- trackId: string;
96
- audioLevel: number | null;
97
- }[] | undefined>;
98
- /**
99
- * 通知用户质量数据、peerConnection 北极星数据上报
100
- * @todo
101
- */
102
- private _reportHandle;
103
- /**
104
- * 获取缓存的本地质量数据
105
- */
106
- _getCacheStatsData(): IInnerRCRTCStateReport | null | undefined;
107
- /**
108
- * 北极星上报 R3、R4 数据
109
- */
110
- private _sendR3R4Data;
111
- /**
112
- * 2s 给北极星上报一次 R3、R4
113
- */
114
- __reportR3R4ToPolaris(): Promise<void>;
115
- getRTCPeerConn(): RTCPeerConnection;
116
- destroy(): void;
117
- clearReTryExchangeTimer(): void;
118
- isDestroyed(): boolean;
119
- }
120
- //# sourceMappingURL=RCRTCPeerConnection.d.ts.map
@@ -1,26 +0,0 @@
1
- export declare const getBitrate: (dTime: number, dBytes: number) => number;
2
- /**
3
- * 限制浮点数小数位的有效位数
4
- * @param value
5
- * @param fractionDigits 小数点后保留的有效数字位数
6
- */
7
- export declare const fixed: (value: number, fractionDigits?: number) => number;
8
- /**
9
- * 处理音量 * 100,并向下取整
10
- */
11
- export declare const handleAudioLevel: (audioLevel: number, factor?: number) => number;
12
- /**
13
- * 计算丢包率
14
- * @param packetsLost 当前统计丢包总数
15
- * @param packets 当前统计总包数
16
- * @param prePacketsLost 前次统计丢包总数
17
- * @param prePackets 前次统计总包数
18
- */
19
- export declare const getPacketsLostRate: (packetsLost: number, packets: number, prePacketsLost?: number, prePackets?: number) => number;
20
- export declare const senderHasRemoteData: (sender: {
21
- [key: string]: any;
22
- }) => boolean;
23
- export declare const senderHasMediaData: (sender: {
24
- [key: string]: any;
25
- }) => boolean;
26
- //# sourceMappingURL=helper.d.ts.map
@@ -1,120 +0,0 @@
1
- import { IRCTrackBitrate } from '../../interfaces';
2
- import { ISdpSemantics, RtpTransceiverDirection } from './ASdpStrategy';
3
- /**
4
- * 以字符串的形式 硬处理 SDP 信息
5
- * 对于 plan-b | unified-plan 数据的处理 方式是相同的。
6
- * 将 SDP 以 m=[video|audio] 进行拆分,
7
- * 从而获取 SDPHeader | videoStreams | audioStreams 并对其内容进行处理
8
- */
9
- export default abstract class ASdpBuilder {
10
- readonly SDP: string;
11
- readonly type: ISdpSemantics;
12
- protected SDPHeader: string;
13
- protected videoStreams: string[];
14
- protected audioStreams: string[];
15
- static KBitrate: number;
16
- get videoSdps(): string[];
17
- get audioSdps(): string[];
18
- constructor(SDP: string, type: ISdpSemantics);
19
- /**
20
- * 它从 SDP 中删除空行和尾随空格
21
- * @param {string} sdp - 要处理的 SDP 字符串。
22
- * @returns 删除了换行符的 sdp 字符串。
23
- */
24
- static trimBlankLine(sdp: string): string;
25
- /**
26
- * 通过 m=video | m=audio 将 SDP 进行分隔
27
- * 它返回一个索引数组,其中在 SDP 中找到子字符串“m=video”或“m=audio”
28
- * 它返回 SDP 中 execResult.index 的索引数组。
29
- * @returns 一组数字。
30
- */
31
- private getStreamIndex;
32
- /**
33
- * 它将 SDP 拆分为标头和流
34
- * @param {number[]} streams - 表示每个流的开始和结束的数字数组。
35
- */
36
- private spliteStreams;
37
- /**
38
- * 如果当前资源方向 RTCRtpTransceiverDirection 是 recvonly | inactive
39
- * 表明当前不需要发送 RTP 数据所以将 SDP 中删除所有以 `a=ssrc` 或 `a=msid` 开头的行
40
- * @param {string} stream - string - 要修改的 SDP 字符串
41
- * @returns 正在返回流。
42
- */
43
- static clearInactiveOrRecvonly(stream: string): string;
44
- /**
45
- * 它采用 SDP 标头和音频和视频流并将它们连接到一个字符串中
46
- * @returns SDP 标头和音频和视频流的字符串。
47
- */
48
- abstract stringify(): string;
49
- /**
50
- * 它将 SDP 标头中的 `a=group` 行替换为 `b=AS` 和 `b=TIAS` 行
51
- * @param {number} maxBitrate - 流的最大比特率。
52
- */
53
- setHeaderBitrate(maxBitrate: number): void;
54
- /**
55
- * 它获取音频流并将它们映射到一个新数组,其中每个项目都是调用 setAudioItemBitrate 函数的结果
56
- * @param {IRCTrackBitrate} bitrate - 以 kbps 为单位的比特率。
57
- */
58
- setAudiosBitrate(bitrate: IRCTrackBitrate): ASdpBuilder;
59
- /**
60
- * 它设置特定 MID 的音频比特率。
61
- * @param {IRCTrackBitrate} bitrate - 音频流的比特率,以 kbps 为单位。
62
- * @param {string} streamId - 音频流的媒体流 ID。
63
- */
64
- setAudioBitrateWithStreamId(bitrate: IRCTrackBitrate, streamId: string): ASdpBuilder;
65
- /**
66
- * 它设置特定 MID 的音频比特率。
67
- * @param {IRCTrackBitrate} bitrate - 音频流的比特率,以 kbps 为单位。
68
- * @param {string} mid - 音频流的媒体流 ID。
69
- */
70
- setAudioBitrateWithMid(bitrate: IRCTrackBitrate, mid: string): ASdpBuilder;
71
- /**
72
- * 它接受一个 SDP 音频块和一个比特率,并返回比特率设置为给定值的 SDP 音频块
73
- * @param {string} sdpAudioBlock - SDP 的音频块。
74
- * @param {IRCTrackBitrate} bitrate - 以 kbps 为单位的比特率。
75
- * @returns 正在返回 sdpAudioBlock 并将比特率设置为传入的比特率。
76
- */
77
- private setAudioItemBitrate;
78
- /**
79
- * 如果 SDP 的音频块没有 b=AS: 行,则添加一个
80
- * @param {string} sdpAudioBlock - SDP 的音频块。
81
- * @param {IRCTrackBitrate} bitrate - IRCTrack比特率
82
- * @returns 正在返回 sdpAudioBlock。
83
- */
84
- private addAudioBlineAS;
85
- /**
86
- * 对视频元素设置 SDP 相关信息
87
- * 针对 SDP 中所有的 video 元素添加码率设置
88
- * @param bitrate
89
- */
90
- setVideosBitrate(bitrate: IRCTrackBitrate): ASdpBuilder;
91
- /**
92
- * 它设置特定中间的视频比特率, 针对 SDP 中给定 mid 的 video 元素添加码率设置。
93
- * @param {IRCTrackBitrate} bitrate - 您要设置的比特率。
94
- * @param {string} streamId - 媒体流 ID。
95
- */
96
- setVideoBitrateWithStreamId(bitrate: IRCTrackBitrate, streamId: string): ASdpBuilder;
97
- /**
98
- * 它设置特定中间的视频比特率, 针对 SDP 中给定 mid 的 video 元素添加码率设置。
99
- * @param {IRCTrackBitrate} bitrate - 您要设置的比特率。
100
- * @param {string} streamId - 媒体流 ID。
101
- */
102
- setVideoBitrateWithMid(bitrate: IRCTrackBitrate, mid: string): ASdpBuilder;
103
- /**
104
- * 它设置视频项目的比特率。
105
- * @param {string} sdpVideoBlock - SDP 的视频块。
106
- * @param {IRCTrackBitrate} bitrate - 包含最小、最大和起始比特率值的比特率对象。
107
- * @returns 正在返回 sdpVideoBlock。
108
- */
109
- private setVideoItemBitrate;
110
- /**
111
- * 如果视频块没有 b=AS: 行,则添加一个
112
- * @param {string} sdpVideoBlock - SDP 的视频块。
113
- * @param {IRCTrackBitrate} bitrate - IRCTrack比特率
114
- * @returns 正在返回 sdpVideoBlock。
115
- */
116
- private addVideoBlineAS;
117
- clearnSsrcWithMid(mid: string, direction: RtpTransceiverDirection): ASdpBuilder;
118
- private clearSSRC;
119
- }
120
- //# sourceMappingURL=ASdpBuilder.d.ts.map
@@ -1,53 +0,0 @@
1
- import { RCStreamType } from '../../enums/inner/RCStreamType';
2
- import { RCRTCCode } from '../../enums/RCRTCCode';
3
- import { RCLocalTrack } from '../../tracks/RCLocalTrack';
4
- import { RCRemoteTrack } from '../../tracks/RCRemoteTrack';
5
- import IStatParser from '../stat-parser/IStatParser';
6
- export declare type ISdpSemantics = 'plan-b' | 'unified-plan';
7
- export declare enum SdpSemantics {
8
- PLANB = "plan-b",
9
- UNIFIEDPLAN = "unified-plan"
10
- }
11
- export declare enum RtpTransceiverDirection {
12
- SENDONLY = "sendonly",
13
- RECVONLY = "recvonly",
14
- INACTIVE = "inactive"
15
- }
16
- export interface IOfferInfo {
17
- type: 'offer';
18
- sdp: string;
19
- semantics: ISdpSemantics;
20
- }
21
- export declare type OutboundVideoInfo = {
22
- trackId: string;
23
- simulcast: RCStreamType;
24
- resolution: string;
25
- };
26
- export declare abstract class ASdpStrategy {
27
- protected _peer: RTCPeerConnection;
28
- private static _sdpSemantics;
29
- /**
30
- * 设置指定的 SDP 协议版本
31
- * @param sdpSemantics 优先版本
32
- */
33
- static setSdpSemantics(sdpSemantics: ISdpSemantics): void;
34
- /**
35
- * 获取使用的 SDP 协议版本
36
- */
37
- static getSdpSemantics(): ISdpSemantics;
38
- protected _outboundStreams: {
39
- [msid: string]: MediaStream;
40
- };
41
- constructor(_peer: RTCPeerConnection);
42
- getOutboundVideoInfo(): OutboundVideoInfo[];
43
- setRemoteAnswer(sdp: string): Promise<RCRTCCode>;
44
- abstract updateRecvTransceiverMap(trackId: string, transceiver: RTCRtpTransceiver): void;
45
- abstract setBitrate(max: number, min: number, start?: number): void;
46
- abstract addLocalTrack(track: RCLocalTrack): void;
47
- abstract removeLocalTrack(track: RCLocalTrack): void;
48
- abstract updateSubRemoteTracks(remoteTracks: RCRemoteTrack[]): void;
49
- abstract createOffer(iceRestart: boolean): Promise<IOfferInfo>;
50
- getStatParsr(rtcPeerConn: RTCPeerConnection, sdpSemantics: string, currentUserId: string): IStatParser | null;
51
- protected resetSdp(sdp: string): string;
52
- }
53
- //# sourceMappingURL=ASdpStrategy.d.ts.map
@@ -1,20 +0,0 @@
1
- import { IRCTrackBitrate } from '../../interfaces';
2
- import ASdpBuilder from './ASdpBuilder';
3
- export default class PlanBSdpBuilder extends ASdpBuilder {
4
- readonly SDP: string;
5
- constructor(SDP: string);
6
- /**
7
- * 它采用 SDP 标头和音频和视频流并将它们连接到一个字符串中
8
- * @returns SDP 标头和音频和视频流的字符串。
9
- */
10
- stringify(): string;
11
- /**
12
- * @overwrite 因为 Plan-b 设置是针对整个 m=audio ,所以不需要单独设置
13
- */
14
- setAudioBitrateWithStreamId(bitrate: IRCTrackBitrate, streamId: string): ASdpBuilder;
15
- /**
16
- * @overwrite 因为 Plan-b 设置是针对整个 m=video ,所以不需要单独设置
17
- */
18
- setVideoBitrateWithStreamId(bitrate: IRCTrackBitrate, streamId: string): ASdpBuilder;
19
- }
20
- //# sourceMappingURL=PlanBSdpBuilder.d.ts.map
@@ -1,26 +0,0 @@
1
- import { RCRTCCode } from '../../enums/RCRTCCode';
2
- import { RCLocalTrack } from '../../tracks/RCLocalTrack';
3
- import { RCRemoteTrack } from '../../tracks/RCRemoteTrack';
4
- import { IOfferInfo, ASdpStrategy } from './ASdpStrategy';
5
- export declare class PlanBStrategy extends ASdpStrategy {
6
- private senders;
7
- private _maxBitrate?;
8
- private _minBitrate?;
9
- private _startBitrate?;
10
- private _localTracks;
11
- addLocalTrack(track: RCLocalTrack): void;
12
- removeLocalTrack(track: RCLocalTrack): void;
13
- updateSubRemoteTracks(remoteTracks: RCRemoteTrack[]): void;
14
- updateRecvTransceiverMap(trackId: string, transceiver: RTCRtpTransceiver): void;
15
- /**
16
- * 指定上行码率范围
17
- * @param maxBitrate
18
- * @param minBitrate
19
- * @param startBitrate
20
- */
21
- setBitrate(maxBitrate: number, minBitrate: number, startBitrate?: number): void;
22
- createOffer(iceRestart: boolean): Promise<IOfferInfo>;
23
- setRemoteAnswer(sdp: string): Promise<RCRTCCode>;
24
- protected resetSdp(sdp: string): string;
25
- }
26
- //# sourceMappingURL=PlanBStrategy.d.ts.map
@@ -1,60 +0,0 @@
1
- interface ssrcMedia {
2
- ssrc: number;
3
- attribute?: string;
4
- value?: string;
5
- }
6
- interface Msid {
7
- stream: string;
8
- track: string;
9
- }
10
- interface mline {
11
- kind: string;
12
- port: number;
13
- protocol: string;
14
- fmt: string;
15
- }
16
- export default class SDPUtils {
17
- static splitSections(blob: string): string[];
18
- /**
19
- * 它需要一个 SDP 文本块并返回一个仅包含媒体部分的 SDP 文本数组
20
- * @param {string} blob - 您要解析的 SDP 字符串。
21
- * @returns 字符串数组。
22
- */
23
- static getMediaSections(blob: string): string[];
24
- static parseExtmap(line: string): {
25
- id: number;
26
- direction: string;
27
- uri: string;
28
- };
29
- static splitLines(blob: string): string[];
30
- /**
31
- * 它接受一个媒体部分并返回一个对象,其中包含媒体部分的种类、端口、协议和格式
32
- * @param {string} mediaSection - SDP的媒体部分。
33
- * @returns 具有以下属性的对象:
34
- * kind:媒体的类型(音频、视频等)
35
- * 端口:端口号
36
- * 协议:使用的协议
37
- * fmt:媒体的格式
38
- */
39
- static parseMLine(mediaSection: string): mline;
40
- static matchPrefix(blob: string, prefix: string): string[];
41
- /**
42
- * 它从 SDP 媒体部分解析 msid 属性
43
- * @param {string} mediaSection - SDP的媒体部分。
44
- * @returns 具有两个属性的对象:流和轨道。
45
- */
46
- static parseMsid(mediaSection: string): Msid;
47
- /**
48
- * 它接受一个字符串并返回一个对象
49
- * @param {string} line - 我们正在解析的 SDP 行。
50
- */
51
- static parseSsrcMedia(line: string): ssrcMedia;
52
- /**
53
- * 它从 SDP 的媒体部分返回中间值
54
- * @param {string} mediaSection - SDP的媒体部分。
55
- * @returns 媒体部分的中间。
56
- */
57
- static getMid(mediaSection: string): string | undefined;
58
- }
59
- export {};
60
- //# sourceMappingURL=SDPUtils.d.ts.map
@@ -1,11 +0,0 @@
1
- import ASdpBuilder from './ASdpBuilder';
2
- export default class UnifiedPlanSdpBuilder extends ASdpBuilder {
3
- readonly SDP: string;
4
- constructor(SDP: string);
5
- /**
6
- * 它采用 SDP 标头和音频和视频流并将它们连接到一个字符串中
7
- * @returns SDP 标头和音频和视频流的字符串。
8
- */
9
- stringify(): string;
10
- }
11
- //# sourceMappingURL=UnifiedPlanSdpBuilder.d.ts.map
@@ -1,25 +0,0 @@
1
- import { RCRTCCode } from '../../enums/RCRTCCode';
2
- import { RCLocalTrack } from '../../tracks/RCLocalTrack';
3
- import { RCRemoteTrack } from '../../tracks/RCRemoteTrack';
4
- import { ASdpStrategy, IOfferInfo } from './ASdpStrategy';
5
- export declare class UnifiedPlanStrategy extends ASdpStrategy {
6
- private _sendTransceiver;
7
- setBitrate(max: number, min: number, start?: number): void;
8
- private _localTracks;
9
- addLocalTrack(track: RCLocalTrack): void;
10
- removeLocalTrack(track: RCLocalTrack): void;
11
- private _recvAudio;
12
- private _recvVideo;
13
- private _recvTransceiver;
14
- private _subedTracks;
15
- updateRecvTransceiverMap(trackId: string, transceiver: RTCRtpTransceiver): void;
16
- updateSubRemoteTracks(tracks: RCRemoteTrack[]): void;
17
- protected midMsid: {
18
- [key: string]: string;
19
- };
20
- createOffer(iceRestart: boolean): Promise<IOfferInfo>;
21
- setRemoteAnswer(sdp: string): Promise<RCRTCCode>;
22
- protected resetOfferSdp(sdp: string): string;
23
- protected resetAnswerSdp(sdp: string): string;
24
- }
25
- //# sourceMappingURL=UnifiedPlanStrategy.d.ts.map