> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes.

# selectVideoInputDevice

> Sets the preferred video input device.

```ts
selectVideoInputDevice(device): void
```

Sets the preferred video input device.

## **Parameters**

**`device`** `MediaDeviceInfo | null` — required

Device to select. Pass `null` to clear the current selection. See [`MediaDeviceInfo`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo).

---

## **Returns**

`void`

## **Examples**

```ts
client.selectVideoInputDevice(device);
```

## **See**

* [`videoInputDevices$`](/docs/browser-sdk/v4/reference/signalwire/video-input-devices\$) — list of available cameras.
* [`selectedVideoInputDevice$`](/docs/browser-sdk/v4/reference/signalwire/selected-video-input-device\$) — reactive state.
* [`deviceRecovered$`](/docs/browser-sdk/v4/reference/signalwire/device-recovered\$) — auto-switch events.