@ikonai/sdk 1.11.3 → 1.13.0

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 (56) hide show
  1. package/assets/audio-capture-worker-ubWDRLA3.js +1 -0
  2. package/assets/audio-playback-worker-CLT3Fd56.js +1 -0
  3. package/assets/protocol-worker-CFNK2Kvc.js +3 -0
  4. package/assets/video-capture-worker-Desm980E.js +1 -0
  5. package/assets/video-playback-worker-CsK7Q7OV.js +1 -0
  6. package/assets/viseme-worker-BXdOSahC.js +1 -0
  7. package/{channel-manager-ehgy3BJp.js → channel-manager-C1NK3o9-.js} +26 -26
  8. package/client/ikon-client-config.d.ts +19 -12
  9. package/client/ikon-client-config.d.ts.map +1 -1
  10. package/client/ikon-client.d.ts +14 -0
  11. package/client/ikon-client.d.ts.map +1 -1
  12. package/connection/authenticator.d.ts.map +1 -1
  13. package/{dist-BrkppKKs.js → dist-CNpJsuru.js} +3 -3
  14. package/errors/index.d.ts +10 -0
  15. package/errors/index.d.ts.map +1 -1
  16. package/functions/browser-functions.d.ts.map +1 -1
  17. package/functions/media-capture-functions.d.ts.map +1 -1
  18. package/functions/sound-functions.d.ts +4 -0
  19. package/functions/sound-functions.d.ts.map +1 -1
  20. package/{ikon-media-BQjL59S_.js → ikon-media-BNN-Q8p2.js} +28 -8
  21. package/{ikon-media-capture-4aEsbGgC.js → ikon-media-capture-BM64MF85.js} +131 -127
  22. package/index.d.ts +2 -2
  23. package/index.d.ts.map +1 -1
  24. package/index.js +2524 -2948
  25. package/media/ikon-media-capture.d.ts +1 -1
  26. package/media/ikon-media-capture.d.ts.map +1 -1
  27. package/media/ikon-video-capture.d.ts +11 -1
  28. package/media/ikon-video-capture.d.ts.map +1 -1
  29. package/media/ikon-video-playback.d.ts +12 -0
  30. package/media/ikon-video-playback.d.ts.map +1 -1
  31. package/media/index.d.ts +1 -1
  32. package/media/index.d.ts.map +1 -1
  33. package/media/viseme-tracker.d.ts +16 -5
  34. package/media/viseme-tracker.d.ts.map +1 -1
  35. package/{media-session-helper-Do-OxyU6.js → media-session-helper-CTZ867xv.js} +2 -2
  36. package/package.json +4 -1
  37. package/upload/file-upload.d.ts +4 -5
  38. package/upload/file-upload.d.ts.map +1 -1
  39. package/utils/query-params.d.ts +3 -1
  40. package/utils/query-params.d.ts.map +1 -1
  41. package/{viseme-tracker-CAtczW00.js → viseme-tracker-Ctuu8PRU.js} +69 -58
  42. package/{web-transport-support-Cdyk4mQe.js → web-transport-support-DcxJuxz4.js} +28 -22
  43. package/webrtc/webrtc-signaling.d.ts +38 -5
  44. package/webrtc/webrtc-signaling.d.ts.map +1 -1
  45. package/webrtc-signaling-C_GA-iWk.js +812 -0
  46. package/worker/video-playback-worker.d.ts +3 -0
  47. package/worker/video-playback-worker.d.ts.map +1 -1
  48. package/assets/audio-capture-worker-CJ5S-nQt.js +0 -1
  49. package/assets/audio-playback-worker-BA5LbdyM.js +0 -1
  50. package/assets/libopus-CnBCihDi.js +0 -1
  51. package/assets/protocol-worker-Byc-OmNW.js +0 -3
  52. package/assets/src-BKYD07QQ.js +0 -1
  53. package/assets/src-DOUWsCWT.js +0 -1
  54. package/assets/video-capture-worker-DRYxkwR0.js +0 -1
  55. package/assets/video-playback-worker-v179IJ-C.js +0 -1
  56. package/assets/viseme-worker-CmvzHAbf.js +0 -1
@@ -1,5 +1,26 @@
1
- import { ProtocolMessage, Opcode, WebRTCTrackMap } from '@ikonai/protocol';
1
+ import { ProtocolMessage, Opcode, VideoCodec, WebRTCTrackMap } from '@ikonai/protocol';
2
2
  import { WebRTCConnectionState } from './webrtc-connection';
