@fishjam-cloud/react-client 0.16.1 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/FishjamProvider.d.ts.map +1 -1
- package/dist/FishjamProvider.js +7 -1
- package/dist/contexts/customSource.d.ts +3 -0
- package/dist/contexts/customSource.d.ts.map +1 -0
- package/dist/contexts/customSource.js +2 -0
- package/dist/hooks/internal/useCustomSourceManager.d.ts +14 -0
- package/dist/hooks/internal/useCustomSourceManager.d.ts.map +1 -0
- package/dist/hooks/internal/useCustomSourceManager.js +85 -0
- package/dist/hooks/useCustomSource.d.ts +16 -0
- package/dist/hooks/useCustomSource.d.ts.map +1 -0
- package/dist/hooks/useCustomSource.js +25 -0
- package/dist/hooks/useLivestream.d.ts +7 -0
- package/dist/hooks/useLivestream.d.ts.map +1 -0
- package/dist/hooks/useLivestream.js +17 -0
- package/dist/hooks/usePeers.d.ts +2 -0
- package/dist/hooks/usePeers.d.ts.map +1 -1
- package/dist/hooks/usePeers.js +4 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/types/internal.d.ts +8 -0
- package/dist/types/internal.d.ts.map +1 -1
- package/dist/types/public.d.ts +8 -0
- package/dist/types/public.d.ts.map +1 -1
- package/package.json +3 -3
- package/readme.md +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FishjamProvider.d.ts","sourceRoot":"","sources":["../src/FishjamProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,KAAK,iBAAiB,EAAmB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"FishjamProvider.d.ts","sourceRoot":"","sources":["../src/FishjamProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,KAAK,iBAAiB,EAAmB,MAAM,OAAO,CAAC;AAiBhE,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAI/F;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC7D;;;OAGG;IACH,SAAS,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC;IACtC;;;;OAIG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC;IAC9D;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;IACxD;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAC3C;;OAEG;IACH,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B;;OAEG;IACH,WAAW,CAAC,EAAE,YAAY,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CA+E1D"}
|
package/dist/FishjamProvider.js
CHANGED
|
@@ -2,6 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { FishjamClient } from "@fishjam-cloud/ts-client";
|
|
3
3
|
import { useMemo, useRef } from "react";
|
|
4
4
|
import { CameraContext } from "./contexts/camera";
|
|
5
|
+
import { CustomSourceContext } from "./contexts/customSource";
|
|
5
6
|
import { FishjamClientContext } from "./contexts/fishjamClient";
|
|
6
7
|
import { FishjamClientStateContext } from "./contexts/fishjamState";
|
|
7
8
|
import { InitDevicesContext } from "./contexts/initDevices";
|
|
@@ -10,6 +11,7 @@ import { PeerStatusContext } from "./contexts/peerStatus";
|
|
|
10
11
|
import { ScreenshareContext } from "./contexts/screenshare";
|
|
11
12
|
import { AUDIO_TRACK_CONSTRAINTS, VIDEO_TRACK_CONSTRAINTS } from "./devices/constraints";
|
|
12
13
|
import { useMediaDevices } from "./hooks/internal/devices/useMediaDevices";
|
|
14
|
+
import { useCustomSourceManager } from "./hooks/internal/useCustomSourceManager";
|
|
13
15
|
import { useFishjamClientState } from "./hooks/internal/useFishjamClientState";
|
|
14
16
|
import { usePeerStatus } from "./hooks/internal/usePeerStatus";
|
|
15
17
|
import { useScreenShareManager } from "./hooks/internal/useScreenshareManager";
|
|
@@ -58,6 +60,10 @@ export function FishjamProvider(props) {
|
|
|
58
60
|
});
|
|
59
61
|
const cameraContext = useMemo(() => ({ videoTrackManager, cameraManager }), [videoTrackManager, cameraManager]);
|
|
60
62
|
const microphoneContext = useMemo(() => ({ audioTrackManager, microphoneManager }), [audioTrackManager, microphoneManager]);
|
|
63
|
+
const customSourceManager = useCustomSourceManager({
|
|
64
|
+
fishjamClient: fishjamClientRef.current,
|
|
65
|
+
peerStatus,
|
|
66
|
+
});
|
|
61
67
|
const fishjamClientState = useFishjamClientState(fishjamClientRef.current);
|
|
62
|
-
return (_jsx(FishjamClientContext.Provider, { value: fishjamClientRef, children: _jsx(FishjamClientStateContext.Provider, { value: fishjamClientState, children: _jsx(InitDevicesContext.Provider, { value: initializeDevices, children: _jsx(PeerStatusContext.Provider, { value: peerStatus, children: _jsx(CameraContext.Provider, { value: cameraContext, children: _jsx(MicrophoneContext.Provider, { value: microphoneContext, children: _jsx(ScreenshareContext.Provider, { value: screenShareManager, children: props.children }) }) }) }) }) }) }));
|
|
68
|
+
return (_jsx(FishjamClientContext.Provider, { value: fishjamClientRef, children: _jsx(FishjamClientStateContext.Provider, { value: fishjamClientState, children: _jsx(InitDevicesContext.Provider, { value: initializeDevices, children: _jsx(PeerStatusContext.Provider, { value: peerStatus, children: _jsx(CameraContext.Provider, { value: cameraContext, children: _jsx(MicrophoneContext.Provider, { value: microphoneContext, children: _jsx(ScreenshareContext.Provider, { value: screenShareManager, children: _jsx(CustomSourceContext.Provider, { value: customSourceManager, children: props.children }) }) }) }) }) }) }) }));
|
|
63
69
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customSource.d.ts","sourceRoot":"","sources":["../../src/contexts/customSource.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAEpF,eAAO,MAAM,mBAAmB,qDAAkD,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type FishjamClient } from "@fishjam-cloud/ts-client";
|
|
2
|
+
import type { CustomSourceState } from "../../types/internal";
|
|
3
|
+
import type { PeerStatus } from "../../types/public";
|
|
4
|
+
type CustomSourceManagerProps = {
|
|
5
|
+
fishjamClient: FishjamClient;
|
|
6
|
+
peerStatus: PeerStatus;
|
|
7
|
+
};
|
|
8
|
+
export type CustomSourceManager = {
|
|
9
|
+
setStream: (sourceId: string, stream: MediaStream | null) => Promise<void>;
|
|
10
|
+
getSource: (sourceId: string) => CustomSourceState | undefined;
|
|
11
|
+
};
|
|
12
|
+
export declare function useCustomSourceManager({ fishjamClient, peerStatus }: CustomSourceManagerProps): CustomSourceManager;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=useCustomSourceManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCustomSourceManager.d.ts","sourceRoot":"","sources":["../../../src/hooks/internal/useCustomSourceManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAsC,MAAM,0BAA0B,CAAC;AAGlG,OAAO,KAAK,EAAE,iBAAiB,EAAsB,MAAM,sBAAsB,CAAC;AAClF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,KAAK,wBAAwB,GAAG;IAC9B,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,iBAAiB,GAAG,SAAS,CAAC;CAChE,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,wBAAwB,GAAG,mBAAmB,CA8GnH"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { TrackTypeError } from "@fishjam-cloud/ts-client";
|
|
2
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
3
|
+
export function useCustomSourceManager({ fishjamClient, peerStatus }) {
|
|
4
|
+
const [sources, setSources] = useState({});
|
|
5
|
+
const pendingSources = useMemo(() => Object.entries(sources).filter(([_, source]) => source.trackIds === undefined), [sources]);
|
|
6
|
+
const getDisplayName = useCallback(() => {
|
|
7
|
+
const name = fishjamClient.getLocalPeer()?.metadata?.peer?.displayName;
|
|
8
|
+
if (typeof name == "string")
|
|
9
|
+
return name;
|
|
10
|
+
}, [fishjamClient]);
|
|
11
|
+
const addTrackToFishjamClient = useCallback(async (track, trackMetadata) => {
|
|
12
|
+
try {
|
|
13
|
+
return fishjamClient.addTrack(track, trackMetadata);
|
|
14
|
+
}
|
|
15
|
+
catch (err) {
|
|
16
|
+
if (err instanceof TrackTypeError) {
|
|
17
|
+
console.warn(err.message);
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
throw err;
|
|
21
|
+
}
|
|
22
|
+
}, [fishjamClient]);
|
|
23
|
+
const startStreaming = useCallback(async (source) => {
|
|
24
|
+
const stream = source?.stream;
|
|
25
|
+
const video = stream.getVideoTracks().at(0);
|
|
26
|
+
const audio = stream.getAudioTracks().at(0);
|
|
27
|
+
const promises = [];
|
|
28
|
+
const displayName = getDisplayName();
|
|
29
|
+
if (video) {
|
|
30
|
+
const videoMetadata = { type: "customVideo", displayName, paused: false };
|
|
31
|
+
promises.push(addTrackToFishjamClient(video, videoMetadata));
|
|
32
|
+
}
|
|
33
|
+
if (audio) {
|
|
34
|
+
const audioMetadata = { type: "customAudio", displayName, paused: false };
|
|
35
|
+
promises.push(addTrackToFishjamClient(audio, audioMetadata));
|
|
36
|
+
}
|
|
37
|
+
if (promises.length === 0) {
|
|
38
|
+
console.warn("Attempted to add empty MediaStream as custom source.");
|
|
39
|
+
return source;
|
|
40
|
+
}
|
|
41
|
+
const [videoId, audioId] = await Promise.all(promises);
|
|
42
|
+
return { ...source, trackIds: { videoId, audioId } };
|
|
43
|
+
}, [addTrackToFishjamClient, getDisplayName]);
|
|
44
|
+
const removeTracks = useCallback(async ({ videoId, audioId }) => {
|
|
45
|
+
const promises = [];
|
|
46
|
+
if (videoId)
|
|
47
|
+
promises.push(fishjamClient.removeTrack(videoId));
|
|
48
|
+
if (audioId)
|
|
49
|
+
promises.push(fishjamClient.removeTrack(audioId));
|
|
50
|
+
await Promise.all(promises);
|
|
51
|
+
}, [fishjamClient]);
|
|
52
|
+
const getSource = useCallback((sourceId) => sources[sourceId], [sources]);
|
|
53
|
+
const setStream = useCallback(async (sourceId, stream) => {
|
|
54
|
+
const oldSource = sources[sourceId];
|
|
55
|
+
if (stream === oldSource?.stream)
|
|
56
|
+
return;
|
|
57
|
+
if (oldSource?.trackIds)
|
|
58
|
+
await removeTracks(oldSource.trackIds);
|
|
59
|
+
if (stream !== null) {
|
|
60
|
+
setSources((old) => ({ ...old, [sourceId]: { stream } }));
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
if (!oldSource)
|
|
64
|
+
return;
|
|
65
|
+
setSources((old) => Object.fromEntries(Object.entries(old).filter(([id, _]) => id !== sourceId)));
|
|
66
|
+
}, [sources, removeTracks]);
|
|
67
|
+
useEffect(() => {
|
|
68
|
+
const onConnected = async () => {
|
|
69
|
+
if (pendingSources.length === 0)
|
|
70
|
+
return;
|
|
71
|
+
const patch = Object.fromEntries(await Promise.all(pendingSources.map(async ([id, source]) => [id, await startStreaming(source)])));
|
|
72
|
+
setSources((old) => ({ ...old, ...patch }));
|
|
73
|
+
};
|
|
74
|
+
const onDisconnected = () => {
|
|
75
|
+
setSources((old) => Object.fromEntries(Object.entries(old).map(([id, source]) => [id, { ...source, trackIds: undefined }])));
|
|
76
|
+
};
|
|
77
|
+
if (peerStatus === "connected")
|
|
78
|
+
onConnected();
|
|
79
|
+
fishjamClient.on("disconnected", onDisconnected);
|
|
80
|
+
return () => {
|
|
81
|
+
fishjamClient.off("disconnected", onDisconnected);
|
|
82
|
+
};
|
|
83
|
+
}, [pendingSources, fishjamClient, peerStatus, startStreaming]);
|
|
84
|
+
return { setStream, getSource };
|
|
85
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This hook can register/deregister a custom MediaStream with Fishjam.
|
|
3
|
+
* @group Hooks
|
|
4
|
+
*/
|
|
5
|
+
export declare function useCustomSource<T extends string>(sourceId: T): {
|
|
6
|
+
/**
|
|
7
|
+
* Associates the given stream with the custom source.
|
|
8
|
+
* This stream will be sent to Fishjam after startStreaming has been called.
|
|
9
|
+
*/
|
|
10
|
+
setStream: (newStream: MediaStream | null) => Promise<void>;
|
|
11
|
+
/**
|
|
12
|
+
* The MediaStream currently associated with the custom source
|
|
13
|
+
*/
|
|
14
|
+
stream: MediaStream | undefined;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=useCustomSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCustomSource.d.ts","sourceRoot":"","sources":["../../src/hooks/useCustomSource.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,CAAC;IAczD;;;OAGG;2BARS,WAAW,GAAG,IAAI;IAU9B;;OAEG;;EAGN"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { useCallback, useContext, useMemo } from "react";
|
|
2
|
+
import { CustomSourceContext } from "../contexts/customSource";
|
|
3
|
+
/**
|
|
4
|
+
* This hook can register/deregister a custom MediaStream with Fishjam.
|
|
5
|
+
* @group Hooks
|
|
6
|
+
*/
|
|
7
|
+
export function useCustomSource(sourceId) {
|
|
8
|
+
const customSourceManager = useContext(CustomSourceContext);
|
|
9
|
+
if (!customSourceManager)
|
|
10
|
+
throw Error("useCustomSource must be used within FishjamProvider");
|
|
11
|
+
const { setStream: managerSetStream, getSource } = customSourceManager;
|
|
12
|
+
const stream = useMemo(() => getSource(sourceId)?.stream, [getSource, sourceId]);
|
|
13
|
+
const setStream = useCallback((newStream) => managerSetStream(sourceId, newStream), [managerSetStream, sourceId]);
|
|
14
|
+
return {
|
|
15
|
+
/**
|
|
16
|
+
* Associates the given stream with the custom source.
|
|
17
|
+
* This stream will be sent to Fishjam after startStreaming has been called.
|
|
18
|
+
*/
|
|
19
|
+
setStream,
|
|
20
|
+
/**
|
|
21
|
+
* The MediaStream currently associated with the custom source
|
|
22
|
+
*/
|
|
23
|
+
stream,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLivestream.d.ts","sourceRoot":"","sources":["../../src/hooks/useLivestream.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,aAAa,QAAO,mBAiBhC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { receiveLivestream } from "@fishjam-cloud/ts-client";
|
|
2
|
+
import { useCallback, useRef, useState } from "react";
|
|
3
|
+
export const useLivestream = () => {
|
|
4
|
+
const [stream, setStream] = useState(null);
|
|
5
|
+
const resultRef = useRef(null);
|
|
6
|
+
const connect = useCallback(async (url, token) => {
|
|
7
|
+
const result = await receiveLivestream(url, token);
|
|
8
|
+
resultRef.current = result;
|
|
9
|
+
setStream(result.stream);
|
|
10
|
+
}, []);
|
|
11
|
+
const disconnect = useCallback(() => {
|
|
12
|
+
setStream(null);
|
|
13
|
+
resultRef.current?.stop();
|
|
14
|
+
resultRef.current = null;
|
|
15
|
+
}, []);
|
|
16
|
+
return { stream, connect, disconnect };
|
|
17
|
+
};
|
package/dist/hooks/usePeers.d.ts
CHANGED
|
@@ -13,6 +13,8 @@ export type PeerWithTracks<PeerMetadata, ServerMetadata> = {
|
|
|
13
13
|
microphoneTrack?: Track;
|
|
14
14
|
screenShareVideoTrack?: Track;
|
|
15
15
|
screenShareAudioTrack?: Track;
|
|
16
|
+
customVideoTracks: Track[];
|
|
17
|
+
customAudioTracks: Track[];
|
|
16
18
|
};
|
|
17
19
|
/**
|
|
18
20
|
* Hook allows to access id, tracks and metadata of the local and remote peers.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePeers.d.ts","sourceRoot":"","sources":["../../src/hooks/usePeers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,QAAQ,EAAqC,MAAM,0BAA0B,CAAC;AAKjH,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAW,MAAM,iBAAiB,CAAC;AAE9D;;;;GAIG;AACH,MAAM,MAAM,cAAc,CAAC,YAAY,EAAE,cAAc,IAAI;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAClD,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,eAAe,CAAC,EAAE,KAAK,CAAC;IACxB,qBAAqB,CAAC,EAAE,KAAK,CAAC;IAC9B,qBAAqB,CAAC,EAAE,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"usePeers.d.ts","sourceRoot":"","sources":["../../src/hooks/usePeers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,QAAQ,EAAqC,MAAM,0BAA0B,CAAC;AAKjH,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAW,MAAM,iBAAiB,CAAC;AAE9D;;;;GAIG;AACH,MAAM,MAAM,cAAc,CAAC,YAAY,EAAE,cAAc,IAAI;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAClD,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,eAAe,CAAC,EAAE,KAAK,CAAC;IACxB,qBAAqB,CAAC,EAAE,KAAK,CAAC;IAC9B,qBAAqB,CAAC,EAAE,KAAK,CAAC;IAC9B,iBAAiB,EAAE,KAAK,EAAE,CAAC;IAC3B,iBAAiB,EAAE,KAAK,EAAE,CAAC;CAC5B,CAAC;AAoCF;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAerG;;;OAGG;IACH;;OAEG;IACH;;;;OAIG;;EAGN"}
|
package/dist/hooks/usePeers.js
CHANGED
|
@@ -16,6 +16,8 @@ function getPeerWithDistinguishedTracks(peer) {
|
|
|
16
16
|
const microphoneTrack = tracks.find(({ metadata }) => metadata?.type === "microphone");
|
|
17
17
|
const screenShareVideoTrack = tracks.find(({ metadata }) => metadata?.type === "screenShareVideo");
|
|
18
18
|
const screenShareAudioTrack = tracks.find(({ metadata }) => metadata?.type === "screenShareAudio");
|
|
19
|
+
const customVideoTracks = tracks.filter(({ metadata }) => metadata?.type === "customVideo");
|
|
20
|
+
const customAudioTracks = tracks.filter(({ metadata }) => metadata?.type === "customAudio");
|
|
19
21
|
return {
|
|
20
22
|
id: peer.id,
|
|
21
23
|
metadata: peer.metadata,
|
|
@@ -24,6 +26,8 @@ function getPeerWithDistinguishedTracks(peer) {
|
|
|
24
26
|
microphoneTrack,
|
|
25
27
|
screenShareVideoTrack,
|
|
26
28
|
screenShareAudioTrack,
|
|
29
|
+
customVideoTracks,
|
|
30
|
+
customAudioTracks,
|
|
27
31
|
};
|
|
28
32
|
}
|
|
29
33
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -4,11 +4,13 @@ export { useInitializeDevices, UseInitializeDevicesParams } from "./hooks/device
|
|
|
4
4
|
export { useMicrophone } from "./hooks/devices/useMicrophone";
|
|
5
5
|
export { InitializeDevicesSettings } from "./hooks/internal/devices/useMediaDevices";
|
|
6
6
|
export { type JoinRoomConfig, useConnection } from "./hooks/useConnection";
|
|
7
|
+
export { useCustomSource } from "./hooks/useCustomSource";
|
|
8
|
+
export { useLivestream, type UseLivestreamResult } from "./hooks/useLivestream";
|
|
7
9
|
export { type PeerWithTracks, usePeers } from "./hooks/usePeers";
|
|
8
10
|
export { useScreenShare } from "./hooks/useScreenShare";
|
|
9
11
|
export { useUpdatePeerMetadata } from "./hooks/useUpdatePeerMetadata";
|
|
10
12
|
export { useVAD } from "./hooks/useVAD";
|
|
11
|
-
export type { BandwidthLimits, Brand, DeviceError, DeviceItem, InitializeDevicesResult, InitializeDevicesStatus, PeerId, PeerStatus, PersistLastDeviceHandlers, SimulcastBandwidthLimits, StreamConfig, Track, TrackId, TrackMiddleware, TracksMiddleware, } from "./types/public";
|
|
13
|
+
export type { BandwidthLimits, Brand, CustomSource, DeviceError, DeviceItem, InitializeDevicesResult, InitializeDevicesStatus, PeerId, PeerStatus, PersistLastDeviceHandlers, SimulcastBandwidthLimits, StreamConfig, Track, TrackId, TrackMiddleware, TracksMiddleware, } from "./types/public";
|
|
12
14
|
export type { AuthErrorReason, JoinErrorReason, Metadata, ReconnectConfig, ReconnectionStatus, SimulcastBandwidthLimit, SimulcastConfig, TrackBandwidthLimit, } from "@fishjam-cloud/ts-client";
|
|
13
15
|
export { Variant } from "@fishjam-cloud/ts-client";
|
|
14
16
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AACxG,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,KAAK,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,KAAK,cAAc,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,YAAY,EACV,eAAe,EACf,KAAK,EACL,WAAW,EACX,UAAU,EACV,uBAAuB,EACvB,uBAAuB,EACvB,MAAM,EACN,UAAU,EACV,yBAAyB,EACzB,wBAAwB,EACxB,YAAY,EACZ,KAAK,EACL,OAAO,EACP,eAAe,EACf,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,eAAe,EACf,eAAe,EACf,QAAQ,EACR,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AACxG,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,KAAK,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,KAAK,cAAc,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,YAAY,EACV,eAAe,EACf,KAAK,EACL,YAAY,EACZ,WAAW,EACX,UAAU,EACV,uBAAuB,EACvB,uBAAuB,EACvB,MAAM,EACN,UAAU,EACV,yBAAyB,EACzB,wBAAwB,EACxB,YAAY,EACZ,KAAK,EACL,OAAO,EACP,eAAe,EACf,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,eAAe,EACf,eAAe,EACf,QAAQ,EACR,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,8 @@ export { useCamera } from "./hooks/devices/useCamera";
|
|
|
3
3
|
export { useInitializeDevices } from "./hooks/devices/useInitializeDevices";
|
|
4
4
|
export { useMicrophone } from "./hooks/devices/useMicrophone";
|
|
5
5
|
export { useConnection } from "./hooks/useConnection";
|
|
6
|
+
export { useCustomSource } from "./hooks/useCustomSource";
|
|
7
|
+
export { useLivestream } from "./hooks/useLivestream";
|
|
6
8
|
export { usePeers } from "./hooks/usePeers";
|
|
7
9
|
export { useScreenShare } from "./hooks/useScreenShare";
|
|
8
10
|
export { useUpdatePeerMetadata } from "./hooks/useUpdatePeerMetadata";
|
package/dist/types/internal.d.ts
CHANGED
|
@@ -46,4 +46,12 @@ export interface TrackManager {
|
|
|
46
46
|
export type BrandedPeer<P, S> = Omit<Peer<P, S>, "id"> & {
|
|
47
47
|
id: PeerId;
|
|
48
48
|
};
|
|
49
|
+
export type CustomSourceTracks = {
|
|
50
|
+
videoId?: string;
|
|
51
|
+
audioId?: string;
|
|
52
|
+
};
|
|
53
|
+
export type CustomSourceState = {
|
|
54
|
+
stream: MediaStream;
|
|
55
|
+
trackIds?: CustomSourceTracks;
|
|
56
|
+
};
|
|
49
57
|
//# sourceMappingURL=internal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/types/internal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEvF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAAE,KAAK,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAEnD,MAAM,MAAM,cAAc,GAAG;IAAE,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAA;CAAE,CAAC;AAExG,MAAM,MAAM,gBAAgB,GAAG,CAC3B;IACE,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClD,GACD;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,CACnC,GAAG;IAAE,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;CAAE,CAAC;AAEnD,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC;IACrE,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,iBAAiB,EAAE,eAAe,CAAC;IACnC,kBAAkB,EAAE,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E;;;;;;;OAOG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC;CACtD;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/types/internal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEvF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAAE,KAAK,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAEnD,MAAM,MAAM,cAAc,GAAG;IAAE,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAA;CAAE,CAAC;AAExG,MAAM,MAAM,gBAAgB,GAAG,CAC3B;IACE,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClD,GACD;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,CACnC,GAAG;IAAE,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;CAAE,CAAC;AAEnD,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC;IACrE,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,iBAAiB,EAAE,eAAe,CAAC;IACnC,kBAAkB,EAAE,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E;;;;;;;OAOG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC;CACtD;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAExE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B,CAAC"}
|
package/dist/types/public.d.ts
CHANGED
|
@@ -70,5 +70,13 @@ declare const brand: unique symbol;
|
|
|
70
70
|
export type Brand<T, TBrand extends string> = T & {
|
|
71
71
|
[brand]: TBrand;
|
|
72
72
|
};
|
|
73
|
+
export type CustomSource<T extends string> = {
|
|
74
|
+
id: T;
|
|
75
|
+
trackIds?: {
|
|
76
|
+
videoId?: string;
|
|
77
|
+
audioId?: string;
|
|
78
|
+
};
|
|
79
|
+
stream?: MediaStream;
|
|
80
|
+
};
|
|
73
81
|
export {};
|
|
74
82
|
//# sourceMappingURL=public.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/types/public.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/types/public.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fishjam-cloud/react-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "React client library for Fishjam",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Fishjam Team",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"scripts": {
|
|
35
35
|
"build": "tsc",
|
|
36
36
|
"e2e": "NODE_OPTIONS=--dns-result-order=ipv4first playwright test",
|
|
37
|
-
"test": "vitest",
|
|
37
|
+
"test": "vitest run",
|
|
38
38
|
"docs": "typedoc src src/experimental",
|
|
39
39
|
"format": "prettier --write . --ignore-path ./.eslintignore",
|
|
40
40
|
"format:check": "prettier --check . --ignore-path ./.eslintignore",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"vitest": "^3.1.1"
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"@fishjam-cloud/ts-client": "0.
|
|
63
|
+
"@fishjam-cloud/ts-client": "0.17.0",
|
|
64
64
|
"events": "3.3.0",
|
|
65
65
|
"lodash.isequal": "4.5.0"
|
|
66
66
|
},
|
package/readme.md
CHANGED
|
@@ -19,11 +19,12 @@ There is also [API documentation](https://docs.fishjam.io/api/web/) available.
|
|
|
19
19
|
There are [few example apps](https://github.com/fishjam-cloud/web-client-sdk/tree/main/examples/react-client#examples-for-fishjam-client) that shows how to use Fishjam SDKs and service.
|
|
20
20
|
|
|
21
21
|
- [Fishjam Chat](https://github.com/fishjam-cloud/web-client-sdk/tree/main/examples/react-client/fishjam-chat) - example video chat app
|
|
22
|
-
- [minimal-react](https://github.com/fishjam-cloud/web-client-sdk/tree/main/examples/react-client/minimal-react) - minimal example that shows how to connect and
|
|
22
|
+
- [minimal-react](https://github.com/fishjam-cloud/web-client-sdk/tree/main/examples/react-client/minimal-react) - minimal example that shows how to connect and share your screen
|
|
23
|
+
- [broadcast](https://github.com/fishjam-cloud/web-client-sdk/tree/main/examples/react-client/broadcast) - minimal example showing how to consume a broadcast stream
|
|
23
24
|
|
|
24
25
|
## License
|
|
25
26
|
|
|
26
|
-
Licensed under the [Apache
|
|
27
|
+
Licensed under the [Apache License, Version 2.0](./LICENSE.txt)
|
|
27
28
|
|
|
28
29
|
## Fishjam is created by Software Mansion
|
|
29
30
|
|