UNPKG

@fishjam-cloud/react-client

Version:
48 lines 2.07 kB
import type { Metadata, Variant } from "@fishjam-cloud/ts-client"; import type { PeerId, RemoteTrack, Track } from "../types/public"; /** * * @typeParam PeerMetadata Type of metadata set by peer while connecting to a room. * @typeParam ServerMetadata Type of metadata set by the server while creating a peer. */ export type PeerWithTracks<PeerMetadata, ServerMetadata, T extends Track = Track> = { id: PeerId; metadata?: Metadata<PeerMetadata, ServerMetadata>; tracks: T[]; cameraTrack?: T; microphoneTrack?: T; screenShareVideoTrack?: T; screenShareAudioTrack?: T; customVideoTracks: T[]; customAudioTracks: T[]; }; /** * Hook allows to access id, tracks and metadata of the local and remote peers. * * @category Connection * @group Hooks * @typeParam PeerMetadata Type of metadata set by peer while connecting to a room. * @typeParam ServerMetadata Type of metadata set by the server while creating a peer. */ export declare function usePeers<PeerMetadata = Record<string, unknown>, ServerMetadata = Record<string, unknown>>(): { /** * The local peer with distinguished tracks (camera, microphone, screen share). * Will be null if the local peer is not found. */ localPeer: PeerWithTracks<PeerMetadata, ServerMetadata, Track> | null; /** * Array of remote peers with distinguished tracks (camera, microphone, screen share). */ remotePeers: PeerWithTracks<PeerMetadata, ServerMetadata, RemoteTrack>[]; /** * @deprecated Use remotePeers instead * Legacy array containing remote peers. * This property will be removed in future versions. */ peers: PeerWithTracks<PeerMetadata, ServerMetadata, RemoteTrack>[]; /** * This function allows to set the quality of tracks received from remote peers. * @param trackIds The array of the track ids to set the quality for. * @param quality The quality to set for the track. */ setReceivedTracksQuality: (trackIds: string[], quality: Variant) => void; }; //# sourceMappingURL=usePeers.d.ts.map