<!--
{
  "availability" : [
    "iOS: 11.0.0 -",
    "iPadOS: 11.0.0 -",
    "macCatalyst: 14.0.0 -",
    "tvOS: 17.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AVFoundation",
  "identifier" : "/documentation/AVFoundation/AVCaptureDepthDataOutput",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "AVFoundation"
    ],
    "preciseIdentifier" : "c:objc(cs)AVCaptureDepthDataOutput"
  },
  "title" : "AVCaptureDepthDataOutput"
}
-->

# AVCaptureDepthDataOutput

A capture output that records scene depth information on compatible camera devices.

```
class AVCaptureDepthDataOutput
```

## Overview

This output type captures [`AVDepthData`](/documentation/AVFoundation/AVDepthData) objects containing per-pixel depth or disparity information, following a streaming delivery model similar to that used by [`AVCaptureVideoDataOutput`](/documentation/AVFoundation/AVCaptureVideoDataOutput). Alternatively, you can capture depth data alongside photos using [`AVCapturePhotoOutput`](/documentation/AVFoundation/AVCapturePhotoOutput) (see the [`AVCapturePhotoSettings`](/documentation/AVFoundation/AVCapturePhotoSettings) [`isDepthDataDeliveryEnabled`](/documentation/AVFoundation/AVCapturePhotoSettings/isDepthDataDeliveryEnabled) property).

This object always provides depth data in the format expressed by the source [`AVCaptureDevice`](/documentation/AVFoundation/AVCaptureDevice) object’s [`activeDepthDataFormat`](/documentation/AVFoundation/AVCaptureDevice/activeDepthDataFormat) property. If you wish to receive depth data in another format, choose a new value for that property from those listed in the [`supportedDepthDataFormats`](/documentation/AVFoundation/AVCaptureDevice/Format/supportedDepthDataFormats) array of the device’s [`activeFormat`](/documentation/AVFoundation/AVCaptureDevice/activeFormat) object.

## Topics

### Creating a depth data output

[`init()`](/documentation/AVFoundation/AVCaptureDepthDataOutput/init())

Initializes a depth data output object.

[`new`](/documentation/AVFoundation/AVCaptureDepthDataOutput/new)

Creates a depth data output object.

### Configuring depth data capture

[`alwaysDiscardsLateDepthData`](/documentation/AVFoundation/AVCaptureDepthDataOutput/alwaysDiscardsLateDepthData)

A Boolean value that determines whether the capture output should discard any depth data that is not processed before the next depth data is captured.

[`isFilteringEnabled`](/documentation/AVFoundation/AVCaptureDepthDataOutput/isFilteringEnabled)

A Boolean value that determines whether the depth data output should filter depth data to smooth out noise and fill invalid values.

### Receiving captured depth data

[`setDelegate(_:callbackQueue:)`](/documentation/AVFoundation/AVCaptureDepthDataOutput/setDelegate(_:callbackQueue:))

Designates a delegate object to receive depth data and a dispatch queue for delivering that data.

[`delegate`](/documentation/AVFoundation/AVCaptureDepthDataOutput/delegate)

A delegate object that receives depth data.

[`delegateCallbackQueue`](/documentation/AVFoundation/AVCaptureDepthDataOutput/delegateCallbackQueue)

A dispatch queue for delivering depth data.

[`AVCaptureDepthDataOutputDelegate`](/documentation/AVFoundation/AVCaptureDepthDataOutputDelegate)

Methods for receiving depth data produced by a depth capture output.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)