stopping tracks on stopping video
This commit is contained in:
@@ -447,6 +447,7 @@ export function ConversationProvider({ children }: { children: React.ReactNode }
|
|||||||
);
|
);
|
||||||
|
|
||||||
const [userLocalStream, setUserLocalStream] = useState<MediaStream>();
|
const [userLocalStream, setUserLocalStream] = useState<MediaStream>();
|
||||||
|
|
||||||
const handleCastVideo = useCallback(() => {
|
const handleCastVideo = useCallback(() => {
|
||||||
// create a new stream
|
// create a new stream
|
||||||
// if there's a selected conversation, then send it to that conversation
|
// if there's a selected conversation, then send it to that conversation
|
||||||
@@ -459,7 +460,13 @@ export function ConversationProvider({ children }: { children: React.ReactNode }
|
|||||||
}, [setUserLocalStream]);
|
}, [setUserLocalStream]);
|
||||||
|
|
||||||
const handleStopVideo = useCallback(() => {
|
const handleStopVideo = useCallback(() => {
|
||||||
setUserLocalStream(undefined);
|
setUserLocalStream((prevStream) => {
|
||||||
|
if (prevStream) {
|
||||||
|
prevStream.getTracks().map((track) => track.stop());
|
||||||
|
}
|
||||||
|
|
||||||
|
return undefined;
|
||||||
|
});
|
||||||
}, [setUserLocalStream]);
|
}, [setUserLocalStream]);
|
||||||
|
|
||||||
const handleEscape = useCallback(() => {
|
const handleEscape = useCallback(() => {
|
||||||
|
|||||||
Reference in New Issue
Block a user