@fishjam-cloud/react-client 0.5.2 → 0.5.5

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 CHANGED
@@ -1,16 +1,16 @@
1
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";
2
+ import type { AuthErrorReason, BandwidthLimit, Component, CreateConfig, MessageEvents, Peer, ReconnectionStatus, SimulcastConfig, TrackBandwidthLimit, TrackContext, Encoding } from "@fishjam-cloud/ts-client";
3
3
  import { FishjamClient } from "@fishjam-cloud/ts-client";
4
4
  import type { PeerId, PeerState, PeerStatus, TrackId, TrackWithOrigin } from "./state.types";
5
- import type { DeviceManagerConfig, DeviceManagerInitConfig, DeviceManagerStartConfig, Devices, DeviceState, MediaDeviceType, MediaState, TrackType } from "./types";
5
+ import type { ConnectConfig, DeviceManagerConfig, DeviceManagerInitConfig, DeviceManagerStartConfig, Devices, DeviceState, MediaDeviceType, MediaState, PeerMetadata, TrackMetadata, TrackType } from "./types";
6
6
  import type { DeviceManagerEvents } from "./DeviceManager";
7
7
  import { DeviceManager } from "./DeviceManager";
8
- export type ClientApi<PeerMetadata, TrackMetadata> = {
9
- local: PeerState<PeerMetadata, TrackMetadata> | null;
10
- peers: Record<PeerId, PeerState<PeerMetadata, TrackMetadata>>;
11
- peersTracks: Record<TrackId, TrackWithOrigin<PeerMetadata, TrackMetadata>>;
12
- components: Record<PeerId, PeerState<PeerMetadata, TrackMetadata>>;
13
- componentsTracks: Record<TrackId, TrackWithOrigin<PeerMetadata, TrackMetadata>>;
8
+ export type ClientApi = {
9
+ local: PeerState | null;
10
+ peers: Record<PeerId, PeerState>;
11
+ peersTracks: Record<TrackId, TrackWithOrigin>;
12
+ components: Record<PeerId, PeerState>;
13
+ componentsTracks: Record<TrackId, TrackWithOrigin>;
14
14
  bandwidthEstimation: bigint;
15
15
  status: PeerStatus;
16
16
  media: MediaState | null;
@@ -21,37 +21,37 @@ type DeviceTypeInfo = {
21
21
  mediaDeviceType: MediaDeviceType;
22
22
  trackType: TrackType;
23
23
  };
24
- export interface ClientEvents<PeerMetadata, TrackMetadata> {
24
+ export interface ClientEvents {
25
25
  /**
26
26
  * Emitted when the websocket connection is closed
27
27
  *
28
28
  * @param {CloseEvent} event - Close event object from the websocket
29
29
  */
30
- socketClose: (event: CloseEvent, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
30
+ socketClose: (event: CloseEvent, client: ClientApi) => void;
31
31
  /**
32
32
  * Emitted when occurs an error in the websocket connection
33
33
  *
34
34
  * @param {Event} event - Event object from the websocket
35
35
  */
36
- socketError: (event: Event, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
36
+ socketError: (event: Event, client: ClientApi) => void;
37
37
  /**
38
38
  * Emitted when the websocket connection is opened
39
39
  *
40
40
  * @param {Event} event - Event object from the websocket
41
41
  */
42
- socketOpen: (event: Event, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
42
+ socketOpen: (event: Event, client: ClientApi) => void;
43
43
  /** Emitted when authentication is successful */
44
- authSuccess: (client: ClientApi<PeerMetadata, TrackMetadata>) => void;
44
+ authSuccess: (client: ClientApi) => void;
45
45
  /** Emitted when authentication fails */
46
- authError: (reason: AuthErrorReason, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
46
+ authError: (reason: AuthErrorReason, client: ClientApi) => void;
47
47
  /** Emitted when the connection is closed */
48
- disconnected: (client: ClientApi<PeerMetadata, TrackMetadata>) => void;
48
+ disconnected: (client: ClientApi) => void;
49
49
  /** Emitted on successful reconnection */
50
- reconnected: (client: ClientApi<PeerMetadata, TrackMetadata>) => void;
50
+ reconnected: (client: ClientApi) => void;
51
51
  /** Emitted when the process of reconnection starts */
52
- reconnectionStarted: (client: ClientApi<PeerMetadata, TrackMetadata>) => void;
52
+ reconnectionStarted: (client: ClientApi) => void;
53
53
  /** Emitted when the maximum number of reconnection retries is reached */
54
- reconnectionRetriesLimitReached: (client: ClientApi<PeerMetadata, TrackMetadata>) => void;
54
+ reconnectionRetriesLimitReached: (client: ClientApi) => void;
55
55
  /**
56
56
  * Called when peer was accepted.
57
57
  */
@@ -59,112 +59,112 @@ export interface ClientEvents<PeerMetadata, TrackMetadata> {
59
59
  peerId: string;
60
60
  peers: Peer<PeerMetadata, TrackMetadata>[];
61
61
  components: Component<PeerMetadata, TrackMetadata>[];
62
- }, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
62
+ }, client: ClientApi) => void;
63
63
  /**
64
64
  * Called when peer was not accepted
65
65
  * @param metadata - Pass through for client application to communicate further actions to frontend
66
66
  */
67
- joinError: (metadata: any, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
67
+ joinError: (metadata: any, client: ClientApi) => void;
68
68
  /**
69
69
  * Called when data in a new track arrives.
70
70
  *
71
71
  * This callback is always called after {@link MessageEvents.trackAdded}.
72
72
  * It informs user that data related to the given track arrives and can be played or displayed.
73
73
  */
74
- trackReady: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
74
+ trackReady: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
75
75
  /**
76
76
  * Called each time the peer which was already in the room, adds new track. Fields track and stream will be set to null.
77
77
  * These fields will be set to non-null value in {@link MessageEvents.trackReady}
78
78
  */
79
- trackAdded: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
79
+ trackAdded: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
80
80
  /**
81
81
  * Called when some track will no longer be sent.
82
82
  *
83
83
  * It will also be called before {@link MessageEvents.peerLeft} for each track of this peer.
84
84
  */
85
- trackRemoved: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
85
+ trackRemoved: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
86
86
  /**
87
87
  * Called each time peer has its track metadata updated.
88
88
  */
89
- trackUpdated: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
89
+ trackUpdated: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
90
90
  /**
91
91
  * Called each time new peer joins the room.
92
92
  */
93
- peerJoined: (peer: Peer<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
93
+ peerJoined: (peer: Peer<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
94
94
  /**
95
95
  * Called each time peer leaves the room.
96
96
  */
97
- peerLeft: (peer: Peer<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
97
+ peerLeft: (peer: Peer<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
98
98
  /**
99
99
  * Called each time peer has its metadata updated.
100
100
  */
101
- peerUpdated: (peer: Peer<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
101
+ peerUpdated: (peer: Peer<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
102
102
  /**
103
103
  * Called each time new Component is added to the room.
104
104
  */
105
- componentAdded: (peer: Component<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
105
+ componentAdded: (peer: Component<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
106
106
  /**
107
107
  * Called each time Component is removed from the room.
108
108
  */
109
- componentRemoved: (peer: Component<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
109
+ componentRemoved: (peer: Component<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
110
110
  /**
111
111
  * Called each time Component has its metadata updated.
112
112
  */
113
- componentUpdated: (peer: Component<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
113
+ componentUpdated: (peer: Component<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
114
114
  /**
115
115
  * Called in case of errors related to multimedia session e.g. ICE connection.
116
116
  */
117
- connectionError: (error: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["connectionError"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
117
+ connectionError: (error: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["connectionError"]>[0], client: ClientApi) => void;
118
118
  /**
119
119
  * Called every time the server estimates client's bandiwdth.
120
120
  *
121
121
  * @param {bigint} estimation - client's available incoming bitrate estimated
122
122
  * by the server. It's measured in bits per second.
123
123
  */
124
- bandwidthEstimationChanged: (estimation: bigint, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
125
- encodingChanged: (context: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
124
+ bandwidthEstimationChanged: (estimation: bigint, client: ClientApi) => void;
125
+ encodingChanged: (context: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
126
126
  /**
127
127
  * Emitted every time an update about voice activity is received from the server.
128
128
  */
129
- voiceActivityChanged: (context: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
130
- managerStarted: (event: Parameters<DeviceManagerEvents["managerInitialized"]>[0] & DeviceTypeInfo, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
129
+ voiceActivityChanged: (context: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
130
+ managerStarted: (event: Parameters<DeviceManagerEvents["managerInitialized"]>[0] & DeviceTypeInfo, client: ClientApi) => void;
131
131
  managerInitialized: (event: {
132
132
  audio?: DeviceState;
133
133
  video?: DeviceState;
134
- }, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
135
- deviceReady: (event: Parameters<DeviceManagerEvents["deviceReady"]>[0] & DeviceTypeInfo, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
136
- devicesStarted: (event: Parameters<DeviceManagerEvents["devicesStarted"]>[0] & DeviceTypeInfo, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
137
- devicesReady: (event: Parameters<DeviceManagerEvents["devicesReady"]>[0] & DeviceTypeInfo, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
138
- deviceStopped: (event: DeviceTypeInfo, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
139
- deviceEnabled: (event: DeviceTypeInfo, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
140
- deviceDisabled: (event: DeviceTypeInfo, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
141
- error: (arg: any, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
142
- targetTrackEncodingRequested: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["targetTrackEncodingRequested"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
143
- localTrackAdded: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackAdded"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
144
- localTrackRemoved: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackRemoved"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
145
- localTrackReplaced: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackReplaced"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
146
- localTrackMuted: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackMuted"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
147
- localTrackUnmuted: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackUnmuted"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
148
- localTrackBandwidthSet: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackBandwidthSet"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
149
- localTrackEncodingBandwidthSet: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackEncodingBandwidthSet"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
150
- localTrackEncodingEnabled: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackEncodingEnabled"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
151
- localTrackEncodingDisabled: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackEncodingDisabled"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
152
- localPeerMetadataChanged: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localPeerMetadataChanged"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
153
- localTrackMetadataChanged: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackMetadataChanged"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
154
- disconnectRequested: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["disconnectRequested"]>[0], client: ClientApi<PeerMetadata, TrackMetadata>) => void;
134
+ }, client: ClientApi) => void;
135
+ deviceReady: (event: Parameters<DeviceManagerEvents["deviceReady"]>[0] & DeviceTypeInfo, client: ClientApi) => void;
136
+ devicesStarted: (event: Parameters<DeviceManagerEvents["devicesStarted"]>[0] & DeviceTypeInfo, client: ClientApi) => void;
137
+ devicesReady: (event: Parameters<DeviceManagerEvents["devicesReady"]>[0] & DeviceTypeInfo, client: ClientApi) => void;
138
+ deviceStopped: (event: DeviceTypeInfo, client: ClientApi) => void;
139
+ deviceEnabled: (event: DeviceTypeInfo, client: ClientApi) => void;
140
+ deviceDisabled: (event: DeviceTypeInfo, client: ClientApi) => void;
141
+ error: (arg: any, client: ClientApi) => void;
142
+ targetTrackEncodingRequested: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["targetTrackEncodingRequested"]>[0], client: ClientApi) => void;
143
+ localTrackAdded: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackAdded"]>[0], client: ClientApi) => void;
144
+ localTrackRemoved: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackRemoved"]>[0], client: ClientApi) => void;
145
+ localTrackReplaced: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackReplaced"]>[0], client: ClientApi) => void;
146
+ localTrackMuted: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackMuted"]>[0], client: ClientApi) => void;
147
+ localTrackUnmuted: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackUnmuted"]>[0], client: ClientApi) => void;
148
+ localTrackBandwidthSet: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackBandwidthSet"]>[0], client: ClientApi) => void;
149
+ localTrackEncodingBandwidthSet: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackEncodingBandwidthSet"]>[0], client: ClientApi) => void;
150
+ localTrackEncodingEnabled: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackEncodingEnabled"]>[0], client: ClientApi) => void;
151
+ localTrackEncodingDisabled: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackEncodingDisabled"]>[0], client: ClientApi) => void;
152
+ localPeerMetadataChanged: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localPeerMetadataChanged"]>[0], client: ClientApi) => void;
153
+ localTrackMetadataChanged: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["localTrackMetadataChanged"]>[0], client: ClientApi) => void;
154
+ disconnectRequested: (event: Parameters<MessageEvents<PeerMetadata, TrackMetadata>["disconnectRequested"]>[0], client: ClientApi) => void;
155
155
  }
156
156
  export type ReactClientCreteConfig<PeerMetadata, TrackMetadata> = {
157
157
  clientConfig?: CreateConfig<PeerMetadata, TrackMetadata>;
158
158
  deviceManagerDefaultConfig?: DeviceManagerConfig;
159
159
  };
160
- declare const Client_base: new <PeerMetadata_1, TrackMetadata_1>() => TypedEmitter<Required<ClientEvents<PeerMetadata_1, TrackMetadata_1>>>;
161
- export declare class Client<PeerMetadata, TrackMetadata> extends Client_base<PeerMetadata, TrackMetadata> {
160
+ declare const Client_base: new () => TypedEmitter<Required<ClientEvents>>;
161
+ export declare class Client extends Client_base {
162
162
  private readonly tsClient;
163
- local: PeerState<PeerMetadata, TrackMetadata> | null;
164
- peers: Record<PeerId, PeerState<PeerMetadata, TrackMetadata>>;
165
- components: Record<PeerId, PeerState<PeerMetadata, TrackMetadata>>;
166
- peersTracks: Record<TrackId, TrackWithOrigin<PeerMetadata, TrackMetadata>>;
167
- componentsTracks: Record<TrackId, TrackWithOrigin<PeerMetadata, TrackMetadata>>;
163
+ local: PeerState | null;
164
+ peers: Record<PeerId, PeerState>;
165
+ components: Record<PeerId, PeerState>;
166
+ peersTracks: Record<TrackId, TrackWithOrigin>;
167
+ componentsTracks: Record<TrackId, TrackWithOrigin>;
168
168
  bandwidthEstimation: bigint;
169
169
  status: PeerStatus;
170
170
  media: MediaState | null;
@@ -172,13 +172,14 @@ export declare class Client<PeerMetadata, TrackMetadata> extends Client_base<Pee
172
172
  reconnectionStatus: ReconnectionStatus;
173
173
  videoDeviceManager: DeviceManager;
174
174
  audioDeviceManager: DeviceManager;
175
+ private initialized;
175
176
  constructor(config?: ReactClientCreteConfig<PeerMetadata, TrackMetadata>);
176
177
  setDeviceManagerConfig(config: DeviceManagerConfig): void;
177
178
  private trackContextToTrack;
178
179
  getTsClient: () => FishjamClient<PeerMetadata, TrackMetadata>;
179
- connect(config: ConnectConfig<PeerMetadata>): void;
180
+ connect(config: ConnectConfig): void;
180
181
  disconnect(): void;
181
- addTrack(track: MediaStreamTrack, trackMetadata?: TrackMetadata, simulcastConfig?: SimulcastConfig, maxBandwidth?: TrackBandwidthLimit): Promise<string>;
182
+ addTrack(track: MediaStreamTrack, simulcastConfig?: SimulcastConfig, maxBandwidth?: TrackBandwidthLimit): Promise<string>;
182
183
  removeTrack(trackId: string): Promise<void>;
183
184
  replaceTrack(trackId: string, newTrack: MediaStreamTrack | null): Promise<void>;
184
185
  getStatistics(selector?: MediaStreamTrack | null): Promise<RTCStatsReport>;
@@ -188,8 +189,6 @@ export declare class Client<PeerMetadata, TrackMetadata> extends Client_base<Pee
188
189
  setTargetTrackEncoding(trackId: string, encoding: Encoding): void;
189
190
  enableTrackEncoding(trackId: string, encoding: Encoding): Promise<void>;
190
191
  disableTrackEncoding(trackId: string, encoding: Encoding): Promise<void>;
191
- updatePeerMetadata: (peerMetadata: PeerMetadata) => void;
192
- updateTrackMetadata: (trackId: string, trackMetadata: TrackMetadata) => void;
193
192
  isReconnecting: () => boolean;
194
193
  initializeDevices: (config?: DeviceManagerInitConfig) => Promise<void>;
195
194
  startDevices: (config: DeviceManagerStartConfig) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
package/dist/Client.js CHANGED
@@ -16,6 +16,7 @@ export class Client extends EventEmitter {
16
16
  reconnectionStatus = "idle";
17
17
  videoDeviceManager;
18
18
  audioDeviceManager;
19
+ initialized = false;
19
20
  constructor(config) {
20
21
  super();
21
22
  this.tsClient = new FishjamClient(config?.clientConfig);
@@ -292,14 +293,14 @@ export class Client extends EventEmitter {
292
293
  getTsClient = () => this.tsClient;
293
294
  connect(config) {
294
295
  this.status = "connecting";
295
- this.tsClient.connect(config);
296
+ this.tsClient.connect({ ...config, peerMetadata: config?.peerMetadata ?? {} });
296
297
  }
297
298
  disconnect() {
298
299
  this.status = null;
299
300
  this.tsClient.disconnect();
300
301
  }
301
- addTrack(track, trackMetadata, simulcastConfig = { enabled: false, activeEncodings: [], disabledEncodings: [] }, maxBandwidth = 0) {
302
- return this.tsClient.addTrack(track, trackMetadata, simulcastConfig, maxBandwidth);
302
+ addTrack(track, simulcastConfig = { enabled: false, activeEncodings: [], disabledEncodings: [] }, maxBandwidth = 0) {
303
+ return this.tsClient.addTrack(track, undefined, simulcastConfig, maxBandwidth);
303
304
  }
304
305
  removeTrack(trackId) {
305
306
  return this.tsClient.removeTrack(trackId);
@@ -328,16 +329,15 @@ export class Client extends EventEmitter {
328
329
  disableTrackEncoding(trackId, encoding) {
329
330
  return this.tsClient.disableTrackEncoding(trackId, encoding);
330
331
  }
331
- updatePeerMetadata = (peerMetadata) => {
332
- this.tsClient.updatePeerMetadata(peerMetadata);
333
- };
334
- updateTrackMetadata = (trackId, trackMetadata) => {
335
- this.tsClient.updateTrackMetadata(trackId, trackMetadata);
336
- };
337
332
  isReconnecting = () => {
338
333
  return this.tsClient.isReconnecting();
339
334
  };
340
335
  initializeDevices = async (config) => {
336
+ // This function should be called only once.
337
+ // Any subsequent calls to this function will be ignored.
338
+ if (this.initialized)
339
+ return;
340
+ this.initialized = true;
341
341
  const constraints = {
342
342
  video: this.videoDeviceManager.getConstraints(config?.videoTrackConstraints),
343
343
  audio: this.audioDeviceManager.getConstraints(config?.audioTrackConstraints),
@@ -26,7 +26,7 @@ export declare class DeviceManager extends DeviceManager_base implements MediaMa
26
26
  private constraints;
27
27
  private storageConfig;
28
28
  private status;
29
- private deviceType;
29
+ private readonly deviceType;
30
30
  deviceState: DeviceState;
31
31
  constructor(deviceType: "audio" | "video", defaultConfig?: DeviceManagerConfig);
32
32
  private createStorageConfig;
@@ -43,6 +43,7 @@ export declare class DeviceManager extends DeviceManager_base implements MediaMa
43
43
  stop(): Promise<void>;
44
44
  disable(): void;
45
45
  enable(): void;
46
+ getDeviceType: () => "audio" | "video";
46
47
  setConfig(storage?: boolean | StorageConfig, constraints?: boolean | MediaTrackConstraints): void;
47
48
  }
48
49
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceManager.d.ts","sourceRoot":"","sources":["../src/DeviceManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAK1G,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAI9C,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,EAAE,CACd,KAAK,EAAE,WAAW,GAAG;QACnB,WAAW,EAAE,qBAAqB,GAAG,SAAS,CAAC;KAChD,EACD,KAAK,EAAE,WAAW,KACf,IAAI,CAAC;IACV,kBAAkB,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACjD,cAAc,EAAE,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7G,WAAW,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1E,YAAY,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACxF,aAAa,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,aAAa,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAE7C,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG,cAAc,GAAG,aAAa,GAAG,OAAO,CAAC;4CAGxD,YAAY,CAAC,mBAAmB,CAAC;AADtE,qBAAa,aACX,SAAQ,kBACR,YAAW,YAAY;IAEvB,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,aAAa,CAAuB;IAE5C,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,UAAU,CAAoB;IAE/B,WAAW,EAAE,WAAW,CAM7B;gBAEU,UAAU,EAAE,OAAO,GAAG,OAAO,EAAE,aAAa,CAAC,EAAE,mBAAmB;IAS9E,OAAO,CAAC,mBAAmB;IAMpB,SAAS,IAAI,mBAAmB;IAIhC,cAAc,CACnB,kBAAkB,EAAE,OAAO,GAAG,qBAAqB,GAAG,SAAS,GAC9D,qBAAqB,GAAG,SAAS;IAO7B,QAAQ,uCAAgC;IAExC,SAAS,2BAKd;IAEK,UAAU,WACP,WAAW,GAAG,IAAI,SACnB,gBAAgB,GAAG,IAAI,WACrB,eAAe,EAAE,kBACV,OAAO,UAChB,WAAW,GAAG,IAAI,iBAWzB;IAEF,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,YAAY,CAIlB;IAEK,aAAa,IAAI,eAAe,GAAG,IAAI;IAI9C,OAAO,CAAC,cAAc;IAMT,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO;IA4EjC,IAAI;IAOV,OAAO;IAWP,MAAM;IAWN,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,aAAa,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,qBAAqB;CAIlG"}
1
+ {"version":3,"file":"DeviceManager.d.ts","sourceRoot":"","sources":["../src/DeviceManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAK1G,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAI9C,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,EAAE,CACd,KAAK,EAAE,WAAW,GAAG;QACnB,WAAW,EAAE,qBAAqB,GAAG,SAAS,CAAC;KAChD,EACD,KAAK,EAAE,WAAW,KACf,IAAI,CAAC;IACV,kBAAkB,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACjD,cAAc,EAAE,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7G,WAAW,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1E,YAAY,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACxF,aAAa,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,aAAa,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAE7C,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG,cAAc,GAAG,aAAa,GAAG,OAAO,CAAC;4CAGxD,YAAY,CAAC,mBAAmB,CAAC;AADtE,qBAAa,aACX,SAAQ,kBACR,YAAW,YAAY;IAEvB,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,aAAa,CAAuB;IAE5C,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAExC,WAAW,EAAE,WAAW,CAM7B;gBAEU,UAAU,EAAE,OAAO,GAAG,OAAO,EAAE,aAAa,CAAC,EAAE,mBAAmB;IAS9E,OAAO,CAAC,mBAAmB;IAMpB,SAAS,IAAI,mBAAmB;IAIhC,cAAc,CACnB,kBAAkB,EAAE,OAAO,GAAG,qBAAqB,GAAG,SAAS,GAC9D,qBAAqB,GAAG,SAAS;IAO7B,QAAQ,uCAAgC;IAExC,SAAS,2BAKd;IAEK,UAAU,WACP,WAAW,GAAG,IAAI,SACnB,gBAAgB,GAAG,IAAI,WACrB,eAAe,EAAE,kBACV,OAAO,UAChB,WAAW,GAAG,IAAI,iBAWzB;IAEF,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,YAAY,CAIlB;IAEK,aAAa,IAAI,eAAe,GAAG,IAAI;IAI9C,OAAO,CAAC,cAAc;IAMT,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO;IA4EjC,IAAI;IAOV,OAAO;IAWP,MAAM;IAWN,aAAa,0BAElB;IAEK,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,aAAa,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,qBAAqB;CAIlG"}
@@ -150,6 +150,9 @@ export class DeviceManager extends EventEmitter {
150
150
  this.deviceState.media.enabled = true;
151
151
  this.emit("deviceEnabled", this.deviceState);
152
152
  }
153
+ getDeviceType = () => {
154
+ return this.deviceType;
155
+ };
153
156
  setConfig(storage, constraints) {
154
157
  this.storageConfig = this.createStorageConfig(storage);
155
158
  this.constraints = constraints ? toMediaTrackConstraints(constraints) : undefined;
package/dist/create.d.ts CHANGED
@@ -1,10 +1,10 @@
1
+ import type { CreateFishjamClient, DeviceManagerConfig, PeerMetadata, TrackMetadata } from "./types";
1
2
  import type { CreateConfig } from "@fishjam-cloud/ts-client";
2
- import type { DeviceManagerConfig, CreateFishjamClient } from "./types";
3
3
  /**
4
4
  * Create a client that can be used with a context.
5
5
  * Returns context provider, and two hooks to interact with the context.
6
6
  *
7
7
  * @returns ContextProvider, useSelector, useConnect
8
8
  */
9
- export declare function create<PeerMetadata, TrackMetadata>(config?: CreateConfig<PeerMetadata, TrackMetadata>, deviceManagerDefaultConfig?: DeviceManagerConfig): CreateFishjamClient<PeerMetadata, TrackMetadata>;
9
+ export declare function create(config?: CreateConfig<PeerMetadata, TrackMetadata>, deviceManagerDefaultConfig?: DeviceManagerConfig): CreateFishjamClient;
10
10
  //# sourceMappingURL=create.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EACV,mBAAmB,EAEnB,mBAAmB,EAMpB,MAAM,SAAS,CAAC;AAuDjB;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,YAAY,EAAE,aAAa,EAChD,MAAM,CAAC,EAAE,YAAY,CAAC,YAAY,EAAE,aAAa,CAAC,EAClD,0BAA0B,CAAC,EAAE,mBAAmB,GAC/C,mBAAmB,CAAC,YAAY,EAAE,aAAa,CAAC,CA0LlD"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,mBAAmB,EACnB,mBAAmB,EAGnB,YAAY,EAIZ,aAAa,EAGd,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAuD7D;;;;;GAKG;AACH,wBAAgB,MAAM,CACpB,MAAM,CAAC,EAAE,YAAY,CAAC,YAAY,EAAE,aAAa,CAAC,EAClD,0BAA0B,CAAC,EAAE,mBAAmB,GAC/C,mBAAmB,CA+KrB"}
package/dist/create.js CHANGED
@@ -61,12 +61,7 @@ const eventNames = [
61
61
  export function create(config, deviceManagerDefaultConfig) {
62
62
  const FishjamContext = createContext(undefined);
63
63
  function FishjamContextProvider({ children }) {
64
- const memoClient = useMemo(() => {
65
- return new Client({
66
- clientConfig: config,
67
- deviceManagerDefaultConfig,
68
- });
69
- }, []);
64
+ const memoClient = useMemo(() => new Client({ clientConfig: config, deviceManagerDefaultConfig }), []);
70
65
  const clientRef = useRef(memoClient);
71
66
  const mutationRef = useRef(false);
72
67
  const subscribe = useCallback((subscribeCallback) => {
@@ -83,7 +78,7 @@ export function create(config, deviceManagerDefaultConfig) {
83
78
  const lastSnapshotRef = useRef(null);
84
79
  const getSnapshot = useCallback(() => {
85
80
  if (mutationRef.current || lastSnapshotRef.current === null) {
86
- const state = {
81
+ lastSnapshotRef.current = {
87
82
  remote: clientRef.current.peers,
88
83
  media: clientRef.current.media,
89
84
  bandwidthEstimation: clientRef.current.bandwidthEstimation,
@@ -94,7 +89,6 @@ export function create(config, deviceManagerDefaultConfig) {
94
89
  client: clientRef.current,
95
90
  reconnectionStatus: clientRef.current.reconnectionStatus,
96
91
  };
97
- lastSnapshotRef.current = state;
98
92
  mutationRef.current = false;
99
93
  }
100
94
  return lastSnapshotRef.current;
package/dist/index.d.ts CHANGED
@@ -2,8 +2,9 @@ export { create } from "./create";
2
2
  export { Client } from "./Client";
3
3
  export type { ClientEvents } from "./Client";
4
4
  export type { PeerState, Track, PeerId, TrackId, TrackWithOrigin, Origin, PeerStatus, Selector, State, SetStore, } from "./state.types";
5
- export type { DeviceManagerConfig, StorageConfig, Devices, UserMediaAPI, UseSetupMediaResult, UseSetupMediaConfig, CreateFishjamClient, ScreenshareApi, UseConnect, TrackManager, TrackMiddleware, } from "./types";
5
+ export type { DeviceManagerConfig, StorageConfig, Devices, UserMediaAPI, UseSetupMediaResult, UseSetupMediaConfig, CreateFishjamClient, ScreenshareApi, UseConnect, ConnectConfig, TrackManager, TrackMiddleware, TrackMetadata, // only for compatibility reasons, will be removed in: FCE-415
6
+ PeerMetadata, } from "./types";
6
7
  export { AUDIO_TRACK_CONSTRAINTS, VIDEO_TRACK_CONSTRAINTS, SCREEN_SHARING_MEDIA_CONSTRAINTS } from "./constraints";
7
- export type { Peer, MessageEvents, CreateConfig, TrackBandwidthLimit, SimulcastBandwidthLimit, BandwidthLimit, WebRTCEndpointEvents, TrackContextEvents, Endpoint, SimulcastConfig, TrackContext, VadStatus, EncodingReason, MetadataParser, ConnectConfig, AuthErrorReason, Encoding, } from "@fishjam-cloud/ts-client";
8
+ export type { Peer, MessageEvents, CreateConfig, TrackBandwidthLimit, SimulcastBandwidthLimit, BandwidthLimit, WebRTCEndpointEvents, TrackContextEvents, Endpoint, SimulcastConfig, TrackContext, VadStatus, EncodingReason, MetadataParser, AuthErrorReason, Encoding, } from "@fishjam-cloud/ts-client";
8
9
  export { FishjamClient } from "@fishjam-cloud/ts-client";
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,YAAY,EACV,SAAS,EACT,KAAK,EACL,MAAM,EACN,OAAO,EACP,eAAe,EACf,MAAM,EACN,UAAU,EACV,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,OAAO,EACP,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAC;AAEnH,YAAY,EACV,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,SAAS,EACT,cAAc,EACd,cAAc,EACd,aAAa,EACb,eAAe,EACf,QAAQ,GACT,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,YAAY,EACV,SAAS,EACT,KAAK,EACL,MAAM,EACN,OAAO,EACP,eAAe,EACf,MAAM,EACN,UAAU,EACV,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,OAAO,EACP,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,UAAU,EACV,aAAa,EACb,YAAY,EACZ,eAAe,EACf,aAAa,EAAE,8DAA8D;AAC7E,YAAY,GACb,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAC;AAEnH,YAAY,EACV,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,SAAS,EACT,cAAc,EACd,cAAc,EACd,eAAe,EACf,QAAQ,GACT,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { FishjamClient } from "@fishjam-cloud/ts-client";
2
- import type { ScreenshareApi, ScreenshareState } from "./types";
3
- export declare const useScreenShare: <PeerMetadata, TrackMetadata>([state, setState]: [ScreenshareState, React.Dispatch<React.SetStateAction<ScreenshareState>>], tsClient: FishjamClient<PeerMetadata, TrackMetadata>) => ScreenshareApi<TrackMetadata>;
2
+ import type { PeerMetadata, ScreenshareApi, ScreenshareState, TrackMetadata } from "./types";
3
+ export declare const useScreenShare: ([state, setState]: [ScreenshareState, React.Dispatch<React.SetStateAction<ScreenshareState>>], tsClient: FishjamClient<PeerMetadata, TrackMetadata>) => ScreenshareApi;
4
4
  //# sourceMappingURL=screenShareTrackManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"screenShareTrackManager.d.ts","sourceRoot":"","sources":["../src/screenShareTrackManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG9D,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAoB,MAAM,SAAS,CAAC;AASlF,eAAO,MAAM,cAAc,GAAI,YAAY,EAAE,aAAa,qBAErC,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,YACnF,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,KACnD,cAAc,CAAC,aAAa,CAmG9B,CAAC"}
1
+ {"version":3,"file":"screenShareTrackManager.d.ts","sourceRoot":"","sources":["../src/screenShareTrackManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG9D,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAoB,MAAM,SAAS,CAAC;AAS/G,eAAO,MAAM,cAAc,sBAEN,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,YACnF,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,KACnD,cAmGF,CAAC"}
@@ -14,9 +14,9 @@ export const useScreenShare = (
14
14
  audio: props?.audioConstraints ?? true,
15
15
  });
16
16
  const [video, audio] = getTracks(stream);
17
- const addTrackPromises = [tsClient.addTrack(video, props?.metadata)];
17
+ const addTrackPromises = [tsClient.addTrack(video)];
18
18
  if (audio)
19
- addTrackPromises.push(tsClient.addTrack(audio, props?.metadata));
19
+ addTrackPromises.push(tsClient.addTrack(audio));
20
20
  const [videoId, audioId] = await Promise.all(addTrackPromises);
21
21
  setState({ stream, trackIds: { videoId, audioId } });
22
22
  };
@@ -1,36 +1,36 @@
1
1
  import type { Encoding, VadStatus, SimulcastConfig, ReconnectionStatus } from "@fishjam-cloud/ts-client";
2
- import type { MediaState } from "./types";
2
+ import type { MediaState, PeerMetadata, TrackMetadata } from "./types";
3
3
  import type { Devices } from "./types";
4
4
  import type { Client } from "./Client";
5
5
  export type TrackId = string;
6
6
  export type PeerId = string;
7
- export type Track<TrackMetadata> = {
7
+ export type Track = {
8
8
  stream: MediaStream | null;
9
9
  encoding: Encoding | null;
10
10
  trackId: TrackId;
11
11
  metadata?: TrackMetadata;
12
- rawMetadata: any;
12
+ rawMetadata: Record<string, unknown>;
13
13
  metadataParsingError?: any;
14
14
  simulcastConfig: SimulcastConfig | null;
15
15
  vadStatus: VadStatus;
16
16
  track: MediaStreamTrack | null;
17
17
  };
18
- export interface Origin<OriginMetadata> {
18
+ export interface Origin {
19
19
  id: string;
20
20
  type: string;
21
- metadata?: OriginMetadata;
22
- rawMetadata: any;
21
+ metadata?: PeerMetadata;
22
+ rawMetadata: Record<string, unknown>;
23
23
  metadataParsingError?: any;
24
24
  }
25
- export type TrackWithOrigin<PeerMetadata, TrackMetadata> = Track<TrackMetadata> & {
26
- origin: Origin<PeerMetadata>;
25
+ export type TrackWithOrigin = Track & {
26
+ origin: Origin;
27
27
  };
28
- export type PeerState<PeerMetadata, TrackMetadata> = {
28
+ export type PeerState = {
29
29
  id: PeerId;
30
30
  metadata?: PeerMetadata;
31
- rawMetadata: any;
31
+ rawMetadata: Record<string, unknown>;
32
32
  metadataParsingError?: any;
33
- tracks: Record<TrackId, Track<TrackMetadata>>;
33
+ tracks: Record<TrackId, Track>;
34
34
  };
35
35
  export type PeerStatus = "connecting" | "connected" | "authenticated" | "joined" | "error" | "closed" | null;
36
36
  export type UseReconnection = {
@@ -39,17 +39,17 @@ export type UseReconnection = {
39
39
  isError: boolean;
40
40
  isIdle: boolean;
41
41
  };
42
- export type State<PeerMetadata, TrackMetadata> = {
43
- local: PeerState<PeerMetadata, TrackMetadata> | null;
44
- remote: Record<PeerId, PeerState<PeerMetadata, TrackMetadata>>;
45
- tracks: Record<TrackId, TrackWithOrigin<PeerMetadata, TrackMetadata>>;
42
+ export type State = {
43
+ local: PeerState | null;
44
+ remote: Record<PeerId, PeerState>;
45
+ tracks: Record<TrackId, TrackWithOrigin>;
46
46
  bandwidthEstimation: bigint;
47
47
  status: PeerStatus;
48
48
  media: MediaState | null;
49
49
  devices: Devices;
50
- client: Client<PeerMetadata, TrackMetadata>;
50
+ client: Client;
51
51
  reconnectionStatus: ReconnectionStatus;
52
52
  };
53
- export type SetStore<PeerMetadata, TrackMetadata> = (setter: (prevState: State<PeerMetadata, TrackMetadata>) => State<PeerMetadata, TrackMetadata>) => void;
54
- export type Selector<PeerMetadata, TrackMetadata, Result> = (snapshot: State<PeerMetadata, TrackMetadata>) => Result;
53
+ export type SetStore = (setter: (prevState: State) => State) => void;
54
+ export type Selector<Result> = (snapshot: State) => Result;
55
55
  //# sourceMappingURL=state.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.types.d.ts","sourceRoot":"","sources":["../src/state.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.types.d.ts","sourceRoot":"","sources":["../src/state.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACzG,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAC7B,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAE5B,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,oBAAoB,CAAC,EAAE,GAAG,CAAC;IAC3B,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,oBAAoB,CAAC,EAAE,GAAG,CAAC;CAC5B;AAED,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG;IACpC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,oBAAoB,CAAC,EAAE,GAAG,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,WAAW,GAAG,eAAe,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC;AAE7G,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACzC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,kBAAkB,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC;AAErE,MAAM,MAAM,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,KAAK,KAAK,MAAM,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import type { FishjamClient } from "@fishjam-cloud/ts-client";
2
- import type { MediaManager, TrackManager } from "./types";
3
- interface TrackManagerConfig<PeerMetadata, TrackMetadata> {
2
+ import type { MediaManager, PeerMetadata, TrackManager, TrackMetadata } from "./types";
3
+ interface TrackManagerConfig {
4
4
  mediaManager: MediaManager;
5
5
  tsClient: FishjamClient<PeerMetadata, TrackMetadata>;
6
6
  }
7
- export declare const useTrackManager: <PeerMetadata, TrackMetadata>({ mediaManager, tsClient, }: TrackManagerConfig<PeerMetadata, TrackMetadata>) => TrackManager<TrackMetadata>;
7
+ export declare const useTrackManager: ({ mediaManager, tsClient }: TrackManagerConfig) => TrackManager;
8
8
  export {};
9
9
  //# sourceMappingURL=trackManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"trackManager.d.ts","sourceRoot":"","sources":["../src/trackManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAwC,MAAM,0BAA0B,CAAC;AACpG,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAmB,MAAM,SAAS,CAAC;AAK3E,UAAU,kBAAkB,CAAC,YAAY,EAAE,aAAa;IACtD,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;CACtD;AAED,eAAO,MAAM,eAAe,GAAI,YAAY,EAAE,aAAa,+BAGxD,kBAAkB,CAAC,YAAY,EAAE,aAAa,CAAC,KAAG,YAAY,CAAC,aAAa,CA8H9E,CAAC"}
1
+ {"version":3,"file":"trackManager.d.ts","sourceRoot":"","sources":["../src/trackManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAwC,MAAM,0BAA0B,CAAC;AACpG,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAmB,MAAM,SAAS,CAAC;AAKxG,UAAU,kBAAkB;IAC1B,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;CACtD;AAOD,eAAO,MAAM,eAAe,+BAAgC,kBAAkB,KAAG,YA6IhF,CAAC"}
@@ -1,8 +1,15 @@
1
1
  import { getRemoteOrLocalTrack } from "./utils/track";
2
2
  import { useEffect, useState } from "react";
3
- export const useTrackManager = ({ mediaManager, tsClient, }) => {
3
+ const TRACK_TYPE_TO_DEVICE = {
4
+ video: "camera",
5
+ audio: "microphone",
6
+ };
7
+ export const useTrackManager = ({ mediaManager, tsClient }) => {
4
8
  const [currentTrackId, setCurrentTrackId] = useState(null);
9
+ const [paused, setPaused] = useState(false);
5
10
  const [currentTrackMiddleware, setCurrentTrackMiddleware] = useState(null);
11
+ const type = TRACK_TYPE_TO_DEVICE[mediaManager.getDeviceType()];
12
+ const getMetadata = () => ({ type, paused });
6
13
  useEffect(() => {
7
14
  const disconnectedHandler = () => {
8
15
  setCurrentTrackId(null);
@@ -38,7 +45,7 @@ export const useTrackManager = ({ mediaManager, tsClient, }) => {
38
45
  async function stop() {
39
46
  mediaManager?.stop();
40
47
  }
41
- async function startStreaming(trackMetadata, simulcastConfig, maxBandwidth) {
48
+ async function startStreaming(simulcastConfig, maxBandwidth) {
42
49
  if (currentTrackId)
43
50
  throw Error("Track already added");
44
51
  const media = mediaManager.getMedia();
@@ -49,8 +56,10 @@ export const useTrackManager = ({ mediaManager, tsClient, }) => {
49
56
  return track.trackId;
50
57
  // see `getRemoteOrLocalTrackContext()` explanation
51
58
  setCurrentTrackId(media.track.id);
59
+ const trackMetadata = { ...getMetadata(), paused: false };
52
60
  const remoteTrackId = await tsClient.addTrack(media.track, trackMetadata, simulcastConfig, maxBandwidth);
53
61
  setCurrentTrackId(remoteTrackId);
62
+ setPaused(false);
54
63
  return remoteTrackId;
55
64
  }
56
65
  async function refreshStreamedTrack() {
@@ -63,18 +72,25 @@ export const useTrackManager = ({ mediaManager, tsClient, }) => {
63
72
  function stopStreaming() {
64
73
  const prevTrack = getPreviousTrack();
65
74
  setCurrentTrackId(null);
75
+ setPaused(true);
66
76
  return tsClient.removeTrack(prevTrack.trackId);
67
77
  }
68
- function pauseStreaming() {
78
+ async function pauseStreaming() {
69
79
  const prevTrack = getPreviousTrack();
70
- return tsClient.replaceTrack(prevTrack.trackId, null);
80
+ setPaused(true);
81
+ await tsClient.replaceTrack(prevTrack.trackId, null);
82
+ const trackMetadata = { ...getMetadata(), paused: true };
83
+ return tsClient.updateTrackMetadata(prevTrack.trackId, trackMetadata);
71
84
  }
72
- function resumeStreaming() {
85
+ async function resumeStreaming() {
73
86
  const prevTrack = getPreviousTrack();
74
87
  const media = mediaManager.getMedia();
75
88
  if (!media)
76
89
  throw Error("Device is unavailable");
77
- return tsClient.replaceTrack(prevTrack.trackId, media.track);
90
+ setPaused(false);
91
+ await tsClient.replaceTrack(prevTrack.trackId, media.track);
92
+ const trackMetadata = { ...getMetadata(), paused: false };
93
+ return tsClient.updateTrackMetadata(prevTrack.trackId, trackMetadata);
78
94
  }
79
95
  function disableTrack() {
80
96
  return mediaManager.disable();
@@ -95,5 +111,6 @@ export const useTrackManager = ({ mediaManager, tsClient, }) => {
95
111
  enableTrack,
96
112
  currentTrackMiddleware,
97
113
  refreshStreamedTrack,
114
+ paused,
98
115
  };
99
116
  };
package/dist/types.d.ts CHANGED
@@ -1,7 +1,15 @@
1
- import type { ConnectConfig, SimulcastConfig, TrackBandwidthLimit, TrackKind } from "@fishjam-cloud/ts-client";
1
+ import type { ConnectConfig as TSClientConnectConfig, SimulcastConfig, TrackBandwidthLimit, TrackKind } from "@fishjam-cloud/ts-client";
2
2
  import type { PeerState, PeerStatus, Selector, State, Track, TrackId, TrackWithOrigin, UseReconnection } from "./state.types";
3
3
  import type { JSX, ReactNode } from "react";
4
4
  import type { Client } from "./Client";
5
+ export type PeerMetadata = {
6
+ displayName?: string;
7
+ };
8
+ export type TrackMetadata = {
9
+ type: "camera" | "microphone" | "screenShareVideo" | "screenShareAudio";
10
+ paused: boolean;
11
+ displayName?: string;
12
+ };
5
13
  export type DevicesStatus = "OK" | "Error" | "Not requested" | "Requesting";
6
14
  export type MediaStatus = "OK" | "Error" | "Not requested" | "Requesting";
7
15
  export type Media = {
@@ -47,15 +55,11 @@ export type DeviceError = {
47
55
  } | {
48
56
  name: "UNHANDLED_ERROR";
49
57
  };
50
- export type Errors = {
51
- audio?: DeviceError | null;
52
- video?: DeviceError | null;
53
- };
54
58
  export type CurrentDevices = {
55
59
  videoinput: MediaDeviceInfo | null;
56
60
  audioinput: MediaDeviceInfo | null;
57
61
  };
58
- export type UseSetupMediaConfig<TrackMetadata> = {
62
+ export type UseSetupMediaConfig = {
59
63
  camera: {
60
64
  /**
61
65
  * Determines whether broadcasting should start when the user connects to the server with an active camera stream.
@@ -77,7 +81,6 @@ export type UseSetupMediaConfig<TrackMetadata> = {
77
81
  */
78
82
  onDeviceStop?: "remove" | "mute";
79
83
  trackConstraints: boolean | MediaTrackConstraints;
80
- defaultTrackMetadata?: TrackMetadata;
81
84
  defaultSimulcastConfig?: SimulcastConfig;
82
85
  defaultMaxBandwidth?: TrackBandwidthLimit;
83
86
  };
@@ -103,7 +106,6 @@ export type UseSetupMediaConfig<TrackMetadata> = {
103
106
  */
104
107
  onDeviceStop?: "remove" | "mute";
105
108
  trackConstraints: boolean | MediaTrackConstraints;
106
- defaultTrackMetadata?: TrackMetadata;
107
109
  defaultMaxBandwidth?: TrackBandwidthLimit;
108
110
  };
109
111
  screenShare: {
@@ -115,7 +117,6 @@ export type UseSetupMediaConfig<TrackMetadata> = {
115
117
  * Determines whether broadcasting should start when the user initiates the camera and is connected to the server.
116
118
  */
117
119
  broadcastOnDeviceStart?: boolean;
118
- defaultTrackMetadata?: TrackMetadata;
119
120
  defaultMaxBandwidth?: TrackBandwidthLimit;
120
121
  };
121
122
  startOnMount?: boolean;
@@ -135,6 +136,7 @@ export interface MediaManager {
135
136
  track: MediaStreamTrack | null;
136
137
  enabled: boolean;
137
138
  } | null;
139
+ getDeviceType: () => "audio" | "video";
138
140
  }
139
141
  export type TrackMiddleware = ((track: MediaStreamTrack | null) => MediaStreamTrack | null) | null;
140
142
  export type ScreenshareState = {
@@ -145,19 +147,20 @@ export type ScreenshareState = {
145
147
  };
146
148
  tracksMiddleware?: TracksMiddleware | null;
147
149
  } | null;
148
- export interface TrackManager<TrackMetadata> {
150
+ export interface TrackManager {
149
151
  initialize: (deviceId?: string) => Promise<void>;
150
152
  stop: () => Promise<void>;
151
- startStreaming: (trackMetadata?: TrackMetadata, simulcastConfig?: SimulcastConfig, maxBandwidth?: TrackBandwidthLimit) => Promise<string>;
153
+ startStreaming: (simulcastConfig?: SimulcastConfig, maxBandwidth?: TrackBandwidthLimit) => Promise<string>;
152
154
  stopStreaming: () => Promise<void>;
153
155
  pauseStreaming: () => Promise<void>;
154
156
  resumeStreaming: () => Promise<void>;
157
+ paused: boolean;
155
158
  disableTrack: () => void;
156
159
  enableTrack: () => void;
157
160
  setTrackMiddleware: (middleware: TrackMiddleware) => Promise<void>;
158
161
  currentTrackMiddleware: TrackMiddleware;
159
162
  refreshStreamedTrack: () => Promise<void>;
160
- getCurrentTrack: () => Track<TrackMetadata> | null;
163
+ getCurrentTrack: () => Track | null;
161
164
  }
162
165
  export type UserMediaAPI = {
163
166
  status: DevicesStatus | null;
@@ -173,9 +176,8 @@ export type TrackManagerState = {
173
176
  currentTrackId: TrackId | null;
174
177
  currentTrackMiddleware: TrackMiddleware;
175
178
  };
176
- export type ScreenshareApi<TrackMetadata> = {
179
+ export type ScreenshareApi = {
177
180
  startStreaming: (props?: {
178
- metadata?: TrackMetadata;
179
181
  audioConstraints?: boolean | MediaTrackConstraints;
180
182
  videoConstraints?: boolean | MediaTrackConstraints;
181
183
  }) => Promise<void>;
@@ -183,8 +185,8 @@ export type ScreenshareApi<TrackMetadata> = {
183
185
  stream: MediaStream | null;
184
186
  videoTrack: MediaStreamTrack | null;
185
187
  audioTrack: MediaStreamTrack | null;
186
- videoBroadcast: Track<TrackMetadata> | null;
187
- audioBroadcast: Track<TrackMetadata> | null;
188
+ videoBroadcast: Track | null;
189
+ audioBroadcast: Track | null;
188
190
  setTracksMiddleware: (middleware: TracksMiddleware | null) => Promise<void>;
189
191
  currentTracksMiddleware: TracksMiddleware | null;
190
192
  };
@@ -196,35 +198,38 @@ export type FishjamContextProviderProps = {
196
198
  children: ReactNode;
197
199
  };
198
200
  export type TracksMiddleware = (videoTrack: MediaStreamTrack, audioTrack: MediaStreamTrack | null) => [MediaStreamTrack, MediaStreamTrack | null];
199
- export type FishjamContextType<PeerMetadata, TrackMetadata> = {
200
- state: State<PeerMetadata, TrackMetadata>;
201
+ export type FishjamContextType = {
202
+ state: State;
201
203
  screenshareState: [ScreenshareState, React.Dispatch<React.SetStateAction<ScreenshareState>>];
202
- videoTrackManager: TrackManager<TrackMetadata>;
203
- audioTrackManager: TrackManager<TrackMetadata>;
204
+ videoTrackManager: TrackManager;
205
+ audioTrackManager: TrackManager;
206
+ };
207
+ export type ConnectConfig = Omit<TSClientConnectConfig<PeerMetadata>, "peerMetadata"> & {
208
+ peerMetadata?: PeerMetadata;
204
209
  };
205
- export type UseConnect<PeerMetadata> = (config: ConnectConfig<PeerMetadata>) => () => void;
206
- type DistinguishedTracks<TrackMetadata> = {
207
- videoTracks: Track<TrackMetadata>[];
208
- audioTracks: Track<TrackMetadata>[];
210
+ export type UseConnect = (config: ConnectConfig) => () => void;
211
+ type DistinguishedTracks = {
212
+ videoTracks: Track[];
213
+ audioTracks: Track[];
209
214
  };
210
- export type PeerStateWithTracks<PeerMetadata, TrackMetadata> = PeerState<PeerMetadata, TrackMetadata> & DistinguishedTracks<TrackMetadata>;
211
- export type CreateFishjamClient<PeerMetadata, TrackMetadata> = {
215
+ export type PeerStateWithTracks = PeerState & DistinguishedTracks;
216
+ export type CreateFishjamClient = {
212
217
  FishjamContextProvider: ({ children }: FishjamContextProviderProps) => JSX.Element;
213
- useConnect: () => (config: ConnectConfig<PeerMetadata>) => () => void;
218
+ useConnect: () => (config: ConnectConfig) => () => void;
214
219
  useDisconnect: () => () => void;
215
220
  useStatus: () => PeerStatus;
216
- useSelector: <Result>(selector: Selector<PeerMetadata, TrackMetadata, Result>) => Result;
217
- useTracks: () => Record<TrackId, TrackWithOrigin<PeerMetadata, TrackMetadata>>;
218
- useSetupMedia: (config: UseSetupMediaConfig<TrackMetadata>) => UseSetupMediaResult;
219
- useCamera: () => Devices["camera"] & TrackManager<TrackMetadata>;
220
- useMicrophone: () => Devices["microphone"] & TrackManager<TrackMetadata>;
221
- useClient: () => Client<PeerMetadata, TrackMetadata>;
221
+ useSelector: <Result>(selector: Selector<Result>) => Result;
222
+ useTracks: () => Record<TrackId, TrackWithOrigin>;
223
+ useSetupMedia: (config: UseSetupMediaConfig) => UseSetupMediaResult;
224
+ useCamera: () => Devices["camera"] & TrackManager;
225
+ useMicrophone: () => Devices["microphone"] & TrackManager;
226
+ useClient: () => Client;
222
227
  useReconnection: () => UseReconnection;
223
228
  useParticipants: () => {
224
- localParticipant: PeerStateWithTracks<PeerMetadata, TrackMetadata> | null;
225
- participants: PeerStateWithTracks<PeerMetadata, TrackMetadata>[];
229
+ localParticipant: PeerStateWithTracks | null;
230
+ participants: PeerStateWithTracks[];
226
231
  };
227
- useScreenShare: () => ScreenshareApi<TrackMetadata>;
232
+ useScreenShare: () => ScreenshareApi;
228
233
  };
229
234
  export type TrackType = TrackKind | "audiovideo";
230
235
  export type MediaDeviceType = "displayMedia" | "userMedia";
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import type { FishjamContextType, UseSetupMediaConfig, UseSetupMediaResult } from "./types";
2
- export declare const createUseSetupMediaHook: <PeerMetadata, TrackMetadata>(useFishjamContext: () => FishjamContextType<PeerMetadata, TrackMetadata>) => (config: UseSetupMediaConfig<TrackMetadata>) => UseSetupMediaResult;
2
+ export declare const createUseSetupMediaHook: (useFishjamContext: () => FishjamContextType) => (config: UseSetupMediaConfig) => UseSetupMediaResult;
3
3
  //# sourceMappingURL=useSetupMedia.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSetupMedia.d.ts","sourceRoot":"","sources":["../src/useSetupMedia.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAK5F,eAAO,MAAM,uBAAuB,GAAI,YAAY,EAAE,aAAa,qBAC9C,MAAM,kBAAkB,CAAC,YAAY,EAAE,aAAa,CAAC,cAQxD,mBAAmB,CAAC,aAAa,CAAC,KAAG,mBAiQtD,CAAC"}
1
+ {"version":3,"file":"useSetupMedia.d.ts","sourceRoot":"","sources":["../src/useSetupMedia.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAK5F,eAAO,MAAM,uBAAuB,sBAAuB,MAAM,kBAAkB,cAOjE,mBAAmB,KAAG,mBA+OvC,CAAC"}
@@ -14,13 +14,10 @@ export const createUseSetupMediaHook = (useFishjamContext) => {
14
14
  useEffect(() => {
15
15
  if (!configRef.current.startOnMount)
16
16
  return;
17
- if (state.client.audioDeviceManager.getStatus() === "uninitialized" ||
18
- state.client.videoDeviceManager.getStatus() === "uninitialized") {
19
- state.client.initializeDevices({
20
- audioTrackConstraints: configRef?.current.microphone.trackConstraints,
21
- videoTrackConstraints: configRef?.current.camera.trackConstraints,
22
- });
23
- }
17
+ state.client.initializeDevices({
18
+ audioTrackConstraints: configRef?.current.microphone.trackConstraints,
19
+ videoTrackConstraints: configRef?.current.camera.trackConstraints,
20
+ });
24
21
  // eslint-disable-next-line
25
22
  }, []);
26
23
  useEffect(() => {
@@ -33,7 +30,7 @@ export const createUseSetupMediaHook = (useFishjamContext) => {
33
30
  if (!stream && config.broadcastOnDeviceStart) {
34
31
  pending = true;
35
32
  await videoTrackManager
36
- .startStreaming(config.defaultTrackMetadata, config.defaultSimulcastConfig, config.defaultMaxBandwidth)
33
+ .startStreaming(config.defaultSimulcastConfig, config.defaultMaxBandwidth)
37
34
  .finally(() => {
38
35
  pending = false;
39
36
  });
@@ -102,7 +99,7 @@ export const createUseSetupMediaHook = (useFishjamContext) => {
102
99
  const stream = camera.stream;
103
100
  const config = configRef.current.camera;
104
101
  if (stream && config.broadcastOnConnect) {
105
- await videoTrackManager.startStreaming(config.defaultTrackMetadata, config.defaultSimulcastConfig, config.defaultMaxBandwidth);
102
+ await videoTrackManager.startStreaming(config.defaultSimulcastConfig, config.defaultMaxBandwidth);
106
103
  }
107
104
  };
108
105
  state.client.on("joined", broadcastCameraOnConnect);
@@ -119,9 +116,7 @@ export const createUseSetupMediaHook = (useFishjamContext) => {
119
116
  if (isBroadcastedTrackChanged(client, pending)) {
120
117
  if (!stream && config.broadcastOnDeviceStart) {
121
118
  pending = true;
122
- await audioTrackManager
123
- .startStreaming(config.defaultTrackMetadata, undefined, config.defaultMaxBandwidth)
124
- .finally(() => {
119
+ await audioTrackManager.startStreaming(undefined, config.defaultMaxBandwidth).finally(() => {
125
120
  pending = false;
126
121
  });
127
122
  }
@@ -188,7 +183,7 @@ export const createUseSetupMediaHook = (useFishjamContext) => {
188
183
  const config = configRef.current.microphone;
189
184
  const microphone = client.devices.microphone;
190
185
  if (microphone.stream && config.broadcastOnConnect) {
191
- await audioTrackManager.startStreaming(config.defaultTrackMetadata, undefined, config.defaultMaxBandwidth);
186
+ await audioTrackManager.startStreaming(undefined, config.defaultMaxBandwidth);
192
187
  }
193
188
  };
194
189
  state.client.on("joined", broadcastMicrophoneOnConnect);
@@ -1,4 +1,5 @@
1
1
  import type { FishjamClient } from "@fishjam-cloud/ts-client";
2
2
  import type { Track } from "../state.types";
3
- export declare const getRemoteOrLocalTrack: <PeerMetadata, TrackMetadata>(tsClient: FishjamClient<PeerMetadata, TrackMetadata>, remoteOrLocalTrackId: string | null) => Track<TrackMetadata> | null;
3
+ import type { PeerMetadata, TrackMetadata } from "../types";
4
+ export declare const getRemoteOrLocalTrack: (tsClient: FishjamClient<PeerMetadata, TrackMetadata>, remoteOrLocalTrackId: string | null) => Track | null;
4
5
  //# sourceMappingURL=track.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"track.d.ts","sourceRoot":"","sources":["../../src/utils/track.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAsC5C,eAAO,MAAM,qBAAqB,GAAI,YAAY,EAAE,aAAa,YACrD,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,wBAC9B,MAAM,GAAG,IAAI,gCAKpC,CAAC"}
1
+ {"version":3,"file":"track.d.ts","sourceRoot":"","sources":["../../src/utils/track.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAsC5D,eAAO,MAAM,qBAAqB,aACtB,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,wBAC9B,MAAM,GAAG,IAAI,iBAKpC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fishjam-cloud/react-client",
3
- "version": "0.5.2",
3
+ "version": "0.5.5",
4
4
  "description": "React client library for Fishjam Cloud",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Fishjam Cloud Team",
@@ -50,11 +50,11 @@
50
50
  "react": "^18.2.0",
51
51
  "typed-emitter": "^2.1.0",
52
52
  "typedoc": "^0.26.6",
53
- "typedoc-plugin-mdn-links": "^3.2.9",
53
+ "typedoc-plugin-mdn-links": "^3.2.10",
54
54
  "typescript": "^5.5.4"
55
55
  },
56
56
  "dependencies": {
57
- "@fishjam-cloud/ts-client": "0.5.2",
57
+ "@fishjam-cloud/ts-client": "0.5.5",
58
58
  "events": "3.3.0",
59
59
  "lodash.isequal": "4.5.0"
60
60
  },
package/readme.md CHANGED
@@ -61,22 +61,9 @@ import { SCREEN_SHARING_MEDIA_CONSTRAINTS } from "@fishjam-cloud/react-client";
61
61
  import { create } from "@fishjam-cloud/react-client";
62
62
  import { useState } from "react";
63
63
 
64
- // Example metadata types for peer and track
65
- // You can define your own metadata types just make sure they are serializable
66
- export type PeerMetadata = {
67
- name: string;
68
- };
69
-
70
- export type TrackMetadata = {
71
- type: "camera" | "screen";
72
- };
73
-
74
64
  // Create a Fishjam client instance
75
65
  // remember to use FishjamContextProvider
76
- export const { useApi, useTracks, useStatus, useConnect, useDisconnect, FishjamContextProvider } = create<
77
- PeerMetadata,
78
- TrackMetadata
79
- >();
66
+ export const { useApi, useTracks, useStatus, useConnect, useDisconnect, FishjamContextProvider } = create();
80
67
 
81
68
  export const App = () => {
82
69
  const [token, setToken] = useState("");
@@ -96,7 +83,6 @@ export const App = () => {
96
83
  onClick={() => {
97
84
  if (!token || token === "") throw Error("Token is empty");
98
85
  connect({
99
- peerMetadata: { name: "John Doe" }, // example metadata
100
86
  token: token,
101
87
  });
102
88
  }}