@edge-base/web 0.2.9 → 0.3.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.
@@ -1,217 +0,0 @@
1
- import type { RoomConnectDiagnostic, RoomMediaKind, RoomMediaMember, RoomMediaRemoteTrackEvent, RoomMediaTrack, RoomMediaTransportCapabilities, RoomMemberMediaState, RoomRealtimeIceServersRequest, RoomRealtimeIceServersResponse, RoomMediaTransport, RoomMediaTransportConnectPayload, RoomMember, RoomMemberLeaveReason, RoomSignalMeta, Subscription } from './room.js';
2
- interface RoomP2PAudioVideoControls {
3
- disable(): Promise<void>;
4
- setMuted?(muted: boolean): Promise<void>;
5
- enable?(payload?: {
6
- trackId?: string;
7
- deviceId?: string;
8
- providerSessionId?: string;
9
- }): Promise<void>;
10
- }
11
- interface RoomP2PScreenControls {
12
- stop(): Promise<void>;
13
- start?(payload?: {
14
- trackId?: string;
15
- deviceId?: string;
16
- providerSessionId?: string;
17
- }): Promise<void>;
18
- }
19
- interface RoomP2PMediaAdapter {
20
- media: {
21
- list(): RoomMediaMember[];
22
- audio: RoomP2PAudioVideoControls;
23
- video: RoomP2PAudioVideoControls;
24
- screen: RoomP2PScreenControls;
25
- devices: {
26
- switch(payload: {
27
- audioInputId?: string;
28
- videoInputId?: string;
29
- screenInputId?: string;
30
- }): Promise<void>;
31
- };
32
- realtime?: {
33
- iceServers?(payload?: RoomRealtimeIceServersRequest): Promise<RoomRealtimeIceServersResponse>;
34
- };
35
- onTrack(handler: (track: RoomMediaTrack, member: RoomMember) => void): Subscription;
36
- onTrackRemoved(handler: (track: RoomMediaTrack, member: RoomMember) => void): Subscription;
37
- onStateChange?(handler: (member: RoomMember, state: RoomMemberMediaState) => void): Subscription;
38
- };
39
- members: {
40
- list(): RoomMember[];
41
- current(): RoomMember | null;
42
- onSync(handler: (members: RoomMember[]) => void): Subscription;
43
- onJoin(handler: (member: RoomMember) => void): Subscription;
44
- onLeave(handler: (member: RoomMember, reason: RoomMemberLeaveReason) => void): Subscription;
45
- };
46
- checkConnection?(): Promise<RoomConnectDiagnostic>;
47
- signals: {
48
- sendTo(memberId: string, event: string, payload?: unknown): Promise<void>;
49
- on(event: string, handler: (payload: unknown, meta: RoomSignalMeta) => void): Subscription;
50
- };
51
- }
52
- type DisplayCaptureConstraints = NonNullable<MediaDevices['getDisplayMedia']> extends (constraints?: infer T) => Promise<MediaStream> ? T : MediaStreamConstraints;
53
- export interface RoomP2PMediaTransportOptions {
54
- rtcConfiguration?: RTCConfiguration;
55
- peerConnectionFactory?: (configuration: RTCConfiguration) => RTCPeerConnection;
56
- mediaDevices?: Pick<MediaDevices, 'getUserMedia' | 'getDisplayMedia'>;
57
- signalPrefix?: string;
58
- turnCredentialTtlSeconds?: number;
59
- missingMediaGraceMs?: number;
60
- disconnectedRecoveryDelayMs?: number;
61
- maxRecoveryAttempts?: number;
62
- mediaHealthCheckIntervalMs?: number;
63
- videoFlowGraceMs?: number;
64
- videoFlowStallGraceMs?: number;
65
- initialNegotiationGraceMs?: number;
66
- stuckSignalingGraceMs?: number;
67
- negotiationQueueSpacingMs?: number;
68
- syncRemovalGraceMs?: number;
69
- trackRemovalGraceMs?: number;
70
- pendingVideoPromotionGraceMs?: number;
71
- }
72
- export declare class RoomP2PMediaTransport implements RoomMediaTransport {
73
- private readonly room;
74
- private readonly options;
75
- private readonly localTracks;
76
- private readonly peers;
77
- private readonly remoteTrackHandlers;
78
- private readonly remoteVideoStateHandlers;
79
- private readonly remoteTrackKinds;
80
- private readonly emittedRemoteTracks;
81
- private readonly pendingRemoteTracks;
82
- private readonly pendingTrackRemovalTimers;
83
- private readonly pendingSyncRemovalTimers;
84
- private readonly pendingVideoPromotionTimers;
85
- private readonly pendingIceCandidates;
86
- private readonly remoteVideoStreamCache;
87
- private readonly subscriptions;
88
- private localMemberId;
89
- private connected;
90
- private iceServersResolved;
91
- private localUpdateBatchDepth;
92
- private syncAllPeerSendersScheduled;
93
- private syncAllPeerSendersPending;
94
- private healthCheckTimer;
95
- private negotiationTail;
96
- private remoteVideoStateSignature;
97
- private readonly debugEvents;
98
- private debugEventCounter;
99
- constructor(room: RoomP2PMediaAdapter, options?: RoomP2PMediaTransportOptions);
100
- getSessionId(): string | null;
101
- getPeerConnection(): RTCPeerConnection | null;
102
- connect(payload?: RoomMediaTransportConnectPayload): Promise<string>;
103
- getCapabilities(): Promise<RoomMediaTransportCapabilities>;
104
- getUsableRemoteVideoStream(memberId: string): MediaStream | null;
105
- getUsableRemoteVideoEntries(): Array<{
106
- memberId: string;
107
- userId?: string;
108
- displayName?: string;
109
- stream: MediaStream | null;
110
- trackId: string | null;
111
- published: boolean;
112
- isCameraOff: boolean;
113
- }>;
114
- getRemoteVideoStates(): Array<{
115
- participantId: string;
116
- memberId: string;
117
- userId?: string;
118
- displayName?: string;
119
- stream: MediaStream | null;
120
- trackId: string | null;
121
- published: boolean;
122
- isCameraOff: boolean;
123
- updatedAt: number;
124
- }>;
125
- getActiveRemoteMemberIds(): string[];
126
- private collectCapabilities;
127
- private waitForCurrentMember;
128
- private resolveRtcConfiguration;
129
- enableAudio(constraints?: MediaTrackConstraints | boolean): Promise<MediaStreamTrack>;
130
- enableVideo(constraints?: MediaTrackConstraints | boolean): Promise<MediaStreamTrack>;
131
- startScreenShare(constraints?: DisplayCaptureConstraints): Promise<MediaStreamTrack>;
132
- disableAudio(): Promise<void>;
133
- disableVideo(): Promise<void>;
134
- stopScreenShare(): Promise<void>;
135
- setMuted(kind: Extract<RoomMediaKind, 'audio' | 'video'>, muted: boolean): Promise<void>;
136
- batchLocalUpdates<T>(callback: () => Promise<T>): Promise<T>;
137
- switchDevices(payload: {
138
- audioInputId?: string;
139
- videoInputId?: string;
140
- screenInputId?: string;
141
- }): Promise<void>;
142
- onRemoteTrack(handler: (event: RoomMediaRemoteTrackEvent) => void): Subscription;
143
- onRemoteVideoStateChange(handler: (entries: Array<{
144
- participantId: string;
145
- memberId: string;
146
- userId?: string;
147
- displayName?: string;
148
- stream: MediaStream | null;
149
- trackId: string | null;
150
- published: boolean;
151
- isCameraOff: boolean;
152
- updatedAt: number;
153
- }>) => void): Subscription;
154
- getDebugSnapshot(): unknown;
155
- destroy(): void;
156
- private attachRoomSubscriptions;
157
- private hydrateRemoteTrackKinds;
158
- private rememberRemoteTrackKindsFromState;
159
- private rememberRemoteTrackKind;
160
- private ensurePeer;
161
- private negotiatePeer;
162
- private handleDescriptionSignal;
163
- private handleIceSignal;
164
- private flushPendingCandidates;
165
- private queueIceCandidate;
166
- private flushPendingIceCandidates;
167
- private requestSyncAllPeerSenders;
168
- private syncAllPeerSenders;
169
- private syncPeerSenders;
170
- private emitRemoteTrack;
171
- private resolveFallbackRemoteTrackKind;
172
- private flushPendingRemoteTracks;
173
- private hasReplacementTrack;
174
- private isRoomTrackStillPublished;
175
- private scheduleTrackRemoval;
176
- private getPublishedVideoLikeKinds;
177
- private getNextUnassignedPublishedVideoLikeKind;
178
- private resolveDeferredVideoKind;
179
- private schedulePendingVideoPromotion;
180
- private clearPendingVideoPromotionTimer;
181
- private closePeer;
182
- private removeRemoteMember;
183
- private scheduleSyncRemoval;
184
- private cancelPendingSyncRemoval;
185
- private findMember;
186
- private rollbackConnectedState;
187
- private destroyPeer;
188
- private startHealthChecks;
189
- private runHealthChecks;
190
- private registerPeerRemoteTrack;
191
- private inspectPeerVideoHealth;
192
- private createUserMediaTrack;
193
- private rememberLocalTrack;
194
- private releaseLocalTrack;
195
- private ensureConnectedMemberId;
196
- private getPendingRemoteVideoTrack;
197
- private normalizeDescription;
198
- private normalizeCandidates;
199
- private sendSignalWithRetry;
200
- private withRateLimitRetry;
201
- private get offerEvent();
202
- private get answerEvent();
203
- private get iceEvent();
204
- private maybeRetryPendingNegotiation;
205
- private handlePeerConnectivityChange;
206
- private schedulePeerRecoveryCheck;
207
- private recoverPeer;
208
- private requestIceRestart;
209
- private resetPeer;
210
- private resetPeerRecovery;
211
- private clearPeerRecoveryTimer;
212
- private hasMissingPublishedMedia;
213
- private emitRemoteVideoStateChange;
214
- private recordDebugEvent;
215
- }
216
- export {};
217
- //# sourceMappingURL=room-p2p-media.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"room-p2p-media.d.ts","sourceRoot":"","sources":["../src/room-p2p-media.ts"],"names":[],"mappings":"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"}