Contents

isDeferredStartEnabled

A Boolean value that indicates whether to defer starting this capture output.

Declaration

var isDeferredStartEnabled: Bool { get set }

Discussion

When this value is true, the session doesn’t prepare the output’s resources until some time after startRunning() returns. You can start the visual parts of your user interface prior to other parts, such as photo or movie capture, metadata output, and so on, to improve startup performance. Set this value to false for outputs that your app needs for startup, and true for the ones that it doesn’t need to start immediately. For example, an AVCaptureVideoDataOutput that you intend to use for displaying preview should set this value to false, so that the frames are available as soon as possible.

For apps that are linked on or after iOS 26, this property value is true for AVCapturePhotoOutput and AVCaptureFileOutput subclasses if supported, and false otherwise. When set to true for AVCapturePhotoOutput, if you want to support multiple capture requests before running deferred start, set isResponsiveCaptureEnabled to true on that output.

If isDeferredStartSupported is false, setting this property value to true results in the system throwing an invalid argument exception.

See Also

Managing deferred start