diff --git a/src/state/MediaDevices.ts b/src/state/MediaDevices.ts index adc21b3f..92ac4e01 100644 --- a/src/state/MediaDevices.ts +++ b/src/state/MediaDevices.ts @@ -358,6 +358,9 @@ export class MediaDevices { */ public requestDeviceNames(): void { void navigator.mediaDevices.enumerateDevices().then((result) => { + // we only actually update the requests$ subject if there are no + // devices with a label, because otherwise we already have the permission + // to access the devices. this.requests$.next(!result.some((device) => device.label)); }); }