diff --git a/src/hooks/use-media.ts b/src/hooks/use-media.ts index 3b03469..2a98562 100644 --- a/src/hooks/use-media.ts +++ b/src/hooks/use-media.ts @@ -43,6 +43,7 @@ export const useMedia = () => { const createProducer = useCallback( async (source: ProducerSource, appData?: mediasoupTypes.AppData) => { if (!mediaService) throw new Error('MediaService not initialized'); + return await mediaService.createProducer(source, appData); }, [mediaService] @@ -165,6 +166,7 @@ export const useMedia = () => { const produceUserMedia = useCallback(async () => { if (roomAccess != Access.Allowed) return; + if (micOn) await createProducer('mic'); if (cameraOn) await createProducer('camera'); if (screenOn) { diff --git a/src/providers/room-provider.tsx b/src/providers/room-provider.tsx index 61eb524..e1e14f4 100644 --- a/src/providers/room-provider.tsx +++ b/src/providers/room-provider.tsx @@ -16,7 +16,7 @@ const RoomProvider = ({ children }: { children: ReactNode }) => { closeAllConsumers, closeAllTransports, closeAllProducers, - produceUserMedia, + // produceUserMedia, } = useMedia(); const reconnectionToastRef = useRef(0); @@ -39,7 +39,6 @@ const RoomProvider = ({ children }: { children: ReactNode }) => { ) => { try { const { action, args = {} } = data; - console.log(Actions.Message, args, 'callback', callback); const handler = actionHandlers[action as Actions]; if (handler) handler(args, callback); else @@ -56,7 +55,8 @@ const RoomProvider = ({ children }: { children: ReactNode }) => { (async () => { await joinRoom(); await createWebRtcConnections(); - await produceUserMedia(); + // await produceUserMedia(); + // register heartbeat interval heartBeatIntervalRef.current = setInterval( sendHeartBeat, @@ -70,14 +70,7 @@ const RoomProvider = ({ children }: { children: ReactNode }) => { if (heartBeatIntervalRef.current) clearInterval(heartBeatIntervalRef.current); }; - }, [ - roomAccess, - createWebRtcConnections, - produceUserMedia, - joinRoom, - sendHeartBeat, - leaveRoom, - ]); + }, [roomAccess, createWebRtcConnections, joinRoom, sendHeartBeat, leaveRoom]); useEffect(() => { if (roomAccess !== Access.Allowed) return; @@ -89,7 +82,7 @@ const RoomProvider = ({ children }: { children: ReactNode }) => { await joinRoom(rejoining); await createWebRtcConnections(); - await produceUserMedia(); + // await produceUserMedia(); setRejoining(false); if (reconnectionToastRef.current) @@ -109,7 +102,6 @@ const RoomProvider = ({ children }: { children: ReactNode }) => { closeAllConsumers, closeAllTransports, closeAllProducers, - produceUserMedia, ]); // produce on join @@ -136,7 +128,8 @@ const RoomProvider = ({ children }: { children: ReactNode }) => { // Attempt to reconnect roomActions.setReconnecting(true); } else { - roomActions.setDisconnected(true); + // roomActions.setDisconnected(true); + window.location.reload(); } });