I am a little confused which preset I should use for different devices. Currently I am using AVCaptureSessionPresetMedium
for all devices. However, I want to take a
you can use like below.
[CaptureSession setSessionPreset:AVCaptureSessionPresetMedium];
if ([CaptureSession canSetSessionPreset:AVCaptureSessionPreset640x480]) //Check size based configs are supported before setting them
[CaptureSession setSessionPreset:AVCaptureSessionPreset640x480];
if ([CaptureSession canSetSessionPreset:AVCaptureSessionPreset1280x720])
[CaptureSession setSessionPreset:AVCaptureSessionPreset1280x720];
if ([CaptureSession canSetSessionPreset:AVCaptureSessionPreset1920x1080])
[CaptureSession setSessionPreset:AVCaptureSessionPreset1920x1080];
if ([CaptureSession canSetSessionPreset:AVCaptureSessionPreset3840x2160])
[CaptureSession setSessionPreset:AVCaptureSessionPreset3840x2160];
or you can use just one statement
[CaptureSession setSessionPreset:AVCaptureSessionPresetHigh];