using AVCaptureSession I want to capture video frames via AVCaptureVideoDataOutput for analysing purposes, and based on the results a decision is made to automatically take a still image via AVCaptureStillImageOutput instantly. So basically, both capture outputs are added to the AVCaptureSession instance, using the preset AVCaptureSessionPresetPhoto for best resolutions (photo as documented, for video 852×640 – docs say it’s not supported but works anyway). The second reason to use AVCaptureSessionPresetPhoto is because the “field of view” is more extended than with other high quality presets, allowing to hold objects nearer to the camera to ease steady holding).
It all worked fine until iOS 5.1 was released, which caused a significant throttle in quality when taking the still image. The resolution of the still image has dropped to 640×480. I tried taking the still image manually with the use of a button, not having the video data output added to the AVCaptureSession, which delivers a high quality image again (as expected).
I really appreciate giving solution hints for this problem!!
Thanks
PS: Setup of capture session and outputs were done according to other sample Apps like AVCam, etc. So I don’t suspect an issue in configuring the setup.
It’s already solved, the problem occurred because the video frame rate was set to a fixed value and obviously too high to be processed as expected. iOS 5.1 seems to have a throttle incorporated. Once removed the values for videoMinFrameDuration and videoMaxFrameDuration of the responsible AVCaptureConnection, the issue was solved.