# Console: NotReadableError: Could not start video source (camera in use by another app)

**Code:** `NotReadableError: Could not start video source` · **Category:** Browser · **Seen on:** Chrome, Firefox, JavaScript, Windows

The camera or microphone exists but could not be opened — another application, tab or a driver problem holds it.

## Meaning

Hardware access is usually exclusive. Zoom/Teams, another browser tab or a crashed process may still hold the device, or the operating system privacy policy and drivers block the stream. Close other users of the device, then retry.

## Common causes

- Another app or browser tab is using the camera/microphone
- Driver or hardware fault
- OS privacy settings preventing access
- Previous stream never stopped (tracks not released) in your own code
- Antivirus webcam protection

## Quick fix

1. Close other apps or tabs using the camera (video call software)
2. Stop old tracks: `stream.getTracks().forEach(t => t.stop())` before requesting again
3. Update/reinstall the driver and reboot

## Detailed fix by platform

### JavaScript

1. `stream.getTracks().forEach(t => t.stop());` when leaving a call/page, so the device is released

### Windows

1. Settings → Privacy & security → Camera; close apps listed under "Recently used"; update the camera driver

### macOS

1. `sudo killall VDCAssistant; sudo killall AppleCameraAssistant` to reset the camera service, then retry

## How to diagnose

1. **Holder** — Which app/tab uses the device?
2. **Code** — Are old tracks stopped?
3. **Driver** — Works in the OS camera app?

---
Source: [WhatIsMyError](https://whatismyerror.com/errors/browser/getusermedia-notreadableerror)
