Instance Property


The highest quality the photo output should prepare to deliver on a capture-by-capture basis.


var maxPhotoQualityPrioritization: AVCapturePhotoOutput.QualityPrioritization { get set }


AVCapturePhotoOutput can apply a variety of techniques to improve photo quality, such as reducing noise, preserving detail in low light, freezing motion, and so on. Some techniques improve image quality at the expense of the shot-to-shot time. Before starting your session, you may set this property to indicate the highest quality prioritization you intend to request when calling the capturePhoto(with:delegate:) method.

When configuring an AVCapturePhotoSettings object, you can’t exceed this quality prioritization level, but you may select a lower prioritization level that favors speed over quality.

When you attach the photo output to an AVCaptureSession, the default value of this property is AVCapturePhotoOutput.QualityPrioritization.balanced. If you instead attach it to an AVCaptureMultiCamSession, the default value is AVCapturePhotoOutput.QualityPrioritization.speed.

See Also

Setting the Capture Prioritization

enum AVCapturePhotoOutput.QualityPrioritization

Constants that indicate how to prioritize photo quality relative to capture speed.