Contents

automaticallyRunsDeferredStart

A Boolean value that indicates whether deferred start runs automatically.

Declaration

var automaticallyRunsDeferredStart: Bool { get set }

Discussion

Deferred Start is a feature that allows you to control, on a per-output basis, whether output objects start when or after the session is started. The session defers starting an output when its isDeferredStartEnabled property is set to true, and starts it after the session is started.

When this value is true, AVCaptureSession automatically runs deferred start. If only AVCaptureVideoPreviewLayer objects have isDeferredStartEnabled set to false, the session runs deferred start a short time after displaying the first frame. If there are AVCaptureOutput objects that have isDeferredStartEnabled set to false, then the session waits until each output that provides streaming data to your app sends its first frame.

If you set this value to false, call runDeferredStartWhenNeeded() to indicate when to run deferred start.

By default, for apps that are linked on or after iOS 26, this value is true.

If isManualDeferredStartSupported is false, setting this property value to false results in the session throwing an invalid argument exception.

See Also

Configuring deferred start