diff --git a/src/livekit/MediaDevicesContext.tsx b/src/livekit/MediaDevicesContext.tsx index c836f82b..a794d54a 100644 --- a/src/livekit/MediaDevicesContext.tsx +++ b/src/livekit/MediaDevicesContext.tsx @@ -124,7 +124,7 @@ function useMediaDeviceHandle( usingNames: boolean, ): MediaDeviceHandle { const hasRequestedPermissions = useRef(false); - const requestPermissions = usingNames || hasRequestedPermissions.current; + // const requestPermissions = usingNames || hasRequestedPermissions.current; // Make sure we don't needlessly reset to a device observer without names, // once permissions are already given hasRequestedPermissions.current ||= usingNames; @@ -140,7 +140,7 @@ function useMediaDeviceHandle( createMediaDeviceObserver( kind, () => logger.error("Error creating MediaDeviceObserver"), - requestPermissions, + true, ).pipe( startWith([]), // This Observable emits new values whenever the browser fires a @@ -151,7 +151,7 @@ function useMediaDeviceHandle( // we call MediaDevices.getUserMedia. So, filter by deep equality. distinctUntilChanged(deepCompare), ), - [kind, requestPermissions], + [kind], ); const available = useObservableEagerState( useMemo( @@ -400,23 +400,6 @@ function useControlledOutput(): MediaDeviceHandle { export const useMediaDevices = (): MediaDevices => useContext(MediaDevicesContext); -/** - * React hook that requests for the media devices context to be populated with - * real device names while this component is mounted. This is not done by - * default because it may involve requesting additional permissions from the - * user. - */ -export const useMediaDeviceNames = ( - context: MediaDevices, - enabled = true, -): void => - useEffect(() => { - if (enabled) { - context.startUsingDeviceNames(); - return context.stopUsingDeviceNames; - } - }, [context, enabled]); - /** * A convenience hook to get the audio node configuration for the earpiece. * It will check the `useAsEarpiece` of the `audioOutput` device and return diff --git a/src/settings/SettingsModal.tsx b/src/settings/SettingsModal.tsx index dc4fa8a5..fafbc4b6 100644 --- a/src/settings/SettingsModal.tsx +++ b/src/settings/SettingsModal.tsx @@ -19,7 +19,6 @@ import { ProfileSettingsTab } from "./ProfileSettingsTab"; import { FeedbackSettingsTab } from "./FeedbackSettingsTab"; import { useMediaDevices, - useMediaDeviceNames, iosDeviceMenu$, } from "../livekit/MediaDevicesContext"; import { widget } from "../widget"; @@ -98,7 +97,6 @@ export const SettingsModal: FC = ({ }; const devices = useMediaDevices(); - useMediaDeviceNames(devices, open); const [soundVolume, setSoundVolume] = useSetting(soundEffectVolumeSetting); const [soundVolumeRaw, setSoundVolumeRaw] = useState(soundVolume); const [showDeveloperSettingsTab] = useSetting(developerMode);