UNPKG

@100mslive/react-native-room-kit

Version:

100ms Room Kit provides simple & easy to use UI components to build Live Streaming & Video Conferencing experiences in your apps.

56 lines 2.24 kB
import { HMSTrackSource, HMSTrackType } from '@100mslive/react-native-hms'; export const degradeOrRestorePeerTrackNodes = (peerTrackNodes, peer, track, isDegraded) => { const uniqueId = createPeerTrackNodeUniqueId(peer, track); return peerTrackNodes.map(peerTrackNode => { if (peerTrackNode.id !== uniqueId) { return peerTrackNode; } return { ...peerTrackNode, isDegraded }; }); }; export const removePeerTrackNodes = (peerTrackNodes, peerToRemove) => { return peerTrackNodes.filter(peerTrackNode => peerTrackNode.peer.peerID !== peerToRemove.peerID); }; export const removePeerTrackNodesWithTrack = (peerTrackNodes, peer, track) => { const uniqueId = peer.peerID + (track.source === undefined ? HMSTrackSource.REGULAR : track.source); return peerTrackNodes.filter(peerTrackNode => peerTrackNode.id !== uniqueId); }; export const replacePeerTrackNodes = (peerTrackNodes, peerToReplace) => { return peerTrackNodes.map(peerTrackNode => { if (peerTrackNode.peer.peerID !== peerToReplace.peerID) { return peerTrackNode; } return { ...peerTrackNode, peer: peerToReplace }; }); }; export const replacePeerTrackNodesWithTrack = (peerTrackNodes, peer, track) => { const uniqueId = peer.peerID + (track.source ?? HMSTrackSource.REGULAR); return peerTrackNodes.map(peerTrackNode => { if (peerTrackNode.id !== uniqueId) { return peerTrackNode; } return { ...peerTrackNode, peer, track }; }); }; export const peerTrackNodeExistForPeer = (peerTrackNodes, peer) => { return peerTrackNodes.findIndex(peerTrackNode => peerTrackNode.peer.peerID === peer.peerID) >= 0; }; export const peerTrackNodeExistForPeerAndTrack = (peerTrackNodes, peer, track) => { const uniqueId = createPeerTrackNodeUniqueId(peer, track); return peerTrackNodes.findIndex(peerTrackNode => peerTrackNode.id === uniqueId) >= 0; }; export const createPeerTrackNodeUniqueId = (peer, track) => { const uniqueId = peer.peerID + (track.type === HMSTrackType.VIDEO ? (track === null || track === void 0 ? void 0 : track.source) || HMSTrackSource.REGULAR : HMSTrackSource.REGULAR); return uniqueId; }; //# sourceMappingURL=peerTrackNodeUtils.js.map