@lng2004/node-datachannel 0.31.0-20251228
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/.clang-format +17 -0
- package/.editorconfig +12 -0
- package/.eslintignore +8 -0
- package/.eslintrc.json +27 -0
- package/.gitmodules +3 -0
- package/.prettierignore +7 -0
- package/.prettierrc +13 -0
- package/API.md +247 -0
- package/BULDING.md +33 -0
- package/CMakeLists.txt +134 -0
- package/LICENSE +373 -0
- package/README.md +130 -0
- package/dist/cjs/index.cjs +11 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/lib/datachannel-stream.cjs +101 -0
- package/dist/cjs/lib/datachannel-stream.cjs.map +1 -0
- package/dist/cjs/lib/index.cjs +88 -0
- package/dist/cjs/lib/index.cjs.map +1 -0
- package/dist/cjs/lib/node-datachannel.cjs +8 -0
- package/dist/cjs/lib/node-datachannel.cjs.map +1 -0
- package/dist/cjs/lib/websocket-server.cjs +45 -0
- package/dist/cjs/lib/websocket-server.cjs.map +1 -0
- package/dist/cjs/lib/websocket.cjs +8 -0
- package/dist/cjs/lib/websocket.cjs.map +1 -0
- package/dist/cjs/polyfill/Events.cjs +86 -0
- package/dist/cjs/polyfill/Events.cjs.map +1 -0
- package/dist/cjs/polyfill/Exception.cjs +34 -0
- package/dist/cjs/polyfill/Exception.cjs.map +1 -0
- package/dist/cjs/polyfill/RTCCertificate.cjs +34 -0
- package/dist/cjs/polyfill/RTCCertificate.cjs.map +1 -0
- package/dist/cjs/polyfill/RTCDataChannel.cjs +214 -0
- package/dist/cjs/polyfill/RTCDataChannel.cjs.map +1 -0
- package/dist/cjs/polyfill/RTCDtlsTransport.cjs +53 -0
- package/dist/cjs/polyfill/RTCDtlsTransport.cjs.map +1 -0
- package/dist/cjs/polyfill/RTCError.cjs +83 -0
- package/dist/cjs/polyfill/RTCError.cjs.map +1 -0
- package/dist/cjs/polyfill/RTCIceCandidate.cjs +132 -0
- package/dist/cjs/polyfill/RTCIceCandidate.cjs.map +1 -0
- package/dist/cjs/polyfill/RTCIceTransport.cjs +94 -0
- package/dist/cjs/polyfill/RTCIceTransport.cjs.map +1 -0
- package/dist/cjs/polyfill/RTCPeerConnection.cjs +434 -0
- package/dist/cjs/polyfill/RTCPeerConnection.cjs.map +1 -0
- package/dist/cjs/polyfill/RTCSctpTransport.cjs +59 -0
- package/dist/cjs/polyfill/RTCSctpTransport.cjs.map +1 -0
- package/dist/cjs/polyfill/RTCSessionDescription.cjs +45 -0
- package/dist/cjs/polyfill/RTCSessionDescription.cjs.map +1 -0
- package/dist/cjs/polyfill/index.cjs +42 -0
- package/dist/cjs/polyfill/index.cjs.map +1 -0
- package/dist/esm/index.mjs +8 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/lib/datachannel-stream.mjs +78 -0
- package/dist/esm/lib/datachannel-stream.mjs.map +1 -0
- package/dist/esm/lib/index.mjs +62 -0
- package/dist/esm/lib/index.mjs.map +1 -0
- package/dist/esm/lib/node-datachannel.mjs +12 -0
- package/dist/esm/lib/node-datachannel.mjs.map +1 -0
- package/dist/esm/lib/websocket-server.mjs +43 -0
- package/dist/esm/lib/websocket-server.mjs.map +1 -0
- package/dist/esm/lib/websocket.mjs +6 -0
- package/dist/esm/lib/websocket.mjs.map +1 -0
- package/dist/esm/polyfill/Events.mjs +82 -0
- package/dist/esm/polyfill/Events.mjs.map +1 -0
- package/dist/esm/polyfill/Exception.mjs +28 -0
- package/dist/esm/polyfill/Exception.mjs.map +1 -0
- package/dist/esm/polyfill/RTCCertificate.mjs +30 -0
- package/dist/esm/polyfill/RTCCertificate.mjs.map +1 -0
- package/dist/esm/polyfill/RTCDataChannel.mjs +210 -0
- package/dist/esm/polyfill/RTCDataChannel.mjs.map +1 -0
- package/dist/esm/polyfill/RTCDtlsTransport.mjs +49 -0
- package/dist/esm/polyfill/RTCDtlsTransport.mjs.map +1 -0
- package/dist/esm/polyfill/RTCError.mjs +79 -0
- package/dist/esm/polyfill/RTCError.mjs.map +1 -0
- package/dist/esm/polyfill/RTCIceCandidate.mjs +128 -0
- package/dist/esm/polyfill/RTCIceCandidate.mjs.map +1 -0
- package/dist/esm/polyfill/RTCIceTransport.mjs +89 -0
- package/dist/esm/polyfill/RTCIceTransport.mjs.map +1 -0
- package/dist/esm/polyfill/RTCPeerConnection.mjs +430 -0
- package/dist/esm/polyfill/RTCPeerConnection.mjs.map +1 -0
- package/dist/esm/polyfill/RTCSctpTransport.mjs +55 -0
- package/dist/esm/polyfill/RTCSctpTransport.mjs.map +1 -0
- package/dist/esm/polyfill/RTCSessionDescription.mjs +41 -0
- package/dist/esm/polyfill/RTCSessionDescription.mjs.map +1 -0
- package/dist/esm/polyfill/index.mjs +27 -0
- package/dist/esm/polyfill/index.mjs.map +1 -0
- package/dist/types/lib/datachannel-stream.d.ts +24 -0
- package/dist/types/lib/index.d.ts +235 -0
- package/dist/types/lib/types.d.ts +118 -0
- package/dist/types/lib/websocket-server.d.ts +13 -0
- package/dist/types/lib/websocket.d.ts +25 -0
- package/dist/types/polyfill/Events.d.ts +15 -0
- package/dist/types/polyfill/RTCCertificate.d.ts +9 -0
- package/dist/types/polyfill/RTCDataChannel.d.ts +29 -0
- package/dist/types/polyfill/RTCDtlsTransport.d.ts +15 -0
- package/dist/types/polyfill/RTCError.d.ts +17 -0
- package/dist/types/polyfill/RTCIceCandidate.d.ts +21 -0
- package/dist/types/polyfill/RTCIceTransport.d.ts +30 -0
- package/dist/types/polyfill/RTCPeerConnection.d.ts +64 -0
- package/dist/types/polyfill/RTCSctpTransport.d.ts +15 -0
- package/dist/types/polyfill/RTCSessionDescription.d.ts +10 -0
- package/dist/types/polyfill/index.d.ts +26 -0
- package/jest.config.ts +14 -0
- package/package.json +121 -0
- package/rollup.config.mjs +72 -0
- package/src/cpp/data-channel-wrapper.cpp +530 -0
- package/src/cpp/data-channel-wrapper.h +63 -0
- package/src/cpp/ice-udp-mux-listener-wrapper.cpp +157 -0
- package/src/cpp/ice-udp-mux-listener-wrapper.h +43 -0
- package/src/cpp/main.cpp +58 -0
- package/src/cpp/media-audio-wrapper.cpp +457 -0
- package/src/cpp/media-audio-wrapper.h +52 -0
- package/src/cpp/media-av1packetization.cpp +24 -0
- package/src/cpp/media-av1packetization.h +11 -0
- package/src/cpp/media-av1rtppacketizer-wrapper.cpp +126 -0
- package/src/cpp/media-av1rtppacketizer-wrapper.h +29 -0
- package/src/cpp/media-direction.cpp +43 -0
- package/src/cpp/media-direction.h +10 -0
- package/src/cpp/media-h264rtppacketizer-wrapper.cpp +126 -0
- package/src/cpp/media-h264rtppacketizer-wrapper.h +30 -0
- package/src/cpp/media-h265rtppacketizer-wrapper.cpp +126 -0
- package/src/cpp/media-h265rtppacketizer-wrapper.h +30 -0
- package/src/cpp/media-h26xseparator.cpp +32 -0
- package/src/cpp/media-h26xseparator.h +11 -0
- package/src/cpp/media-mediahandler-helper.cpp +31 -0
- package/src/cpp/media-mediahandler-helper.h +11 -0
- package/src/cpp/media-pacinghandler-wrapper.cpp +79 -0
- package/src/cpp/media-pacinghandler-wrapper.h +28 -0
- package/src/cpp/media-rtcpnackresponder-wrapper.cpp +68 -0
- package/src/cpp/media-rtcpnackresponder-wrapper.h +28 -0
- package/src/cpp/media-rtcpreceivingsession-wrapper.cpp +57 -0
- package/src/cpp/media-rtcpreceivingsession-wrapper.h +28 -0
- package/src/cpp/media-rtcpsrreporter-wrapper.cpp +93 -0
- package/src/cpp/media-rtcpsrreporter-wrapper.h +30 -0
- package/src/cpp/media-rtppacketizationconfig-wrapper.cpp +167 -0
- package/src/cpp/media-rtppacketizationconfig-wrapper.h +35 -0
- package/src/cpp/media-rtppacketizer-wrapper.cpp +95 -0
- package/src/cpp/media-rtppacketizer-wrapper.h +30 -0
- package/src/cpp/media-track-wrapper.cpp +458 -0
- package/src/cpp/media-track-wrapper.h +61 -0
- package/src/cpp/media-video-wrapper.cpp +526 -0
- package/src/cpp/media-video-wrapper.h +56 -0
- package/src/cpp/peer-connection-wrapper.cpp +1298 -0
- package/src/cpp/peer-connection-wrapper.h +89 -0
- package/src/cpp/rtc-wrapper.cpp +205 -0
- package/src/cpp/rtc-wrapper.h +24 -0
- package/src/cpp/thread-safe-callback.cpp +57 -0
- package/src/cpp/thread-safe-callback.h +47 -0
- package/src/cpp/web-socket-server-wrapper.cpp +275 -0
- package/src/cpp/web-socket-server-wrapper.h +41 -0
- package/src/cpp/web-socket-wrapper.cpp +796 -0
- package/src/cpp/web-socket-wrapper.h +63 -0
- package/src/index.ts +9 -0
- package/src/lib/datachannel-stream.ts +100 -0
- package/src/lib/index.ts +283 -0
- package/src/lib/node-datachannel.ts +3 -0
- package/src/lib/types.ts +168 -0
- package/src/lib/websocket-server.ts +37 -0
- package/src/lib/websocket.ts +26 -0
- package/src/polyfill/Events.ts +82 -0
- package/src/polyfill/Exception.ts +37 -0
- package/src/polyfill/README.md +41 -0
- package/src/polyfill/RTCCertificate.ts +21 -0
- package/src/polyfill/RTCDataChannel.ts +225 -0
- package/src/polyfill/RTCDtlsTransport.ts +46 -0
- package/src/polyfill/RTCError.ts +78 -0
- package/src/polyfill/RTCIceCandidate.ts +128 -0
- package/src/polyfill/RTCIceTransport.ts +90 -0
- package/src/polyfill/RTCPeerConnection.ts +527 -0
- package/src/polyfill/RTCSctpTransport.ts +51 -0
- package/src/polyfill/RTCSessionDescription.ts +41 -0
- package/src/polyfill/index.ts +38 -0
- package/tsconfig.json +21 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as stream from 'stream';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Turns a node-datachannel DataChannel into a real Node.js stream, complete with buffering,
|
|
5
|
+
* backpressure (up to a point - if the buffer fills up, messages are dropped), and
|
|
6
|
+
* support for piping data elsewhere.
|
|
7
|
+
*
|
|
8
|
+
* Read & written data may be either UTF-8 strings or Buffers - this difference exists at
|
|
9
|
+
* the protocol level, and is preserved here throughout.
|
|
10
|
+
*/
|
|
11
|
+
declare class DataChannelStream extends stream.Duplex {
|
|
12
|
+
private _rawChannel;
|
|
13
|
+
private _readActive;
|
|
14
|
+
constructor(rawChannel: any, streamOptions?: Omit<stream.DuplexOptions, 'objectMode'>);
|
|
15
|
+
_read(): void;
|
|
16
|
+
_write(chunk: any, _encoding: any, callback: any): void;
|
|
17
|
+
_final(callback: any): void;
|
|
18
|
+
_destroy(maybeErr: any, callback: any): void;
|
|
19
|
+
get label(): string;
|
|
20
|
+
get id(): number;
|
|
21
|
+
get protocol(): string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export { DataChannelStream as default };
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { LogLevel, SctpSettings, Direction, Channel, DescriptionType, LocalDescriptionInit, CertificateFingerprint, DataChannelInitConfig, RTCPeerConnectionState, RTCIceConnectionState, RTCSignalingState, RTCIceGatheringState, SelectedCandidateInfo, RtcConfig, IceUdpMuxRequest, NalUnitSeparator, ObuPacketization, WebSocketServerConfiguration } from './types.js';
|
|
2
|
+
export { IceServer, ProxyServer, ProxyServerType, RTCIceGathererState, RTCIceTransportState, RTCSdpType, RelayType, TransportPolicy } from './types.js';
|
|
3
|
+
import DataChannelStream$1 from './datachannel-stream.js';
|
|
4
|
+
import { WebSocketServer } from './websocket-server.js';
|
|
5
|
+
import { WebSocket } from './websocket.js';
|
|
6
|
+
|
|
7
|
+
declare function preload(): void;
|
|
8
|
+
declare function initLogger(level: LogLevel): void;
|
|
9
|
+
declare function cleanup(): void;
|
|
10
|
+
declare function setSctpSettings(settings: SctpSettings): void;
|
|
11
|
+
declare function getLibraryVersion(): string;
|
|
12
|
+
interface Audio {
|
|
13
|
+
addAudioCodec(payloadType: number, codec: string, profile?: string): void;
|
|
14
|
+
addOpusCodec(payloadType: number, profile?: string): string;
|
|
15
|
+
direction(): Direction;
|
|
16
|
+
generateSdp(eol: string, addr: string, port: number): string;
|
|
17
|
+
mid(): string;
|
|
18
|
+
setDirection(dir: Direction): void;
|
|
19
|
+
description(): string;
|
|
20
|
+
removeFormat(fmt: string): void;
|
|
21
|
+
addSSRC(ssrc: number, name?: string, msid?: string, trackID?: string): void;
|
|
22
|
+
removeSSRC(ssrc: number): void;
|
|
23
|
+
replaceSSRC(oldSsrc: number, ssrc: number, name?: string, msid?: string, trackID?: string): void;
|
|
24
|
+
hasSSRC(ssrc: number): boolean;
|
|
25
|
+
getSSRCs(): number[];
|
|
26
|
+
getCNameForSsrc(ssrc: number): string;
|
|
27
|
+
setBitrate(bitRate: number): void;
|
|
28
|
+
getBitrate(): number;
|
|
29
|
+
hasPayloadType(payloadType: number): boolean;
|
|
30
|
+
addRTXCodec(payloadType: number, originalPayloadType: number, clockRate: number): void;
|
|
31
|
+
addRTPMap(): void;
|
|
32
|
+
parseSdpLine(line: string): void;
|
|
33
|
+
}
|
|
34
|
+
declare const Audio: {
|
|
35
|
+
new (mid: string, dir: Direction): Audio;
|
|
36
|
+
};
|
|
37
|
+
interface Video {
|
|
38
|
+
addVideoCodec(payloadType: number, codec: string, profile?: string): void;
|
|
39
|
+
addH264Codec(payloadType: number, profile?: string): void;
|
|
40
|
+
addH265Codec(payloadType: number): void;
|
|
41
|
+
addVP8Codec(payloadType: number): void;
|
|
42
|
+
addVP9Codec(payloadType: number): void;
|
|
43
|
+
addAV1Codec(payloadType: number): void;
|
|
44
|
+
direction(): Direction;
|
|
45
|
+
generateSdp(eol: string, addr: string, port: number): string;
|
|
46
|
+
mid(): string;
|
|
47
|
+
setDirection(dir: Direction): void;
|
|
48
|
+
description(): string;
|
|
49
|
+
removeFormat(fmt: string): void;
|
|
50
|
+
addSSRC(ssrc: number, name?: string, msid?: string, trackID?: string): void;
|
|
51
|
+
removeSSRC(ssrc: number): void;
|
|
52
|
+
replaceSSRC(oldSsrc: number, ssrc: number, name?: string, msid?: string, trackID?: string): void;
|
|
53
|
+
hasSSRC(ssrc: number): boolean;
|
|
54
|
+
getSSRCs(): number[];
|
|
55
|
+
getCNameForSsrc(ssrc: number): string;
|
|
56
|
+
setBitrate(bitRate: number): void;
|
|
57
|
+
getBitrate(): number;
|
|
58
|
+
hasPayloadType(payloadType: number): boolean;
|
|
59
|
+
addRTXCodec(payloadType: number, originalPayloadType: number, clockRate: number): void;
|
|
60
|
+
addRTPMap(): void;
|
|
61
|
+
parseSdpLine(line: string): void;
|
|
62
|
+
}
|
|
63
|
+
declare const Video: {
|
|
64
|
+
new (mid: string, dir: Direction): Video;
|
|
65
|
+
};
|
|
66
|
+
interface Track {
|
|
67
|
+
direction(): Direction;
|
|
68
|
+
mid(): string;
|
|
69
|
+
type(): string;
|
|
70
|
+
close(): void;
|
|
71
|
+
sendMessage(msg: string): boolean;
|
|
72
|
+
sendMessageBinary(buffer: Buffer): boolean;
|
|
73
|
+
isOpen(): boolean;
|
|
74
|
+
isClosed(): boolean;
|
|
75
|
+
bufferedAmount(): number;
|
|
76
|
+
maxMessageSize(): number;
|
|
77
|
+
requestBitrate(bitRate: number): boolean;
|
|
78
|
+
setBufferedAmountLowThreshold(newSize: number): void;
|
|
79
|
+
requestKeyframe(): boolean;
|
|
80
|
+
setMediaHandler(handler: MediaHandler): void;
|
|
81
|
+
onOpen(cb: () => void): void;
|
|
82
|
+
onClosed(cb: () => void): void;
|
|
83
|
+
onError(cb: (err: string) => void): void;
|
|
84
|
+
onMessage(cb: (msg: Buffer) => void): void;
|
|
85
|
+
}
|
|
86
|
+
declare const Track: {
|
|
87
|
+
new (): Track;
|
|
88
|
+
};
|
|
89
|
+
interface DataChannel extends Channel {
|
|
90
|
+
getLabel(): string;
|
|
91
|
+
getId(): number;
|
|
92
|
+
getProtocol(): string;
|
|
93
|
+
close(): void;
|
|
94
|
+
sendMessage(msg: string): boolean;
|
|
95
|
+
sendMessageBinary(buffer: Buffer | Uint8Array): boolean;
|
|
96
|
+
isOpen(): boolean;
|
|
97
|
+
bufferedAmount(): number;
|
|
98
|
+
maxMessageSize(): number;
|
|
99
|
+
setBufferedAmountLowThreshold(newSize: number): void;
|
|
100
|
+
onOpen(cb: () => void): void;
|
|
101
|
+
onClosed(cb: () => void): void;
|
|
102
|
+
onError(cb: (err: string) => void): void;
|
|
103
|
+
onBufferedAmountLow(cb: () => void): void;
|
|
104
|
+
onMessage(cb: (msg: string | Buffer | ArrayBuffer) => void): void;
|
|
105
|
+
}
|
|
106
|
+
declare const DataChannel: {};
|
|
107
|
+
interface PeerConnection {
|
|
108
|
+
close(): void;
|
|
109
|
+
setLocalDescription(type?: DescriptionType, init?: LocalDescriptionInit): void;
|
|
110
|
+
setRemoteDescription(sdp: string, type: DescriptionType): void;
|
|
111
|
+
localDescription(): {
|
|
112
|
+
type: DescriptionType;
|
|
113
|
+
sdp: string;
|
|
114
|
+
} | null;
|
|
115
|
+
remoteDescription(): {
|
|
116
|
+
type: DescriptionType;
|
|
117
|
+
sdp: string;
|
|
118
|
+
} | null;
|
|
119
|
+
remoteFingerprint(): CertificateFingerprint;
|
|
120
|
+
addRemoteCandidate(candidate: string, mid: string): void;
|
|
121
|
+
createDataChannel(label: string, config?: DataChannelInitConfig): DataChannel;
|
|
122
|
+
addTrack(media: Video | Audio): Track;
|
|
123
|
+
hasMedia(): boolean;
|
|
124
|
+
state(): RTCPeerConnectionState;
|
|
125
|
+
iceState(): RTCIceConnectionState;
|
|
126
|
+
signalingState(): RTCSignalingState;
|
|
127
|
+
gatheringState(): RTCIceGatheringState;
|
|
128
|
+
onLocalDescription(cb: (sdp: string, type: DescriptionType) => void): void;
|
|
129
|
+
onLocalCandidate(cb: (candidate: string, mid: string) => void): void;
|
|
130
|
+
onStateChange(cb: (state: string) => void): void;
|
|
131
|
+
onIceStateChange(cb: (state: string) => void): void;
|
|
132
|
+
onSignalingStateChange(cb: (state: string) => void): void;
|
|
133
|
+
onGatheringStateChange(cb: (state: string) => void): void;
|
|
134
|
+
onDataChannel(cb: (dc: DataChannel) => void): void;
|
|
135
|
+
onTrack(cb: (track: Track) => void): void;
|
|
136
|
+
bytesSent(): number;
|
|
137
|
+
bytesReceived(): number;
|
|
138
|
+
rtt(): number;
|
|
139
|
+
getSelectedCandidatePair(): {
|
|
140
|
+
local: SelectedCandidateInfo;
|
|
141
|
+
remote: SelectedCandidateInfo;
|
|
142
|
+
} | null;
|
|
143
|
+
maxDataChannelId(): number;
|
|
144
|
+
maxMessageSize(): number;
|
|
145
|
+
}
|
|
146
|
+
declare const PeerConnection: {
|
|
147
|
+
new (peerName: string, config: RtcConfig): PeerConnection;
|
|
148
|
+
};
|
|
149
|
+
interface IceUdpMuxListener {
|
|
150
|
+
address?: string;
|
|
151
|
+
port: number;
|
|
152
|
+
stop(): void;
|
|
153
|
+
onUnhandledStunRequest(cb: (req: IceUdpMuxRequest) => void): void;
|
|
154
|
+
}
|
|
155
|
+
declare const IceUdpMuxListener: {
|
|
156
|
+
new (port: number, address?: string): IceUdpMuxListener;
|
|
157
|
+
};
|
|
158
|
+
interface RtpPacketizationConfig {
|
|
159
|
+
playoutDelayId: number;
|
|
160
|
+
playoutDelayMin: number;
|
|
161
|
+
playoutDelayMax: number;
|
|
162
|
+
timestamp: number;
|
|
163
|
+
get clockRate(): number;
|
|
164
|
+
}
|
|
165
|
+
declare const RtpPacketizationConfig: {
|
|
166
|
+
new (ssrc: number, cname: string, payloadType: number, clockRate: number, videoOrientationId?: number): RtpPacketizationConfig;
|
|
167
|
+
};
|
|
168
|
+
interface MediaHandler {
|
|
169
|
+
addToChain(handler: MediaHandler): void;
|
|
170
|
+
}
|
|
171
|
+
interface RtcpReceivingSession extends MediaHandler {
|
|
172
|
+
}
|
|
173
|
+
declare const RtcpReceivingSession: {
|
|
174
|
+
new (): RtcpReceivingSession;
|
|
175
|
+
};
|
|
176
|
+
interface RtcpNackResponder extends MediaHandler {
|
|
177
|
+
}
|
|
178
|
+
declare const RtcpNackResponder: {
|
|
179
|
+
new (maxSize?: number): RtcpNackResponder;
|
|
180
|
+
};
|
|
181
|
+
interface RtcpSrReporter extends MediaHandler {
|
|
182
|
+
get rtpConfig(): RtpPacketizationConfig;
|
|
183
|
+
}
|
|
184
|
+
declare const RtcpSrReporter: {
|
|
185
|
+
new (rtpConfig: RtpPacketizationConfig): RtcpSrReporter;
|
|
186
|
+
};
|
|
187
|
+
interface RtpPacketizer extends MediaHandler {
|
|
188
|
+
get rtpConfig(): RtpPacketizationConfig;
|
|
189
|
+
}
|
|
190
|
+
declare const RtpPacketizer: {
|
|
191
|
+
new (rtpConfig: RtpPacketizationConfig): RtpPacketizer;
|
|
192
|
+
};
|
|
193
|
+
interface H264RtpPacketizer extends RtpPacketizer {
|
|
194
|
+
}
|
|
195
|
+
declare const H264RtpPacketizer: {
|
|
196
|
+
new (separator: NalUnitSeparator, rtpConfig: RtpPacketizationConfig, maxFragmentSize?: number): H264RtpPacketizer;
|
|
197
|
+
};
|
|
198
|
+
interface H265RtpPacketizer extends RtpPacketizer {
|
|
199
|
+
}
|
|
200
|
+
declare const H265RtpPacketizer: {
|
|
201
|
+
new (separator: NalUnitSeparator, rtpConfig: RtpPacketizationConfig, maxFragmentSize?: number): H265RtpPacketizer;
|
|
202
|
+
};
|
|
203
|
+
interface AV1RtpPacketizer extends RtpPacketizer {
|
|
204
|
+
}
|
|
205
|
+
declare const AV1RtpPacketizer: {
|
|
206
|
+
new (packetization: ObuPacketization, rtpConfig: RtpPacketizationConfig, maxFragmentSize?: number): AV1RtpPacketizer;
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
declare const DataChannelStream: typeof DataChannelStream$1;
|
|
210
|
+
declare const _default: {
|
|
211
|
+
initLogger: typeof initLogger;
|
|
212
|
+
cleanup: typeof cleanup;
|
|
213
|
+
preload: typeof preload;
|
|
214
|
+
setSctpSettings: typeof setSctpSettings;
|
|
215
|
+
getLibraryVersion: typeof getLibraryVersion;
|
|
216
|
+
RtcpReceivingSession: new () => RtcpReceivingSession;
|
|
217
|
+
RtcpNackResponder: new (maxSize?: number) => RtcpNackResponder;
|
|
218
|
+
RtcpSrReporter: new (rtpConfig: RtpPacketizationConfig) => RtcpSrReporter;
|
|
219
|
+
RtpPacketizationConfig: new (ssrc: number, cname: string, payloadType: number, clockRate: number, videoOrientationId?: number) => RtpPacketizationConfig;
|
|
220
|
+
RtpPacketizer: new (rtpConfig: RtpPacketizationConfig) => RtpPacketizer;
|
|
221
|
+
H264RtpPacketizer: new (separator: NalUnitSeparator, rtpConfig: RtpPacketizationConfig, maxFragmentSize?: number) => H264RtpPacketizer;
|
|
222
|
+
H265RtpPacketizer: new (separator: NalUnitSeparator, rtpConfig: RtpPacketizationConfig, maxFragmentSize?: number) => H265RtpPacketizer;
|
|
223
|
+
AV1RtpPacketizer: new (packetization: ObuPacketization, rtpConfig: RtpPacketizationConfig, maxFragmentSize?: number) => AV1RtpPacketizer;
|
|
224
|
+
Track: new () => Track;
|
|
225
|
+
Video: new (mid: string, dir: Direction) => Video;
|
|
226
|
+
Audio: new (mid: string, dir: Direction) => Audio;
|
|
227
|
+
DataChannel: {};
|
|
228
|
+
PeerConnection: new (peerName: string, config: RtcConfig) => PeerConnection;
|
|
229
|
+
WebSocket: new (config?: WebSocketServerConfiguration) => WebSocket;
|
|
230
|
+
WebSocketServer: typeof WebSocketServer;
|
|
231
|
+
DataChannelStream: typeof DataChannelStream$1;
|
|
232
|
+
IceUdpMuxListener: new (port: number, address?: string) => IceUdpMuxListener;
|
|
233
|
+
};
|
|
234
|
+
|
|
235
|
+
export { AV1RtpPacketizer, Audio, CertificateFingerprint, Channel, DataChannel, DataChannelInitConfig, DataChannelStream, DescriptionType, Direction, H264RtpPacketizer, H265RtpPacketizer, IceUdpMuxListener, IceUdpMuxRequest, LocalDescriptionInit, LogLevel, type MediaHandler, NalUnitSeparator, ObuPacketization, PeerConnection, RTCIceConnectionState, RTCIceGatheringState, RTCPeerConnectionState, RTCSignalingState, RtcConfig, RtcpNackResponder, RtcpReceivingSession, RtcpSrReporter, RtpPacketizationConfig, RtpPacketizer, SctpSettings, SelectedCandidateInfo, Track, Video, WebSocket, WebSocketServer, WebSocketServerConfiguration, cleanup, _default as default, getLibraryVersion, initLogger, preload, setSctpSettings };
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
interface Channel {
|
|
2
|
+
close(): void;
|
|
3
|
+
sendMessage(msg: string): boolean;
|
|
4
|
+
sendMessageBinary(buffer: Uint8Array): boolean;
|
|
5
|
+
isOpen(): boolean;
|
|
6
|
+
bufferedAmount(): number;
|
|
7
|
+
maxMessageSize(): number;
|
|
8
|
+
setBufferedAmountLowThreshold(newSize: number): void;
|
|
9
|
+
onOpen(cb: () => void): void;
|
|
10
|
+
onClosed(cb: () => void): void;
|
|
11
|
+
onError(cb: (err: string) => void): void;
|
|
12
|
+
onBufferedAmountLow(cb: () => void): void;
|
|
13
|
+
onMessage(cb: (msg: string | Buffer | ArrayBuffer) => void): void;
|
|
14
|
+
}
|
|
15
|
+
interface WebSocketServerConfiguration {
|
|
16
|
+
port?: number;
|
|
17
|
+
enableTls?: boolean;
|
|
18
|
+
certificatePemFile?: string;
|
|
19
|
+
keyPemFile?: string;
|
|
20
|
+
keyPemPass?: string;
|
|
21
|
+
bindAddress?: string;
|
|
22
|
+
connectionTimeout?: number;
|
|
23
|
+
maxMessageSize?: number;
|
|
24
|
+
}
|
|
25
|
+
type LogLevel = 'Verbose' | 'Debug' | 'Info' | 'Warning' | 'Error' | 'Fatal';
|
|
26
|
+
interface SctpSettings {
|
|
27
|
+
recvBufferSize?: number;
|
|
28
|
+
sendBufferSize?: number;
|
|
29
|
+
maxChunksOnQueue?: number;
|
|
30
|
+
initialCongestionWindow?: number;
|
|
31
|
+
congestionControlModule?: number;
|
|
32
|
+
delayedSackTime?: number;
|
|
33
|
+
}
|
|
34
|
+
type ProxyServerType = 'Socks5' | 'Http';
|
|
35
|
+
interface ProxyServer {
|
|
36
|
+
type: ProxyServerType;
|
|
37
|
+
ip: string;
|
|
38
|
+
port: number;
|
|
39
|
+
username?: string;
|
|
40
|
+
password?: string;
|
|
41
|
+
}
|
|
42
|
+
type RelayType = 'TurnUdp' | 'TurnTcp' | 'TurnTls';
|
|
43
|
+
interface IceServer {
|
|
44
|
+
hostname: string;
|
|
45
|
+
port: number;
|
|
46
|
+
username?: string;
|
|
47
|
+
password?: string;
|
|
48
|
+
relayType?: RelayType;
|
|
49
|
+
}
|
|
50
|
+
type TransportPolicy = 'all' | 'relay';
|
|
51
|
+
interface RtcConfig {
|
|
52
|
+
iceServers: (string | IceServer)[];
|
|
53
|
+
proxyServer?: ProxyServer;
|
|
54
|
+
bindAddress?: string;
|
|
55
|
+
enableIceTcp?: boolean;
|
|
56
|
+
enableIceUdpMux?: boolean;
|
|
57
|
+
disableAutoNegotiation?: boolean;
|
|
58
|
+
forceMediaTransport?: boolean;
|
|
59
|
+
portRangeBegin?: number;
|
|
60
|
+
portRangeEnd?: number;
|
|
61
|
+
maxMessageSize?: number;
|
|
62
|
+
mtu?: number;
|
|
63
|
+
iceTransportPolicy?: TransportPolicy;
|
|
64
|
+
disableFingerprintVerification?: boolean;
|
|
65
|
+
disableAutoGathering?: boolean;
|
|
66
|
+
certificatePemFile?: string;
|
|
67
|
+
keyPemFile?: string;
|
|
68
|
+
keyPemPass?: string;
|
|
69
|
+
}
|
|
70
|
+
type DescriptionType = 'unspec' | 'offer' | 'answer' | 'pranswer' | 'rollback';
|
|
71
|
+
type RTCSdpType = 'answer' | 'offer' | 'pranswer' | 'rollback';
|
|
72
|
+
type RTCIceTransportState = 'checking' | 'closed' | 'completed' | 'connected' | 'disconnected' | 'failed' | 'new';
|
|
73
|
+
type RTCPeerConnectionState = 'closed' | 'connected' | 'connecting' | 'disconnected' | 'failed' | 'new';
|
|
74
|
+
type RTCIceConnectionState = 'checking' | 'closed' | 'completed' | 'connected' | 'disconnected' | 'failed' | 'new';
|
|
75
|
+
type RTCIceGathererState = 'complete' | 'gathering' | 'new';
|
|
76
|
+
type RTCIceGatheringState = 'complete' | 'gathering' | 'new';
|
|
77
|
+
type RTCSignalingState = 'closed' | 'have-local-offer' | 'have-local-pranswer' | 'have-remote-offer' | 'have-remote-pranswer' | 'stable';
|
|
78
|
+
interface LocalDescriptionInit {
|
|
79
|
+
iceUfrag?: string;
|
|
80
|
+
icePwd?: string;
|
|
81
|
+
}
|
|
82
|
+
interface DataChannelInitConfig {
|
|
83
|
+
protocol?: string;
|
|
84
|
+
negotiated?: boolean;
|
|
85
|
+
id?: number;
|
|
86
|
+
unordered?: boolean;
|
|
87
|
+
maxPacketLifeTime?: number;
|
|
88
|
+
maxRetransmits?: number;
|
|
89
|
+
}
|
|
90
|
+
interface CertificateFingerprint {
|
|
91
|
+
/**
|
|
92
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/RTCCertificate/getFingerprints#value
|
|
93
|
+
*/
|
|
94
|
+
value: string;
|
|
95
|
+
/**
|
|
96
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/RTCCertificate/getFingerprints#algorithm
|
|
97
|
+
*/
|
|
98
|
+
algorithm: 'sha-1' | 'sha-224' | 'sha-256' | 'sha-384' | 'sha-512' | 'md5' | 'md2';
|
|
99
|
+
}
|
|
100
|
+
interface SelectedCandidateInfo {
|
|
101
|
+
address: string;
|
|
102
|
+
port: number;
|
|
103
|
+
type: string;
|
|
104
|
+
transportType: string;
|
|
105
|
+
candidate: string;
|
|
106
|
+
mid: string;
|
|
107
|
+
priority: number;
|
|
108
|
+
}
|
|
109
|
+
type Direction = 'SendOnly' | 'RecvOnly' | 'SendRecv' | 'Inactive' | 'Unknown';
|
|
110
|
+
interface IceUdpMuxRequest {
|
|
111
|
+
ufrag: string;
|
|
112
|
+
host: string;
|
|
113
|
+
port: number;
|
|
114
|
+
}
|
|
115
|
+
type NalUnitSeparator = 'Length' | 'ShortStartSequence' | 'LongStartSequence' | 'StartSequence';
|
|
116
|
+
type ObuPacketization = 'Obu' | 'TemporalUnit';
|
|
117
|
+
|
|
118
|
+
export type { CertificateFingerprint, Channel, DataChannelInitConfig, DescriptionType, Direction, IceServer, IceUdpMuxRequest, LocalDescriptionInit, LogLevel, NalUnitSeparator, ObuPacketization, ProxyServer, ProxyServerType, RTCIceConnectionState, RTCIceGathererState, RTCIceGatheringState, RTCIceTransportState, RTCPeerConnectionState, RTCSdpType, RTCSignalingState, RelayType, RtcConfig, SctpSettings, SelectedCandidateInfo, TransportPolicy, WebSocketServerConfiguration };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
2
|
+
import { WebSocketServerConfiguration } from './types.js';
|
|
3
|
+
import { WebSocket } from './websocket.js';
|
|
4
|
+
|
|
5
|
+
declare class WebSocketServer extends EventEmitter {
|
|
6
|
+
#private;
|
|
7
|
+
constructor(options: WebSocketServerConfiguration);
|
|
8
|
+
port(): number;
|
|
9
|
+
stop(): void;
|
|
10
|
+
onClient(cb: (clientSocket: WebSocket) => void): void;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { WebSocketServer };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Channel, WebSocketServerConfiguration } from './types.js';
|
|
2
|
+
|
|
3
|
+
interface WebSocket extends Channel {
|
|
4
|
+
open(url: string): void;
|
|
5
|
+
forceClose(): void;
|
|
6
|
+
remoteAddress(): string | undefined;
|
|
7
|
+
path(): string | undefined;
|
|
8
|
+
close(): void;
|
|
9
|
+
sendMessage(msg: string): boolean;
|
|
10
|
+
sendMessageBinary(buffer: Uint8Array): boolean;
|
|
11
|
+
isOpen(): boolean;
|
|
12
|
+
bufferedAmount(): number;
|
|
13
|
+
maxMessageSize(): number;
|
|
14
|
+
setBufferedAmountLowThreshold(newSize: number): void;
|
|
15
|
+
onOpen(cb: () => void): void;
|
|
16
|
+
onClosed(cb: () => void): void;
|
|
17
|
+
onError(cb: (err: string) => void): void;
|
|
18
|
+
onBufferedAmountLow(cb: () => void): void;
|
|
19
|
+
onMessage(cb: (msg: string | Buffer) => void): void;
|
|
20
|
+
}
|
|
21
|
+
declare const WebSocket: {
|
|
22
|
+
new (config?: WebSocketServerConfiguration): WebSocket;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export { WebSocket };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import RTCDataChannel from './RTCDataChannel.js';
|
|
2
|
+
|
|
3
|
+
declare class RTCPeerConnectionIceEvent extends Event implements globalThis.RTCPeerConnectionIceEvent {
|
|
4
|
+
#private;
|
|
5
|
+
constructor(candidate: globalThis.RTCIceCandidate);
|
|
6
|
+
get candidate(): globalThis.RTCIceCandidate;
|
|
7
|
+
get url(): string;
|
|
8
|
+
}
|
|
9
|
+
declare class RTCDataChannelEvent extends Event implements globalThis.RTCDataChannelEvent {
|
|
10
|
+
#private;
|
|
11
|
+
constructor(type: string, eventInitDict: globalThis.RTCDataChannelEventInit);
|
|
12
|
+
get channel(): RTCDataChannel;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { RTCDataChannelEvent, RTCPeerConnectionIceEvent };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { DataChannel } from '../lib/index';
|
|
2
|
+
|
|
3
|
+
declare class RTCDataChannel extends EventTarget implements globalThis.RTCDataChannel {
|
|
4
|
+
#private;
|
|
5
|
+
onbufferedamountlow: globalThis.RTCDataChannel['onbufferedamountlow'];
|
|
6
|
+
onclose: globalThis.RTCDataChannel['onclose'];
|
|
7
|
+
onclosing: globalThis.RTCDataChannel['onclosing'];
|
|
8
|
+
onerror: globalThis.RTCDataChannel['onerror'];
|
|
9
|
+
onmessage: globalThis.RTCDataChannel['onmessage'];
|
|
10
|
+
onopen: globalThis.RTCDataChannel['onopen'];
|
|
11
|
+
constructor(dataChannel: DataChannel, opts?: globalThis.RTCDataChannelInit);
|
|
12
|
+
set binaryType(type: BinaryType);
|
|
13
|
+
get binaryType(): BinaryType;
|
|
14
|
+
get bufferedAmount(): number;
|
|
15
|
+
get bufferedAmountLowThreshold(): number;
|
|
16
|
+
set bufferedAmountLowThreshold(value: number);
|
|
17
|
+
get id(): number | null;
|
|
18
|
+
get label(): string;
|
|
19
|
+
get maxPacketLifeTime(): number | null;
|
|
20
|
+
get maxRetransmits(): number | null;
|
|
21
|
+
get negotiated(): boolean;
|
|
22
|
+
get ordered(): boolean;
|
|
23
|
+
get protocol(): string;
|
|
24
|
+
get readyState(): globalThis.RTCDataChannelState;
|
|
25
|
+
send(data: any): void;
|
|
26
|
+
close(): void;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export { RTCDataChannel as default };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import RTCPeerConnection from './RTCPeerConnection.js';
|
|
2
|
+
|
|
3
|
+
declare class RTCDtlsTransport extends EventTarget implements globalThis.RTCDtlsTransport {
|
|
4
|
+
#private;
|
|
5
|
+
onstatechange: globalThis.RTCDtlsTransport['onstatechange'];
|
|
6
|
+
onerror: globalThis.RTCDtlsTransport['onstatechange'];
|
|
7
|
+
constructor(init: {
|
|
8
|
+
pc: RTCPeerConnection;
|
|
9
|
+
});
|
|
10
|
+
get iceTransport(): globalThis.RTCIceTransport;
|
|
11
|
+
get state(): globalThis.RTCDtlsTransportState;
|
|
12
|
+
getRemoteCertificates(): ArrayBuffer[];
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { RTCDtlsTransport as default };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
declare class RTCError extends DOMException implements globalThis.RTCError {
|
|
2
|
+
#private;
|
|
3
|
+
constructor(init: globalThis.RTCErrorInit, message?: string);
|
|
4
|
+
get errorDetail(): globalThis.RTCErrorDetailType;
|
|
5
|
+
set errorDetail(_value: globalThis.RTCErrorDetailType);
|
|
6
|
+
get receivedAlert(): number | null;
|
|
7
|
+
set receivedAlert(_value: number | null);
|
|
8
|
+
get sctpCauseCode(): number | null;
|
|
9
|
+
set sctpCauseCode(_value: number | null);
|
|
10
|
+
get httpRequestStatusCode(): number | null;
|
|
11
|
+
get sdpLineNumber(): number | null;
|
|
12
|
+
set sdpLineNumber(_value: number | null);
|
|
13
|
+
get sentAlert(): number | null;
|
|
14
|
+
set sentAlert(_value: number | null);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { RTCError as default };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
declare class RTCIceCandidate implements globalThis.RTCIceCandidate {
|
|
2
|
+
#private;
|
|
3
|
+
constructor({ candidate, sdpMLineIndex, sdpMid, usernameFragment, }: globalThis.RTCIceCandidateInit);
|
|
4
|
+
get address(): string | null;
|
|
5
|
+
get candidate(): string;
|
|
6
|
+
get component(): globalThis.RTCIceComponent | null;
|
|
7
|
+
get foundation(): string | null;
|
|
8
|
+
get port(): number | null;
|
|
9
|
+
get priority(): number | null;
|
|
10
|
+
get protocol(): globalThis.RTCIceProtocol | null;
|
|
11
|
+
get relatedAddress(): string | null;
|
|
12
|
+
get relatedPort(): number | null;
|
|
13
|
+
get sdpMLineIndex(): number | null;
|
|
14
|
+
get sdpMid(): string | null;
|
|
15
|
+
get tcpType(): globalThis.RTCIceTcpCandidateType | null;
|
|
16
|
+
get type(): globalThis.RTCIceCandidateType | null;
|
|
17
|
+
get usernameFragment(): string | null;
|
|
18
|
+
toJSON(): globalThis.RTCIceCandidateInit;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export { RTCIceCandidate as default };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import RTCPeerConnection from './RTCPeerConnection.js';
|
|
2
|
+
|
|
3
|
+
declare class RTCIceTransport extends EventTarget implements globalThis.RTCIceTransport {
|
|
4
|
+
#private;
|
|
5
|
+
ongatheringstatechange: globalThis.RTCIceTransport['ongatheringstatechange'];
|
|
6
|
+
onselectedcandidatepairchange: globalThis.RTCIceTransport['onselectedcandidatepairchange'];
|
|
7
|
+
onstatechange: globalThis.RTCIceTransport['onstatechange'];
|
|
8
|
+
constructor(init: {
|
|
9
|
+
pc: RTCPeerConnection;
|
|
10
|
+
});
|
|
11
|
+
get component(): globalThis.RTCIceComponent;
|
|
12
|
+
get gatheringState(): globalThis.RTCIceGatheringState;
|
|
13
|
+
get role(): globalThis.RTCIceRole;
|
|
14
|
+
get state(): globalThis.RTCIceTransportState;
|
|
15
|
+
getLocalCandidates(): globalThis.RTCIceCandidate[];
|
|
16
|
+
getLocalParameters(): RTCIceParameters | null;
|
|
17
|
+
getRemoteCandidates(): globalThis.RTCIceCandidate[];
|
|
18
|
+
getRemoteParameters(): any;
|
|
19
|
+
getSelectedCandidatePair(): globalThis.RTCIceCandidatePair | null;
|
|
20
|
+
}
|
|
21
|
+
declare class RTCIceParameters implements globalThis.RTCIceParameters {
|
|
22
|
+
usernameFragment: string;
|
|
23
|
+
password: string;
|
|
24
|
+
constructor({ usernameFragment, password }: {
|
|
25
|
+
usernameFragment: any;
|
|
26
|
+
password?: string;
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export { RTCIceParameters, RTCIceTransport as default };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { SelectedCandidateInfo } from '../lib/types';
|
|
2
|
+
import { PeerConnection } from '../lib/index';
|
|
3
|
+
import RTCDataChannel from './RTCDataChannel.js';
|
|
4
|
+
import { RTCDataChannelEvent } from './Events.js';
|
|
5
|
+
import RTCCertificate from './RTCCertificate.js';
|
|
6
|
+
|
|
7
|
+
interface RTCConfiguration extends globalThis.RTCConfiguration {
|
|
8
|
+
peerIdentity?: string;
|
|
9
|
+
peerConnection?: PeerConnection;
|
|
10
|
+
}
|
|
11
|
+
declare class RTCPeerConnection extends EventTarget implements globalThis.RTCPeerConnection {
|
|
12
|
+
#private;
|
|
13
|
+
static generateCertificate(): Promise<RTCCertificate>;
|
|
14
|
+
onconnectionstatechange: globalThis.RTCPeerConnection['onconnectionstatechange'];
|
|
15
|
+
ondatachannel: ((this: globalThis.RTCPeerConnection, ev: RTCDataChannelEvent) => any) | null;
|
|
16
|
+
onicecandidate: globalThis.RTCPeerConnection['onicecandidate'];
|
|
17
|
+
onicecandidateerror: globalThis.RTCPeerConnection['onicecandidateerror'];
|
|
18
|
+
oniceconnectionstatechange: globalThis.RTCPeerConnection['oniceconnectionstatechange'];
|
|
19
|
+
onicegatheringstatechange: globalThis.RTCPeerConnection['onicegatheringstatechange'];
|
|
20
|
+
onnegotiationneeded: globalThis.RTCPeerConnection['onnegotiationneeded'];
|
|
21
|
+
onsignalingstatechange: globalThis.RTCPeerConnection['onsignalingstatechange'];
|
|
22
|
+
ontrack: globalThis.RTCPeerConnection['ontrack'];
|
|
23
|
+
private _checkConfiguration;
|
|
24
|
+
setConfiguration(config: globalThis.RTCConfiguration): void;
|
|
25
|
+
constructor(config?: RTCConfiguration);
|
|
26
|
+
get ext_maxDataChannelId(): number;
|
|
27
|
+
get ext_maxMessageSize(): number;
|
|
28
|
+
get ext_localCandidates(): globalThis.RTCIceCandidate[];
|
|
29
|
+
get ext_remoteCandidates(): globalThis.RTCIceCandidate[];
|
|
30
|
+
selectedCandidatePair(): {
|
|
31
|
+
local: SelectedCandidateInfo;
|
|
32
|
+
remote: SelectedCandidateInfo;
|
|
33
|
+
} | null;
|
|
34
|
+
get canTrickleIceCandidates(): boolean | null;
|
|
35
|
+
get connectionState(): globalThis.RTCPeerConnectionState;
|
|
36
|
+
get iceConnectionState(): globalThis.RTCIceConnectionState;
|
|
37
|
+
get iceGatheringState(): globalThis.RTCIceGatheringState;
|
|
38
|
+
get currentLocalDescription(): globalThis.RTCSessionDescription;
|
|
39
|
+
get currentRemoteDescription(): globalThis.RTCSessionDescription;
|
|
40
|
+
get localDescription(): globalThis.RTCSessionDescription;
|
|
41
|
+
get pendingLocalDescription(): globalThis.RTCSessionDescription;
|
|
42
|
+
get pendingRemoteDescription(): globalThis.RTCSessionDescription;
|
|
43
|
+
get remoteDescription(): globalThis.RTCSessionDescription;
|
|
44
|
+
get sctp(): globalThis.RTCSctpTransport;
|
|
45
|
+
get signalingState(): globalThis.RTCSignalingState;
|
|
46
|
+
addIceCandidate(candidate?: globalThis.RTCIceCandidateInit | null): Promise<void>;
|
|
47
|
+
addTrack(_track: any, ..._streams: any[]): globalThis.RTCRtpSender;
|
|
48
|
+
addTransceiver(_trackOrKind: any, _init: any): globalThis.RTCRtpTransceiver;
|
|
49
|
+
close(): void;
|
|
50
|
+
createAnswer(): Promise<globalThis.RTCSessionDescriptionInit | any>;
|
|
51
|
+
createDataChannel(label: string, opts?: globalThis.RTCDataChannelInit): RTCDataChannel;
|
|
52
|
+
createOffer(): Promise<globalThis.RTCSessionDescriptionInit | any>;
|
|
53
|
+
getConfiguration(): globalThis.RTCConfiguration;
|
|
54
|
+
getReceivers(): globalThis.RTCRtpReceiver[];
|
|
55
|
+
getSenders(): globalThis.RTCRtpSender[];
|
|
56
|
+
getStats(): Promise<globalThis.RTCStatsReport> | any;
|
|
57
|
+
getTransceivers(): globalThis.RTCRtpTransceiver[];
|
|
58
|
+
removeTrack(): void;
|
|
59
|
+
restartIce(): Promise<void>;
|
|
60
|
+
setLocalDescription(description: globalThis.RTCSessionDescriptionInit): Promise<void>;
|
|
61
|
+
setRemoteDescription(description: globalThis.RTCSessionDescriptionInit): Promise<void>;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export { RTCPeerConnection as default };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import RTCPeerConnection from './RTCPeerConnection.js';
|
|
2
|
+
|
|
3
|
+
declare class RTCSctpTransport extends EventTarget implements globalThis.RTCSctpTransport {
|
|
4
|
+
#private;
|
|
5
|
+
onstatechange: globalThis.RTCSctpTransport['onstatechange'];
|
|
6
|
+
constructor(initial: {
|
|
7
|
+
pc: RTCPeerConnection;
|
|
8
|
+
});
|
|
9
|
+
get maxChannels(): number | null;
|
|
10
|
+
get maxMessageSize(): number;
|
|
11
|
+
get state(): globalThis.RTCSctpTransportState;
|
|
12
|
+
get transport(): globalThis.RTCDtlsTransport;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { RTCSctpTransport as default };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
declare class RTCSessionDescription implements globalThis.RTCSessionDescriptionInit {
|
|
2
|
+
#private;
|
|
3
|
+
constructor(init: globalThis.RTCSessionDescriptionInit);
|
|
4
|
+
get type(): globalThis.RTCSdpType;
|
|
5
|
+
set type(type: globalThis.RTCSdpType);
|
|
6
|
+
get sdp(): string;
|
|
7
|
+
toJSON(): globalThis.RTCSessionDescriptionInit;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { RTCSessionDescription as default };
|