3
+ export declare const WEBRTC_CAMERA_SENDER_INDEX = 0;
4
+ export declare const WEBRTC_SCREEN_SENDER_INDEX = 1;
5
+ /** What a WebRTC microphone capture is called on the client; the server names it `webrtc_{sessionId}`. */
6
+ export declare const WEBRTC_AUDIO_CAPTURE_ID = "webrtc-audio";
7
+ export type WebRTCVideoCaptureSource = 'camera' | 'screen';
8
+ export interface WebRTCVideoCaptureSettings {
9
+ width?: number;
10
+ height?: number;
11
+ framerate?: number;
12
+ }
13
+ /**
14
+ * Track constraints for a WebRTC video capture: the explicit constraints win, and the width, height
15
+ * and framerate settings fill in only what they leave unset. A screen share takes only the
16
+ * framerate — the shared surface is captured at its native size, as the protocol-channel path does.
17
+ */
18
+ export declare function buildWebRTCVideoCaptureConstraints(source: WebRTCVideoCaptureSource, settings: WebRTCVideoCaptureSettings | undefined, baseConstraints: MediaTrackConstraints | undefined): MediaTrackConstraints | undefined;
19
+ /**
20
+ * The video codec an SDP negotiated: the first media codec (not RTX, RED or FEC) of the first video
21
+ * m-section, in the m-line's payload order. Null when the SDP has no video section or names none.
22
+ */
23
+ export declare function negotiatedVideoCodecFromSdp(sdp: string): VideoCodec | null;
3
24
  export interface WebRTCSignalingConfig {
4
25
  sessionId: number;
5
26
  opcodeGroupsFromServer: Opcode;
@@ -23,6 +44,8 @@ export interface WebRTCSignalingConfig {
23
44
  onAudioTrack?: (trackIndex: number, track: MediaStreamTrack, stream: MediaStream) => void;
24
45
  onVideoTrack?: (trackIndex: number, track: MediaStreamTrack, stream: MediaStream) => void;
25
46
  onTrackMap?: (trackMap: WebRTCTrackMap) => void;
47
+ /** Called after a local video capture starts or stops. */
48
+ onVideoCaptureChanged?: () => void;
26
49
  }
27
50
  export declare class WebRTCSignaling {
28
51
  /**
@@ -38,6 +61,7 @@ export declare class WebRTCSignaling {
38
61
  private audioTrackCount;
39
62
  private videoTrackCount;
40
63
  private iceServersResolve;
64
+ private answerVideoCodec;
41
65
  constructor(config: WebRTCSignalingConfig);
42
66
  get state(): WebRTCConnectionState;
43
67
  get peerConnection(): RTCPeerConnection | null;
@@ -71,8 +95,16 @@ export declare class WebRTCSignaling {
71
95
  */
72
96
  getActiveVideoCaptureStream(): MediaStream | null;
73
97
  /**
74
- * Look up a local video capture MediaStream by its app-level streamId.
75
- * Capture streamId format: `webrtc_video_${sessionId}_${trackIndex}` (see sendVideoStreamBegin).
98
+ * The app-level stream id of the video capture on a sender: `webrtc_video_{sessionId}_{senderIndex}`,
99
+ * the id the server's VideoStreamBegin and the app's video input events carry for it.
100
+ */
101
+ videoCaptureStreamId(senderIndex: number): string;
102
+ /** The sender index a {@link videoCaptureStreamId} names, or null when it is not one of this session's. */
103
+ videoCaptureSenderIndex(streamId: string): number | null;
104
+ /** Whether a stream id names this session's microphone capture, by the client's or the server's name. */
105
+ isAudioCaptureStreamId(streamId: string): boolean;
106
+ /**
107
+ * Look up a local video capture MediaStream by its app-level streamId ({@link videoCaptureStreamId}).
76
108
  * Returns null if no local capture matches.
77
109
  */
78
110
  getLocalVideoCaptureStreamByStreamId(streamId: string): MediaStream | null;
@@ -90,7 +122,9 @@ export declare class WebRTCSignaling {
90
122
  startVideoCapture(constraints?: MediaTrackConstraints, bitrate?: number, senderIndex?: number, correlationId?: string): Promise<MediaStream>;
91
123
  startScreenCapture(constraints?: MediaTrackConstraints, bitrate?: number, senderIndex?: number, correlationId?: string): Promise<MediaStream>;
92
124
  private releaseVideoStream;
93
- stopVideoCapture(senderIndex: number): Promise<void>;
125
+ /** Stops the video capture on one sender. False when that sender had no capture. */
126
+ stopVideoCapture(senderIndex: number): Promise<boolean>;
127
+ private negotiatedVideoCodec;
94
128
  private sendVideoStreamBegin;
95
129
  private sendVideoStreamEnd;
96
130
  /**
@@ -110,7 +144,6 @@ export declare class WebRTCSignaling {
110
144
  private requestIceServers;
111
145
  private handleIceServersResponse;
112
146
  private handleAnswer;
113
- private parseVideoCodecFromSdp;
114
147
  private handleLocalIceCandidate;
115
148
  private handleRemoteIceCandidate;
116
149
  private handleReady;
@@ -1 +1 @@
1
- {"version":3,"file":"webrtc-signaling.d.ts","sourceRoot":"","sources":["../../../../sdk/sdk/src/webrtc/webrtc-signaling.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webrtc-signaling.d.ts","sourceRoot":"","sources":["../../../../sdk/sdk/src/webrtc/webrtc-signaling.ts"],"names":[],"mappings":"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"}