---
title: AVCaptureDeviceInput
framework: avfoundation
role: symbol
role_heading: Class
path: avfoundation/avcapturedeviceinput
---

# AVCaptureDeviceInput

An object that provides media input from a capture device to a capture session.

## Declaration

```swift
class AVCaptureDeviceInput
```

## Mentioned in

Setting up a capture session

## Overview

Overview This class is a concrete subclass of AVCaptureInput that you use to connect a capture device to a capture session.

## Topics

### Creating an input

- [init(device:)](avfoundation/avcapturedeviceinput/init(device:).md)

### Configuring video properties

- [unifiedAutoExposureDefaultsEnabled](avfoundation/avcapturedeviceinput/unifiedautoexposuredefaultsenabled.md)
- [videoMinFrameDurationOverride](avfoundation/avcapturedeviceinput/videominframedurationoverride.md)

### Configuring audio properties

- [isMultichannelAudioModeSupported(_:)](avfoundation/avcapturedeviceinput/ismultichannelaudiomodesupported(_:).md)
- [multichannelAudioMode](avfoundation/avcapturedeviceinput/multichannelaudiomode.md)
- [AVCaptureMultichannelAudioMode](avfoundation/avcapturemultichannelaudiomode.md)
- [isWindNoiseRemovalSupported](avfoundation/avcapturedeviceinput/iswindnoiseremovalsupported.md)
- [isWindNoiseRemovalEnabled](avfoundation/avcapturedeviceinput/iswindnoiseremovalenabled.md)

### Configuring Cinematic video capture

- [isCinematicVideoCaptureSupported](avfoundation/avcapturedeviceinput/iscinematicvideocapturesupported.md)
- [isCinematicVideoCaptureEnabled](avfoundation/avcapturedeviceinput/iscinematicvideocaptureenabled.md)
- [simulatedAperture](avfoundation/avcapturedeviceinput/simulatedaperture.md)

### Locking frame duration

- [activeLockedVideoFrameDuration](avfoundation/avcapturedeviceinput/activelockedvideoframeduration.md)
- [isLockedVideoFrameDurationSupported](avfoundation/avcapturedeviceinput/islockedvideoframedurationsupported.md)

### Synchronizing with external devices

- [isExternalSyncSupported](avfoundation/avcapturedeviceinput/isexternalsyncsupported.md)
- [follow(_:videoFrameDuration:delegate:)](avfoundation/avcapturedeviceinput/follow(_:videoframeduration:delegate:).md)
- [unfollowExternalSyncDevice()](avfoundation/avcapturedeviceinput/unfollowexternalsyncdevice().md)
- [activeExternalSyncVideoFrameDuration](avfoundation/avcapturedeviceinput/activeexternalsyncvideoframeduration.md)
- [externalSyncDevice](avfoundation/avcapturedeviceinput/externalsyncdevice.md)

### Accessing the device

- [device](avfoundation/avcapturedeviceinput/device.md)
- [ports(for:sourceDeviceType:sourceDevicePosition:)](avfoundation/avcapturedeviceinput/ports(for:sourcedevicetype:sourcedeviceposition:).md)

### Instance Properties

- [isAudioZoomEnabled](avfoundation/avcapturedeviceinput/isaudiozoomenabled.md)
- [isAudioZoomSupported](avfoundation/avcapturedeviceinput/isaudiozoomsupported.md)

## Relationships

### Inherits From

- [AVCaptureInput](avfoundation/avcaptureinput.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Capture devices

- [Choosing a capture device](avfoundation/choosing-a-capture-device.md)
- [Adopting smart framing in your camera app](avfoundation/adopting-smart-framing-in-your-camera-app.md)
- [AVCaptureDevice](avfoundation/avcapturedevice.md)
- [AVContinuityDevice](avfoundation/avcontinuitydevice.md)
- [AVExternalStorageDevice](avfoundation/avexternalstoragedevice.md)
- [AVExternalStorageDeviceDiscoverySession](avfoundation/avexternalstoragedevicediscoverysession.md)
