@fishjam-cloud/react-client 0.5.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.
- package/dist/Client.d.ts +210 -0
- package/dist/Client.d.ts.map +1 -0
- package/dist/Client.js +589 -0
- package/dist/DeviceManager.d.ts +49 -0
- package/dist/DeviceManager.d.ts.map +1 -0
- package/dist/DeviceManager.js +157 -0
- package/dist/ScreenShareManager.d.ts +57 -0
- package/dist/ScreenShareManager.d.ts.map +1 -0
- package/dist/ScreenShareManager.js +135 -0
- package/dist/constraints.d.ts +26 -0
- package/dist/constraints.d.ts.map +1 -0
- package/dist/constraints.js +47 -0
- package/dist/create.d.ts +11 -0
- package/dist/create.d.ts.map +1 -0
- package/dist/create.js +228 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/mediaInitializer.d.ts +11 -0
- package/dist/mediaInitializer.d.ts.map +1 -0
- package/dist/mediaInitializer.js +48 -0
- package/dist/state.types.d.ts +60 -0
- package/dist/state.types.d.ts.map +1 -0
- package/dist/state.types.js +1 -0
- package/dist/trackManager.d.ts +24 -0
- package/dist/trackManager.d.ts.map +1 -0
- package/dist/trackManager.js +99 -0
- package/dist/types.d.ts +213 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +1 -0
- package/dist/useSetupMedia.d.ts +3 -0
- package/dist/useSetupMedia.d.ts.map +1 -0
- package/dist/useSetupMedia.js +262 -0
- package/dist/utils/errors.d.ts +7 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +22 -0
- package/dist/utils/localStorage.d.ts +5 -0
- package/dist/utils/localStorage.d.ts.map +1 -0
- package/dist/utils/localStorage.js +21 -0
- package/dist/utils/media.d.ts +12 -0
- package/dist/utils/media.d.ts.map +1 -0
- package/dist/utils/media.js +64 -0
- package/package.json +65 -0
- package/readme.md +151 -0
package/dist/Client.d.ts
ADDED
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import type TypedEmitter from "typed-emitter";
|
|
2
|
+
import type { AuthErrorReason, BandwidthLimit, Component, ConnectConfig, CreateConfig, MessageEvents, Peer, ReconnectionStatus, SimulcastConfig, TrackBandwidthLimit, TrackContext, Encoding } from "@fishjam-cloud/ts-client";
|
|
3
|
+
import type { PeerId, PeerState, PeerStatus, TrackId, TrackWithOrigin } from "./state.types";
|
|
4
|
+
import type { MediaDeviceType, ScreenShareManagerConfig, TrackType } from "./ScreenShareManager";
|
|
5
|
+
import { ScreenShareManager } from "./ScreenShareManager";
|
|
6
|
+
import type { DeviceManagerConfig, DeviceManagerInitConfig, DeviceManagerStartConfig, Devices, DeviceState, MediaState } from "./types";
|
|
7
|
+
import type { DeviceManagerEvents } from "./DeviceManager";
|
|
8
|
+
import { DeviceManager } from "./DeviceManager";
|
|
9
|
+
import { TrackManager } from "./trackManager";
|
|
10
|
+
export type ClientApi<PeerMetadata, TrackMetadata> = {
|
|
11
|
+
local: PeerState<PeerMetadata, TrackMetadata> | null;
|
|
12
|
+
peers: Record<PeerId, PeerState<PeerMetadata, TrackMetadata>>;
|
|
13
|
+
peersTracks: Record<TrackId, TrackWithOrigin<PeerMetadata, TrackMetadata>>;
|
|
14
|
+
components: Record<PeerId, PeerState<PeerMetadata, TrackMetadata>>;
|
|
15
|
+
componentsTracks: Record<TrackId, TrackWithOrigin<PeerMetadata, TrackMetadata>>;
|
|
16
|
+
bandwidthEstimation: bigint;
|
|
17
|
+
status: PeerStatus;
|
|
18
|
+
media: MediaState | null;
|
|
19
|
+
devices: Devices<TrackMetadata>;
|
|
20
|
+
videoTrackManager: TrackManager<PeerMetadata, TrackMetadata>;
|
|
21
|
+
audioTrackManager: TrackManager<PeerMetadata, TrackMetadata>;
|
|
22
|
+
screenShareManager: ScreenShareManager;
|
|
23
|
+
isReconnecting: () => boolean;
|
|
24
|
+
};
|
|
25
|
+
type DeviceTypeInfo = {
|
|
26
|
+
mediaDeviceType: MediaDeviceType;
|
|
27
|
+
trackType: TrackType;
|
|
28
|
+
};
|
|
29
|
+
export interface ClientEvents<PeerMetadata, TrackMetadata> {
|
|
30
|
+
/**
|
|
31
|
+
* Emitted when the websocket connection is closed
|
|
32
|
+
*
|
|
33
|
+
* @param {CloseEvent} event - Close event object from the websocket
|
|
34
|
+
*/
|
|
35
|
+
socketClose: (event: CloseEvent, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
36
|
+
/**
|
|
37
|
+
* Emitted when occurs an error in the websocket connection
|
|
38
|
+
*
|
|
39
|
+
* @param {Event} event - Event object from the websocket
|
|
40
|
+
*/
|
|
41
|
+
socketError: (event: Event, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
42
|
+
/**
|
|
43
|
+
* Emitted when the websocket connection is opened
|
|
44
|
+
*
|
|
45
|
+
* @param {Event} event - Event object from the websocket
|
|
46
|
+
*/
|
|
47
|
+
socketOpen: (event: Event, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
48
|
+
/** Emitted when authentication is successful */
|
|
49
|
+
authSuccess: (client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
50
|
+
/** Emitted when authentication fails */
|
|
51
|
+
authError: (reason: AuthErrorReason, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
52
|
+
/** Emitted when the connection is closed */
|
|
53
|
+
disconnected: (client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
54
|
+
/** Emitted on successful reconnection */
|
|
55
|
+
reconnected: (client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
56
|
+
/** Emitted when the process of reconnection starts */
|
|
57
|
+
reconnectionStarted: (client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
58
|
+
/** Emitted when the maximum number of reconnection retries is reached */
|
|
59
|
+
reconnectionRetriesLimitReached: (client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
60
|
+
/**
|
|
61
|
+
* Called when peer was accepted.
|
|
62
|
+
*/
|
|
63
|
+
joined: (event: {
|
|
64
|
+
peerId: string;
|
|
65
|
+
peers: Peer<PeerMetadata, TrackMetadata>[];
|
|
66
|
+
components: Component<PeerMetadata, TrackMetadata>[];
|
|
67
|
+
}, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
68
|
+
/**
|
|
69
|
+
* Called when peer was not accepted
|
|
70
|
+
* @param metadata - Pass through for client application to communicate further actions to frontend
|
|
71
|
+
*/
|
|
72
|
+
joinError: (metadata: any, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
73
|
+
/**
|
|
74
|
+
* Called when data in a new track arrives.
|
|
75
|
+
*
|
|
76
|
+
* This callback is always called after {@link MessageEvents.trackAdded}.
|
|
77
|
+
* It informs user that data related to the given track arrives and can be played or displayed.
|
|
78
|
+
*/
|
|
79
|
+
trackReady: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
80
|
+
/**
|
|
81
|
+
* Called each time the peer which was already in the room, adds new track. Fields track and stream will be set to null.
|
|
82
|
+
* These fields will be set to non-null value in {@link MessageEvents.trackReady}
|
|
83
|
+
*/
|
|
84
|
+
trackAdded: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
85
|
+
/**
|
|
86
|
+
* Called when some track will no longer be sent.
|
|
87
|
+
*
|
|
88
|
+
* It will also be called before {@link MessageEvents.peerLeft} for each track of this peer.
|
|
89
|
+
*/
|
|
90
|
+
trackRemoved: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
91
|
+
/**
|
|
92
|
+
* Called each time peer has its track metadata updated.
|
|
93
|
+
*/
|
|
94
|
+
trackUpdated: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
95
|
+
/**
|
|
96
|
+
* Called each time new peer joins the room.
|
|
97
|
+
*/
|
|
98
|
+
peerJoined: (peer: Peer<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
99
|
+
/**
|
|
100
|
+
* Called each time peer leaves the room.
|
|
101
|
+
*/
|
|
102
|
+
peerLeft: (peer: Peer<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
103
|
+
/**
|
|
104
|
+
* Called each time peer has its metadata updated.
|
|
105
|
+
*/
|
|
106
|
+
peerUpdated: (peer: Peer<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
107
|
+
/**
|
|
108
|
+
* Called each time new Component is added to the room.
|
|
109
|
+
*/
|
|
110
|
+
componentAdded: (peer: Component<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
111
|
+
/**
|
|
112
|
+
* Called each time Component is removed from the room.
|
|
113
|
+
*/
|
|
114
|
+
componentRemoved: (peer: Component<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
115
|
+
/**
|
|
116
|
+
* Called each time Component has its metadata updated.
|
|
117
|
+
*/
|
|
118
|
+
componentUpdated: (peer: Component<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
119
|
+
/**
|
|
120
|
+
* Called in case of errors related to multimedia session e.g. ICE connection.
|
|
121
|
+
*/
|
|
122
|
+
connectionError: (error: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["connectionError"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
123
|
+
/**
|
|
124
|
+
* Called every time the server estimates client's bandiwdth.
|
|
125
|
+
*
|
|
126
|
+
* @param {bigint} estimation - client's available incoming bitrate estimated
|
|
127
|
+
* by the server. It's measured in bits per second.
|
|
128
|
+
*/
|
|
129
|
+
bandwidthEstimationChanged: (estimation: bigint, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
130
|
+
encodingChanged: (context: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
131
|
+
/**
|
|
132
|
+
* Emitted every time an update about voice activity is received from the server.
|
|
133
|
+
*/
|
|
134
|
+
voiceActivityChanged: (context: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
135
|
+
managerStarted: (event: Parameters<DeviceManagerEvents["managerInitialized"]>[0] & DeviceTypeInfo, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
136
|
+
managerInitialized: (event: {
|
|
137
|
+
audio?: DeviceState;
|
|
138
|
+
video?: DeviceState;
|
|
139
|
+
}, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
140
|
+
deviceReady: (event: Parameters<DeviceManagerEvents["deviceReady"]>[0] & DeviceTypeInfo, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
141
|
+
devicesStarted: (event: Parameters<DeviceManagerEvents["devicesStarted"]>[0] & DeviceTypeInfo, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
142
|
+
devicesReady: (event: Parameters<DeviceManagerEvents["devicesReady"]>[0] & DeviceTypeInfo, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
143
|
+
deviceStopped: (event: DeviceTypeInfo, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
144
|
+
deviceEnabled: (event: DeviceTypeInfo, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
145
|
+
deviceDisabled: (event: DeviceTypeInfo, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
146
|
+
error: (arg: any, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
147
|
+
targetTrackEncodingRequested: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["targetTrackEncodingRequested"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
148
|
+
localTrackAdded: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackAdded"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
149
|
+
localTrackRemoved: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackRemoved"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
150
|
+
localTrackReplaced: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackReplaced"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
151
|
+
localTrackMuted: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackMuted"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
152
|
+
localTrackUnmuted: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackUnmuted"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
153
|
+
localTrackBandwidthSet: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackBandwidthSet"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
154
|
+
localTrackEncodingBandwidthSet: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackEncodingBandwidthSet"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
155
|
+
localTrackEncodingEnabled: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackEncodingEnabled"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
156
|
+
localTrackEncodingDisabled: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackEncodingDisabled"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
157
|
+
localPeerMetadataChanged: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localPeerMetadataChanged"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
158
|
+
localTrackMetadataChanged: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackMetadataChanged"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
159
|
+
disconnectRequested: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["disconnectRequested"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
|
|
160
|
+
}
|
|
161
|
+
export type ReactClientCreteConfig<PeerMetadata, TrackMetadata> = {
|
|
162
|
+
clientConfig?: CreateConfig<PeerMetadata, TrackMetadata>;
|
|
163
|
+
deviceManagerDefaultConfig?: DeviceManagerConfig;
|
|
164
|
+
screenShareManagerDefaultConfig?: ScreenShareManagerConfig;
|
|
165
|
+
};
|
|
166
|
+
declare const Client_base: new <PeerMetadata_1, TrackMetadata_1>() => TypedEmitter<Required<ClientEvents<PeerMetadata_1, TrackMetadata_1>>>;
|
|
167
|
+
export declare class Client<PeerMetadata, TrackMetadata> extends Client_base<PeerMetadata, TrackMetadata> {
|
|
168
|
+
private readonly tsClient;
|
|
169
|
+
readonly screenShareManager: ScreenShareManager;
|
|
170
|
+
local: PeerState<PeerMetadata, TrackMetadata> | null;
|
|
171
|
+
peers: Record<PeerId, PeerState<PeerMetadata, TrackMetadata>>;
|
|
172
|
+
components: Record<PeerId, PeerState<PeerMetadata, TrackMetadata>>;
|
|
173
|
+
peersTracks: Record<TrackId, TrackWithOrigin<PeerMetadata, TrackMetadata>>;
|
|
174
|
+
componentsTracks: Record<TrackId, TrackWithOrigin<PeerMetadata, TrackMetadata>>;
|
|
175
|
+
bandwidthEstimation: bigint;
|
|
176
|
+
status: PeerStatus;
|
|
177
|
+
media: MediaState | null;
|
|
178
|
+
devices: Devices<TrackMetadata>;
|
|
179
|
+
reconnectionStatus: ReconnectionStatus;
|
|
180
|
+
private currentScreenShareTrackId;
|
|
181
|
+
videoDeviceManager: DeviceManager;
|
|
182
|
+
audioDeviceManager: DeviceManager;
|
|
183
|
+
videoTrackManager: TrackManager<PeerMetadata, TrackMetadata>;
|
|
184
|
+
audioTrackManager: TrackManager<PeerMetadata, TrackMetadata>;
|
|
185
|
+
constructor(config?: ReactClientCreteConfig<PeerMetadata, TrackMetadata>);
|
|
186
|
+
setScreenManagerConfig(config: ScreenShareManagerConfig): void;
|
|
187
|
+
setDeviceManagerConfig(config: DeviceManagerConfig): void;
|
|
188
|
+
private trackContextToTrack;
|
|
189
|
+
connect(config: ConnectConfig<PeerMetadata>): void;
|
|
190
|
+
disconnect(): void;
|
|
191
|
+
addTrack(track: MediaStreamTrack, trackMetadata?: TrackMetadata, simulcastConfig?: SimulcastConfig, maxBandwidth?: TrackBandwidthLimit): Promise<string>;
|
|
192
|
+
removeTrack(trackId: string): Promise<void>;
|
|
193
|
+
replaceTrack(trackId: string, newTrack: MediaStreamTrack | null, newTrackMetadata?: TrackMetadata): Promise<void>;
|
|
194
|
+
getStatistics(selector?: MediaStreamTrack | null): Promise<RTCStatsReport>;
|
|
195
|
+
getBandwidthEstimation(): bigint;
|
|
196
|
+
setTrackBandwidth(trackId: string, bandwidth: BandwidthLimit): Promise<boolean>;
|
|
197
|
+
setEncodingBandwidth(trackId: string, rid: string, bandwidth: BandwidthLimit): Promise<boolean>;
|
|
198
|
+
setTargetTrackEncoding(trackId: string, encoding: Encoding): void;
|
|
199
|
+
enableTrackEncoding(trackId: string, encoding: Encoding): Promise<void>;
|
|
200
|
+
disableTrackEncoding(trackId: string, encoding: Encoding): Promise<void>;
|
|
201
|
+
updatePeerMetadata: (peerMetadata: PeerMetadata) => void;
|
|
202
|
+
updateTrackMetadata: (trackId: string, trackMetadata: TrackMetadata) => void;
|
|
203
|
+
isReconnecting: () => boolean;
|
|
204
|
+
initializeDevices: (config?: DeviceManagerInitConfig) => Promise<void>;
|
|
205
|
+
startDevices: (config: DeviceManagerStartConfig) => Promise<void>;
|
|
206
|
+
private getRemoteTrack;
|
|
207
|
+
private stateToSnapshot;
|
|
208
|
+
}
|
|
209
|
+
export {};
|
|
210
|
+
//# sourceMappingURL=Client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
|