diff --git a/packages/desktop/src/providers/ConversationProvider.tsx b/packages/desktop/src/providers/ConversationProvider.tsx index 62bc8c5..a33aa2c 100644 --- a/packages/desktop/src/providers/ConversationProvider.tsx +++ b/packages/desktop/src/providers/ConversationProvider.tsx @@ -447,6 +447,7 @@ export function ConversationProvider({ children }: { children: React.ReactNode } ); const [userLocalStream, setUserLocalStream] = useState(); + const handleCastVideo = useCallback(() => { // create a new stream // if there's a selected conversation, then send it to that conversation @@ -459,7 +460,13 @@ export function ConversationProvider({ children }: { children: React.ReactNode } }, [setUserLocalStream]); const handleStopVideo = useCallback(() => { - setUserLocalStream(undefined); + setUserLocalStream((prevStream) => { + if (prevStream) { + prevStream.getTracks().map((track) => track.stop()); + } + + return undefined; + }); }, [setUserLocalStream]); const handleEscape = useCallback(() => {