@fishjam-cloud/react-client 0.5.1 → 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,62 +1,57 @@
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
+ import { FishjamClient } from "@fishjam-cloud/ts-client";
3
4
  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";
5
+ import type { ConnectConfig, DeviceManagerConfig, DeviceManagerInitConfig, DeviceManagerStartConfig, Devices, DeviceState, MediaDeviceType, MediaState, PeerMetadata, TrackMetadata, TrackType } from "./types";
7
6
  import type { DeviceManagerEvents } from "./DeviceManager";
8
7
  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>>;
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>;
16
14
  bandwidthEstimation: bigint;
17
15
  status: PeerStatus;
18
16
  media: MediaState | null;
19
- devices: Devices<TrackMetadata>;
20
- videoTrackManager: TrackManager<PeerMetadata, TrackMetadata>;
21
- audioTrackManager: TrackManager<PeerMetadata, TrackMetadata>;
22
- screenShareManager: ScreenShareManager;
17
+ devices: Devices;
23
18
  isReconnecting: () => boolean;
24
19
  };
25
20
  type DeviceTypeInfo = {
26
21
  mediaDeviceType: MediaDeviceType;
27
22
  trackType: TrackType;
28
23
  };
29
- export interface ClientEvents<PeerMetadata, TrackMetadata> {
24
+ export interface ClientEvents {
30
25
  /**
31
26
  * Emitted when the websocket connection is closed
32
27
  *
33
28
  * @param {CloseEvent} event - Close event object from the websocket
34
29
  */
35
- socketClose: (event: CloseEvent, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
30
+ socketClose: (event: CloseEvent, client: ClientApi) => void;
36
31
  /**
37
32
  * Emitted when occurs an error in the websocket connection
38
33
  *
39
34
  * @param {Event} event - Event object from the websocket
40
35
  */
41
- socketError: (event: Event, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
36
+ socketError: (event: Event, client: ClientApi) => void;
42
37
  /**
43
38
  * Emitted when the websocket connection is opened
44
39
  *
45
40
  * @param {Event} event - Event object from the websocket
46
41
  */
47
- socketOpen: (event: Event, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
42
+ socketOpen: (event: Event, client: ClientApi) => void;
48
43
  /** Emitted when authentication is successful */
49
- authSuccess: (client: ClientApi<PeerMetadata, TrackMetadata>) => void;
44
+ authSuccess: (client: ClientApi) => void;
50
45
  /** Emitted when authentication fails */
51
- authError: (reason: AuthErrorReason, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
46
+ authError: (reason: AuthErrorReason, client: ClientApi) => void;
52
47
  /** Emitted when the connection is closed */
53
- disconnected: (client: ClientApi<PeerMetadata, TrackMetadata>) => void;
48
+ disconnected: (client: ClientApi) => void;
54
49
  /** Emitted on successful reconnection */
55
- reconnected: (client: ClientApi<PeerMetadata, TrackMetadata>) => void;
50
+ reconnected: (client: ClientApi) => void;
56
51
  /** Emitted when the process of reconnection starts */
57
- reconnectionStarted: (client: ClientApi<PeerMetadata, TrackMetadata>) => void;
52
+ reconnectionStarted: (client: ClientApi) => void;
58
53
  /** Emitted when the maximum number of reconnection retries is reached */
59
- reconnectionRetriesLimitReached: (client: ClientApi<PeerMetadata, TrackMetadata>) => void;
54
+ reconnectionRetriesLimitReached: (client: ClientApi) => void;
60
55
  /**
61
56
  * Called when peer was accepted.
62
57
  */
@@ -64,133 +59,129 @@ export interface ClientEvents<PeerMetadata, TrackMetadata> {
64
59
  peerId: string;
65
60
  peers: Peer<PeerMetadata, TrackMetadata>[];
66
61
  components: Component<PeerMetadata, TrackMetadata>[];
67
- }, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
62
+ }, client: ClientApi) => void;
68
63
  /**
69
64
  * Called when peer was not accepted
70
65
  * @param metadata - Pass through for client application to communicate further actions to frontend
71
66
  */
72
- joinError: (metadata: any, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
67
+ joinError: (metadata: any, client: ClientApi) => void;
73
68
  /**
74
69
  * Called when data in a new track arrives.
75
70
  *
76
71
  * This callback is always called after {@link MessageEvents.trackAdded}.
77
72
  * It informs user that data related to the given track arrives and can be played or displayed.
78
73
  */
79
- trackReady: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
74
+ trackReady: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
80
75
  /**
81
76
  * Called each time the peer which was already in the room, adds new track. Fields track and stream will be set to null.
82
77
  * These fields will be set to non-null value in {@link MessageEvents.trackReady}
83
78
  */
84
- trackAdded: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
79
+ trackAdded: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
85
80
  /**
86
81
  * Called when some track will no longer be sent.
87
82
  *
88
83
  * It will also be called before {@link MessageEvents.peerLeft} for each track of this peer.
89
84
  */
90
- trackRemoved: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
85
+ trackRemoved: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
91
86
  /**
92
87
  * Called each time peer has its track metadata updated.
93
88
  */
94
- trackUpdated: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
89
+ trackUpdated: (ctx: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
95
90
  /**
96
91
  * Called each time new peer joins the room.
97
92
  */
98
- peerJoined: (peer: Peer<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
93
+ peerJoined: (peer: Peer<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
99
94
  /**
100
95
  * Called each time peer leaves the room.
101
96
  */
102
- peerLeft: (peer: Peer<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
97
+ peerLeft: (peer: Peer<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
103
98
  /**
104
99
  * Called each time peer has its metadata updated.
105
100
  */
106
- peerUpdated: (peer: Peer<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
101
+ peerUpdated: (peer: Peer<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
107
102
  /**
108
103
  * Called each time new Component is added to the room.
109
104
  */
110
- componentAdded: (peer: Component<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
105
+ componentAdded: (peer: Component<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
111
106
  /**
112
107
  * Called each time Component is removed from the room.
113
108
  */
114
- componentRemoved: (peer: Component<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
109
+ componentRemoved: (peer: Component<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
115
110
  /**
116
111
  * Called each time Component has its metadata updated.
117
112
  */
118
- componentUpdated: (peer: Component<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
113
+ componentUpdated: (peer: Component<PeerMetadata, TrackMetadata>, client: ClientApi) => void;
119
114
  /**
120
115
  * Called in case of errors related to multimedia session e.g. ICE connection.
121
116
  */
122
- 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;
123
118
  /**
124
119
  * Called every time the server estimates client's bandiwdth.
125
120
  *
126
121
  * @param {bigint} estimation - client's available incoming bitrate estimated
127
122
  * by the server. It's measured in bits per second.
128
123
  */
129
- bandwidthEstimationChanged: (estimation: bigint, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
130
- 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;
131
126
  /**
132
127
  * Emitted every time an update about voice activity is received from the server.
133
128
  */
134
- voiceActivityChanged: (context: TrackContext<PeerMetadata, TrackMetadata>, client: ClientApi<PeerMetadata, TrackMetadata>) => void;
135
- 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;
136
131
  managerInitialized: (event: {
137
132
  audio?: DeviceState;
138
133
  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;
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;
160
155
  }
161
156
  export type ReactClientCreteConfig<PeerMetadata, TrackMetadata> = {
162
157
  clientConfig?: CreateConfig<PeerMetadata, TrackMetadata>;
163
158
  deviceManagerDefaultConfig?: DeviceManagerConfig;
164
- screenShareManagerDefaultConfig?: ScreenShareManagerConfig;
165
159
  };
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> {
160
+ declare const Client_base: new () => TypedEmitter<Required<ClientEvents>>;
161
+ export declare class Client extends Client_base {
168
162
  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>>;
163
+ local: PeerState | null;
164
+ peers: Record<PeerId, PeerState>;
165
+ components: Record<PeerId, PeerState>;
166
+ peersTracks: Record<TrackId, TrackWithOrigin>;
167
+ componentsTracks: Record<TrackId, TrackWithOrigin>;
175
168
  bandwidthEstimation: bigint;
176
169
  status: PeerStatus;
177
170
  media: MediaState | null;
178
- devices: Devices<TrackMetadata>;
171
+ devices: Devices;
179
172
  reconnectionStatus: ReconnectionStatus;
180
- private currentScreenShareTrackId;
181
173
  videoDeviceManager: DeviceManager;
182
174
  audioDeviceManager: DeviceManager;
183
- videoTrackManager: TrackManager<PeerMetadata, TrackMetadata>;
184
- audioTrackManager: TrackManager<PeerMetadata, TrackMetadata>;
175
+ private initialized;
185
176
  constructor(config?: ReactClientCreteConfig<PeerMetadata, TrackMetadata>);
186
- setScreenManagerConfig(config: ScreenShareManagerConfig): void;
187
177
  setDeviceManagerConfig(config: DeviceManagerConfig): void;
188
178
  private trackContextToTrack;
189
- connect(config: ConnectConfig<PeerMetadata>): void;
179
+ getTsClient: () => FishjamClient<PeerMetadata, TrackMetadata>;
180
+ connect(config: ConnectConfig): void;
190
181
  disconnect(): void;
191
- addTrack(track: MediaStreamTrack, trackMetadata?: TrackMetadata, simulcastConfig?: SimulcastConfig, maxBandwidth?: TrackBandwidthLimit): Promise<string>;
182
+ addTrack(track: MediaStreamTrack, simulcastConfig?: SimulcastConfig, maxBandwidth?: TrackBandwidthLimit): Promise<string>;
192
183
  removeTrack(trackId: string): Promise<void>;
193
- replaceTrack(trackId: string, newTrack: MediaStreamTrack | null, newTrackMetadata?: TrackMetadata): Promise<void>;
184
+ replaceTrack(trackId: string, newTrack: MediaStreamTrack | null): Promise<void>;
194
185
  getStatistics(selector?: MediaStreamTrack | null): Promise<RTCStatsReport>;
195
186
  getBandwidthEstimation(): bigint;
196
187
  setTrackBandwidth(trackId: string, bandwidth: BandwidthLimit): Promise<boolean>;
@@ -198,12 +189,9 @@ export declare class Client<PeerMetadata, TrackMetadata> extends Client_base<Pee
198
189
  setTargetTrackEncoding(trackId: string, encoding: Encoding): void;
199
190
  enableTrackEncoding(trackId: string, encoding: Encoding): Promise<void>;
200
191
  disableTrackEncoding(trackId: string, encoding: Encoding): Promise<void>;
201
- updatePeerMetadata: (peerMetadata: PeerMetadata) => void;
202
- updateTrackMetadata: (trackId: string, trackMetadata: TrackMetadata) => void;
203
192
  isReconnecting: () => boolean;
204
193
  initializeDevices: (config?: DeviceManagerInitConfig) => Promise<void>;
205
194
  startDevices: (config: DeviceManagerStartConfig) => Promise<void>;
206
- private getRemoteTrack;
207
195
  private stateToSnapshot;
208
196
  }
209
197
  export {};
@@ -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
@@ -1,12 +1,9 @@
1
1
  import EventEmitter from "events";
2
2
  import { FishjamClient } from "@fishjam-cloud/ts-client";
3
- import { ScreenShareManager } from "./ScreenShareManager";
4
3
  import { DeviceManager } from "./DeviceManager";
5
- import { TrackManager } from "./trackManager";
6
4
  import { getAvailableMedia, getCorrectedResult } from "./mediaInitializer";
7
5
  export class Client extends EventEmitter {
8
6
  tsClient;
9
- screenShareManager;
10
7
  local = null;
11
8
  peers = {};
12
9
  components = {};
@@ -17,22 +14,16 @@ export class Client extends EventEmitter {
17
14
  media = null;
18
15
  devices;
19
16
  reconnectionStatus = "idle";
20
- currentScreenShareTrackId = null;
21
17
  videoDeviceManager;
22
18
  audioDeviceManager;
23
- videoTrackManager;
24
- audioTrackManager;
19
+ initialized = false;
25
20
  constructor(config) {
26
21
  super();
27
22
  this.tsClient = new FishjamClient(config?.clientConfig);
28
23
  this.videoDeviceManager = new DeviceManager("video", config?.deviceManagerDefaultConfig);
29
24
  this.audioDeviceManager = new DeviceManager("audio", config?.deviceManagerDefaultConfig);
30
- this.videoTrackManager = new TrackManager(this.tsClient, this.videoDeviceManager);
31
- this.audioTrackManager = new TrackManager(this.tsClient, this.audioDeviceManager);
32
- this.screenShareManager = new ScreenShareManager(config?.screenShareManagerDefaultConfig);
33
25
  this.devices = {
34
26
  camera: {
35
- broadcast: null,
36
27
  status: null,
37
28
  stream: null,
38
29
  track: null,
@@ -43,7 +34,6 @@ export class Client extends EventEmitter {
43
34
  devices: null,
44
35
  },
45
36
  microphone: {
46
- broadcast: null,
47
37
  status: null,
48
38
  stream: null,
49
39
  track: null,
@@ -53,23 +43,13 @@ export class Client extends EventEmitter {
53
43
  error: null,
54
44
  devices: null,
55
45
  },
56
- screenShare: {
57
- cleanup: async () => { },
58
- disableTrack: () => { },
59
- enableTrack: () => { },
60
- initialize: async () => { },
61
- startStreaming: (_trackMetadata, _maxBandwidth) => Promise.reject(),
62
- stopStreaming: () => Promise.reject(),
63
- broadcast: null,
64
- status: null,
65
- stream: null,
66
- track: null,
67
- enabled: false,
68
- mediaStatus: null,
69
- error: null,
70
- },
71
46
  };
72
47
  this.stateToSnapshot();
48
+ this.tsClient.on("disconnected", () => {
49
+ this.status = null;
50
+ this.stateToSnapshot();
51
+ this.emit("disconnected", this);
52
+ });
73
53
  this.tsClient.on("socketOpen", (event) => {
74
54
  this.status = "connected";
75
55
  this.stateToSnapshot();
@@ -93,14 +73,6 @@ export class Client extends EventEmitter {
93
73
  this.status = "error";
94
74
  this.emit("authError", reason, this);
95
75
  });
96
- this.tsClient.on("disconnected", () => {
97
- this.status = null;
98
- this.videoTrackManager.stopStreaming();
99
- this.audioTrackManager.stopStreaming();
100
- this.currentScreenShareTrackId = null;
101
- this.stateToSnapshot();
102
- this.emit("disconnected", this);
103
- });
104
76
  this.tsClient.on("joined", (peerId, peers, components) => {
105
77
  this.status = "joined";
106
78
  this.stateToSnapshot();
@@ -248,32 +220,6 @@ export class Client extends EventEmitter {
248
220
  this.stateToSnapshot();
249
221
  this.emit("error", event, this);
250
222
  });
251
- this.screenShareManager.on("deviceDisabled", (event) => {
252
- this.stateToSnapshot();
253
- this.emit("deviceDisabled", { trackType: event.type, mediaDeviceType: "displayMedia" }, this);
254
- });
255
- this.screenShareManager.on("deviceEnabled", (event) => {
256
- this.stateToSnapshot();
257
- this.emit("deviceEnabled", { trackType: event.type, mediaDeviceType: "displayMedia" }, this);
258
- });
259
- this.screenShareManager.on("deviceStopped", async (event) => {
260
- this.stateToSnapshot();
261
- this.emit("deviceStopped", { trackType: event.type, mediaDeviceType: "displayMedia" }, this);
262
- });
263
- this.screenShareManager.on("deviceReady", (event, state) => {
264
- this.stateToSnapshot();
265
- if (!state.videoMedia?.stream)
266
- throw Error("Invalid screen share state");
267
- this.emit("deviceReady", {
268
- trackType: event.type,
269
- stream: state.videoMedia.stream,
270
- mediaDeviceType: "displayMedia",
271
- }, this);
272
- });
273
- this.screenShareManager.on("error", (a) => {
274
- this.stateToSnapshot();
275
- this.emit("error", a, this);
276
- });
277
223
  this.tsClient?.on("targetTrackEncodingRequested", (event) => {
278
224
  this.stateToSnapshot();
279
225
  this.emit("targetTrackEncodingRequested", event, this);
@@ -327,9 +273,6 @@ export class Client extends EventEmitter {
327
273
  this.emit("disconnectRequested", event, this);
328
274
  });
329
275
  }
330
- setScreenManagerConfig(config) {
331
- this.screenShareManager?.setConfig(config);
332
- }
333
276
  setDeviceManagerConfig(config) {
334
277
  this.videoDeviceManager.setConfig(config.storage, config.trackConstraints);
335
278
  this.audioDeviceManager.setConfig(config.storage, config.trackConstraints);
@@ -347,22 +290,23 @@ export class Client extends EventEmitter {
347
290
  metadataParsingError: track.metadataParsingError,
348
291
  };
349
292
  }
293
+ getTsClient = () => this.tsClient;
350
294
  connect(config) {
351
295
  this.status = "connecting";
352
- this.tsClient.connect(config);
296
+ this.tsClient.connect({ ...config, peerMetadata: config?.peerMetadata ?? {} });
353
297
  }
354
298
  disconnect() {
355
299
  this.status = null;
356
300
  this.tsClient.disconnect();
357
301
  }
358
- addTrack(track, trackMetadata, simulcastConfig = { enabled: false, activeEncodings: [], disabledEncodings: [] }, maxBandwidth = 0) {
359
- 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);
360
304
  }
361
305
  removeTrack(trackId) {
362
306
  return this.tsClient.removeTrack(trackId);
363
307
  }
364
- replaceTrack(trackId, newTrack, newTrackMetadata) {
365
- return this.tsClient.replaceTrack(trackId, newTrack, newTrackMetadata);
308
+ replaceTrack(trackId, newTrack) {
309
+ return this.tsClient.replaceTrack(trackId, newTrack);
366
310
  }
367
311
  getStatistics(selector) {
368
312
  return this.tsClient.getStatistics(selector);
@@ -385,16 +329,15 @@ export class Client extends EventEmitter {
385
329
  disableTrackEncoding(trackId, encoding) {
386
330
  return this.tsClient.disableTrackEncoding(trackId, encoding);
387
331
  }
388
- updatePeerMetadata = (peerMetadata) => {
389
- this.tsClient.updatePeerMetadata(peerMetadata);
390
- };
391
- updateTrackMetadata = (trackId, trackMetadata) => {
392
- this.tsClient.updateTrackMetadata(trackId, trackMetadata);
393
- };
394
332
  isReconnecting = () => {
395
333
  return this.tsClient.isReconnecting();
396
334
  };
397
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;
398
341
  const constraints = {
399
342
  video: this.videoDeviceManager.getConstraints(config?.videoTrackConstraints),
400
343
  audio: this.audioDeviceManager.getConstraints(config?.audioTrackConstraints),
@@ -421,28 +364,7 @@ export class Client extends EventEmitter {
421
364
  this.videoDeviceManager.start(config?.videoDeviceId);
422
365
  this.audioDeviceManager.start(config?.audioDeviceId);
423
366
  };
424
- // In most cases, the track is identified by its remote track ID.
425
- // This ID comes from the ts-client `addTrack` method.
426
- // However, we don't have that ID before the `addTrack` method returns it.
427
- //
428
- // The `addTrack` method emits the `localTrackAdded` event.
429
- // This event will refresh the internal state of this object.
430
- // However, in that event handler, we don't yet have the remote track ID.
431
- // Therefore, for that brief moment, we will use the local track ID from the MediaStreamTrack object to identify the track.
432
- getRemoteTrack = (remoteOrLocalTrackId) => {
433
- if (!remoteOrLocalTrackId)
434
- return null;
435
- const tracks = this.tsClient?.getLocalPeer()?.tracks;
436
- if (!tracks)
437
- return null;
438
- const trackByRemoteId = tracks?.get(remoteOrLocalTrackId);
439
- if (trackByRemoteId)
440
- return this.trackContextToTrack(trackByRemoteId);
441
- const trackByLocalId = [...tracks.values()].find((track) => track.track?.id === remoteOrLocalTrackId);
442
- return trackByLocalId ? this.trackContextToTrack(trackByLocalId) : null;
443
- };
444
367
  stateToSnapshot() {
445
- const screenShareManager = this.screenShareManager.getSnapshot();
446
368
  const deviceManagerSnapshot = {
447
369
  audio: this?.audioDeviceManager?.deviceState,
448
370
  video: this?.videoDeviceManager?.deviceState,
@@ -452,12 +374,8 @@ export class Client extends EventEmitter {
452
374
  (localEndpoint?.tracks || new Map()).forEach((track) => {
453
375
  localTracks[track.trackId] = this.trackContextToTrack(track);
454
376
  });
455
- const broadcastedVideoTrack = this.videoTrackManager.getCurrentTrack();
456
- const broadcastedAudioTrack = this.audioTrackManager.getCurrentTrack();
457
- const screenShareVideoTrack = this.getRemoteTrack(this.currentScreenShareTrackId);
458
377
  const devices = {
459
378
  camera: {
460
- broadcast: broadcastedVideoTrack ?? null,
461
379
  status: deviceManagerSnapshot?.video?.devicesStatus || null,
462
380
  stream: deviceManagerSnapshot?.video.media?.stream || null,
463
381
  track: deviceManagerSnapshot?.video.media?.track || null,
@@ -468,7 +386,6 @@ export class Client extends EventEmitter {
468
386
  devices: deviceManagerSnapshot?.video?.devices || null,
469
387
  },
470
388
  microphone: {
471
- broadcast: broadcastedAudioTrack ?? null,
472
389
  status: deviceManagerSnapshot?.audio?.devicesStatus || null,
473
390
  stream: deviceManagerSnapshot?.audio.media?.stream || null,
474
391
  track: deviceManagerSnapshot?.audio.media?.track || null,
@@ -478,51 +395,6 @@ export class Client extends EventEmitter {
478
395
  error: deviceManagerSnapshot?.audio?.error || null,
479
396
  devices: deviceManagerSnapshot?.audio?.devices || null,
480
397
  },
481
- screenShare: {
482
- cleanup: async () => {
483
- this?.screenShareManager?.stop("video");
484
- },
485
- disableTrack: () => {
486
- this.screenShareManager?.setEnable("video", false);
487
- },
488
- enableTrack: () => {
489
- this.screenShareManager?.setEnable("video", true);
490
- },
491
- initialize: async (config) => {
492
- await this.screenShareManager?.start(config);
493
- },
494
- startStreaming: async (trackMetadata, maxBandwidth) => {
495
- const media = this.screenShareManager?.getSnapshot().videoMedia;
496
- if (!media || !media.stream || !media.track)
497
- throw Error("Device is unavailable");
498
- if (this.currentScreenShareTrackId)
499
- throw Error("Screen share track already added");
500
- const track = this.getRemoteTrack(media.track.id);
501
- if (track)
502
- return track.trackId;
503
- // see `getRemoteTrack()` explanation
504
- this.currentScreenShareTrackId = media.track.id;
505
- const trackId = await this.tsClient.addTrack(media.track, trackMetadata, undefined, maxBandwidth);
506
- this.currentScreenShareTrackId = trackId;
507
- return trackId;
508
- },
509
- stopStreaming: () => {
510
- if (!this.currentScreenShareTrackId)
511
- throw Error("There is no screen share track id");
512
- const prevTrack = this.getRemoteTrack(this.currentScreenShareTrackId);
513
- if (!prevTrack)
514
- throw Error("There is no screen share video track");
515
- this.currentScreenShareTrackId = null;
516
- return this.tsClient.removeTrack(prevTrack.trackId);
517
- },
518
- broadcast: screenShareVideoTrack ?? null,
519
- status: screenShareManager?.status || null,
520
- mediaStatus: null,
521
- stream: screenShareManager?.videoMedia?.stream || null,
522
- track: screenShareManager?.videoMedia?.track || null,
523
- enabled: screenShareManager?.videoMedia?.enabled || false,
524
- error: screenShareManager?.error || null,
525
- },
526
398
  };
527
399
  if (!this.tsClient["webrtc"]) {
528
400
  this.media = deviceManagerSnapshot || null;
@@ -1,4 +1,4 @@
1
- import type { DeviceManagerConfig, DeviceState, GenericMediaManager, StorageConfig, DeviceError } from "./types";
1
+ import type { DeviceManagerConfig, DeviceState, MediaManager, StorageConfig, DeviceError } from "./types";
2
2
  import type TypedEmitter from "typed-emitter";
3
3
  export type DeviceManagerEvents = {
4
4
  managerStarted: (event: DeviceState & {
@@ -22,11 +22,11 @@ export type DeviceManagerEvents = {
22
22
  };
23
23
  export type DeviceManagerStatus = "uninitialized" | "initializing" | "initialized" | "error";
24
24
  declare const DeviceManager_base: new () => TypedEmitter<DeviceManagerEvents>;
25
- export declare class DeviceManager extends DeviceManager_base implements GenericMediaManager {
25
+ export declare class DeviceManager extends DeviceManager_base implements MediaManager {
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 Generic
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 {};