@ikonai/sdk 1.0.22 → 1.0.24
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/assets/{audio-playback-worker-DjOBgBVm.js → audio-playback-worker-CVB6ftYO.js} +1 -1
- package/assets/{protocol-worker-BIX4IFii.js → protocol-worker-Cj8zX_U0.js} +23 -23
- package/assets/{video-capture-worker-Dp65P0wr.js → video-capture-worker-g7UF_osl.js} +1 -1
- package/assets/{video-playback-worker-B3i4lAcK.js → video-playback-worker-DSozRiYd.js} +18 -18
- package/client/endpoint-selector.d.ts +19 -4
- package/client/ikon-client.d.ts +26 -14
- package/connection/authenticator.d.ts +4 -2
- package/connection/urls.d.ts +10 -0
- package/index.d.ts +3 -3
- package/index.js +1908 -1747
- package/package.json +1 -1
- package/webrtc/index.d.ts +1 -1
- package/webrtc/webrtc-config.d.ts +4 -1
- package/webrtc/webrtc-connection.d.ts +3 -3
- package/webrtc/webrtc-signaling.d.ts +6 -6
package/package.json
CHANGED
package/webrtc/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { WebRTCConnection, type WebRTCConnectionConfig, type WebRTCConnectionState } from './webrtc-connection';
|
|
2
2
|
export { WebRTCSignaling, type WebRTCSignalingConfig } from './webrtc-signaling';
|
|
3
|
-
export { WEBRTC_AUDIO_CODEC, WEBRTC_AUDIO_SAMPLE_RATE, WEBRTC_AUDIO_CHANNELS, WEBRTC_AUDIO_BITRATE, WEBRTC_AUDIO_JITTER_BUFFER_TARGET_MS, WEBRTC_VIDEO_CODEC, WEBRTC_VIDEO_MAX_BITRATE, WEBRTC_VIDEO_MAX_FRAMERATE, WEBRTC_BUNDLE_POLICY, WEBRTC_RTCP_MUX_POLICY, WEBRTC_ICE_SERVERS, WEBRTC_DATA_CHANNEL_LABEL, WEBRTC_DATA_CHANNEL_ORDERED, WEBRTC_DATA_CHANNEL_MAX_RETRANSMITS, } from './webrtc-config';
|
|
3
|
+
export { WEBRTC_AUDIO_CODEC, WEBRTC_AUDIO_SAMPLE_RATE, WEBRTC_AUDIO_CHANNELS, WEBRTC_AUDIO_BITRATE, WEBRTC_AUDIO_JITTER_BUFFER_TARGET_MS, WEBRTC_VIDEO_CODEC, WEBRTC_VIDEO_MAX_BITRATE, WEBRTC_VIDEO_MAX_FRAMERATE, WEBRTC_MAX_AUDIO_TRACKS, WEBRTC_MAX_VIDEO_TRACKS, WEBRTC_BUNDLE_POLICY, WEBRTC_RTCP_MUX_POLICY, WEBRTC_ICE_SERVERS, WEBRTC_DATA_CHANNEL_LABEL, WEBRTC_DATA_CHANNEL_ORDERED, WEBRTC_DATA_CHANNEL_MAX_RETRANSMITS, } from './webrtc-config';
|
|
@@ -3,12 +3,15 @@ export declare const WEBRTC_AUDIO_SAMPLE_RATE = 48000;
|
|
|
3
3
|
export declare const WEBRTC_AUDIO_CHANNELS = 2;
|
|
4
4
|
export declare const WEBRTC_AUDIO_BITRATE = 64000;
|
|
5
5
|
export declare const WEBRTC_AUDIO_JITTER_BUFFER_TARGET_MS = 150;
|
|
6
|
-
export declare const WEBRTC_VIDEO_CODEC = "
|
|
6
|
+
export declare const WEBRTC_VIDEO_CODEC = "VP8";
|
|
7
7
|
export declare const WEBRTC_VIDEO_MAX_BITRATE = 5000000;
|
|
8
8
|
export declare const WEBRTC_VIDEO_MAX_FRAMERATE = 30;
|
|
9
|
+
export declare const WEBRTC_VIDEO_PLAYOUT_DELAY_HINT_S = 0.05;
|
|
9
10
|
export declare const WEBRTC_BUNDLE_POLICY: RTCBundlePolicy;
|
|
10
11
|
export declare const WEBRTC_RTCP_MUX_POLICY: RTCRtcpMuxPolicy;
|
|
11
12
|
export declare const WEBRTC_ICE_SERVERS: RTCIceServer[];
|
|
13
|
+
export declare const WEBRTC_MAX_AUDIO_TRACKS = 16;
|
|
14
|
+
export declare const WEBRTC_MAX_VIDEO_TRACKS = 16;
|
|
12
15
|
export declare const WEBRTC_DATA_CHANNEL_LABEL = "ikon-data";
|
|
13
16
|
export declare const WEBRTC_DATA_CHANNEL_ORDERED = false;
|
|
14
17
|
export declare const WEBRTC_DATA_CHANNEL_MAX_RETRANSMITS = 0;
|
|
@@ -8,7 +8,7 @@ export interface WebRTCConnectionConfig {
|
|
|
8
8
|
onDataChannelMessage?: (data: ArrayBuffer) => void;
|
|
9
9
|
onDataChannelOpen?: () => void;
|
|
10
10
|
onDataChannelClose?: () => void;
|
|
11
|
-
onAudioTrack?: (track: MediaStreamTrack, stream: MediaStream) => void;
|
|
11
|
+
onAudioTrack?: (trackIndex: number, track: MediaStreamTrack, stream: MediaStream) => void;
|
|
12
12
|
onVideoTrack?: (trackIndex: number, track: MediaStreamTrack, stream: MediaStream) => void;
|
|
13
13
|
}
|
|
14
14
|
export declare class WebRTCConnection {
|
|
@@ -18,7 +18,7 @@ export declare class WebRTCConnection {
|
|
|
18
18
|
private readonly config;
|
|
19
19
|
private hasRemoteDescription;
|
|
20
20
|
private pendingCandidates;
|
|
21
|
-
private
|
|
21
|
+
private audioTrackCount;
|
|
22
22
|
private videoTrackCount;
|
|
23
23
|
constructor(config: WebRTCConnectionConfig);
|
|
24
24
|
get state(): WebRTCConnectionState;
|
|
@@ -29,7 +29,7 @@ export declare class WebRTCConnection {
|
|
|
29
29
|
setRemoteDescription(sdp: string, type: 'answer' | 'offer'): Promise<void>;
|
|
30
30
|
addIceCandidate(candidate: RTCIceCandidateInit): Promise<void>;
|
|
31
31
|
addTrack(track: MediaStreamTrack, stream: MediaStream): RTCRtpSender;
|
|
32
|
-
replaceTrack(kind: 'audio' | 'video', track: MediaStreamTrack | null,
|
|
32
|
+
replaceTrack(kind: 'audio' | 'video', track: MediaStreamTrack | null, trackIndex?: number): Promise<RTCRtpSender | null>;
|
|
33
33
|
removeTrack(sender: RTCRtpSender): void;
|
|
34
34
|
sendDataChannelMessage(data: ArrayBuffer): void;
|
|
35
35
|
close(): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ProtocolMessage, Opcode } from '../../../../shared/protocol/src/index.ts';
|
|
1
|
+
import { ProtocolMessage, Opcode, WebRTCTrackMap } from '../../../../shared/protocol/src/index.ts';
|
|
2
2
|
import { WebRTCConnectionState } from './webrtc-connection';
|
|
3
3
|
export interface WebRTCSignalingConfig {
|
|
4
4
|
sessionId: number;
|
|
@@ -11,15 +11,17 @@ export interface WebRTCSignalingConfig {
|
|
|
11
11
|
onDataChannelMessage?: (data: ArrayBuffer) => void;
|
|
12
12
|
onDataChannelOpen?: () => void;
|
|
13
13
|
onDataChannelClose?: () => void;
|
|
14
|
-
onAudioTrack?: (track: MediaStreamTrack, stream: MediaStream) => void;
|
|
14
|
+
onAudioTrack?: (trackIndex: number, track: MediaStreamTrack, stream: MediaStream) => void;
|
|
15
15
|
onVideoTrack?: (trackIndex: number, track: MediaStreamTrack, stream: MediaStream) => void;
|
|
16
|
+
onTrackMap?: (trackMap: WebRTCTrackMap) => void;
|
|
16
17
|
}
|
|
17
18
|
export declare class WebRTCSignaling {
|
|
18
19
|
private readonly config;
|
|
19
20
|
private connection;
|
|
20
21
|
private sendMessage;
|
|
21
22
|
private isConnecting;
|
|
22
|
-
private
|
|
23
|
+
private audioTrackCount;
|
|
24
|
+
private videoTrackCount;
|
|
23
25
|
constructor(config: WebRTCSignalingConfig);
|
|
24
26
|
get state(): WebRTCConnectionState;
|
|
25
27
|
get peerConnection(): RTCPeerConnection | null;
|
|
@@ -40,12 +42,10 @@ export declare class WebRTCSignaling {
|
|
|
40
42
|
stopScreenCapture(): Promise<void>;
|
|
41
43
|
stopCapture(): Promise<void>;
|
|
42
44
|
private applyEncodingParams;
|
|
43
|
-
private startStatsLogging;
|
|
44
|
-
private stopStatsLogging;
|
|
45
|
-
private logSenderStats;
|
|
46
45
|
private sendOffer;
|
|
47
46
|
private handleAnswer;
|
|
48
47
|
private handleLocalIceCandidate;
|
|
49
48
|
private handleRemoteIceCandidate;
|
|
50
49
|
private handleReady;
|
|
50
|
+
private handleTrackMap;
|
|
51
51
|
}
|