Added simple stream sharing

This commit is contained in:
Mitchell McCaffrey
2020-04-08 15:01:17 +10:00
parent efd94a1821
commit 0bd1e86e48
5 changed files with 113 additions and 13 deletions

View File

@@ -6,7 +6,13 @@ import Peer from "../helpers/Peer";
const socket = io("https://broker.owlbear.rodeo");
function useSession(partyId, onPeerConnected, onPeerDisconnected, onPeerData) {
function useSession(
partyId,
onPeerConnected,
onPeerDisconnected,
onPeerData,
onPeerStream
) {
useEffect(() => {
socket.emit("join party", partyId);
}, [partyId]);
@@ -32,6 +38,10 @@ function useSession(partyId, onPeerConnected, onPeerDisconnected, onPeerData) {
onPeerData && onPeerData({ id, peer, data });
});
peer.on("stream", (stream) => {
onPeerStream && onPeerStream({ id, peer, stream });
});
peer.on("close", () => {
onPeerDisconnected && onPeerDisconnected(id);
});
@@ -83,7 +93,7 @@ function useSession(partyId, onPeerConnected, onPeerDisconnected, onPeerData) {
socket.removeListener("joined party", handleJoinedParty);
socket.removeListener("signal", handleSignal);
};
}, [peers, onPeerConnected, onPeerDisconnected, onPeerData]);
}, [peers, onPeerConnected, onPeerDisconnected, onPeerData, onPeerStream]);
return { peers, socket };
}