Move "user media" logic into its own provider.
- This new provider is meant to be reused by the settings in the future
Change-Id: I513c07f2390445fb4802091b316244665218f948
diff --git a/client/src/pages/CallInterface.tsx b/client/src/pages/CallInterface.tsx
index 1cfd1e5..f66a180 100644
--- a/client/src/pages/CallInterface.tsx
+++ b/client/src/pages/CallInterface.tsx
@@ -50,6 +50,7 @@
import VideoStream from '../components/VideoStream';
import { CallStatus, useCallContext, VideoStatus } from '../contexts/CallProvider';
import { useConversationContext } from '../contexts/ConversationProvider';
+import { useUserMediaContext } from '../contexts/UserMediaProvider';
import { formatCallDuration } from '../utils/dates×';
import { VideoElementWithSinkId } from '../utils/utils';
import { CallPending } from './CallPending';
@@ -91,13 +92,14 @@
}
const CallInterface = () => {
- const { localStream, screenShareLocalStream, remoteStreams } = useCallContext();
const {
+ localStream,
+ screenShareLocalStream,
currentMediaDeviceIds: {
audiooutput: { id: audioOutDeviceId },
},
- videoStatus,
- } = useCallContext();
+ } = useUserMediaContext();
+ const { remoteStreams, videoStatus } = useCallContext();
const remoteVideoRef = useRef<VideoElementWithSinkId | null>(null);
const gridItemRef = useRef<HTMLDivElement | null>(null);
const [isLocalVideoZoomed, setIsLocalVideoZoomed] = useState(false);