Hi everyone,
I’m working on a camera app as a learning project and have reached a point where I’m trying to better understand the intended architecture for Live Photo capture using AVCapturePhotoOutput.
The app currently supports:
Live Photos
Depth data
Location metadata
Multiple lens presets on a virtual multi-camera device
Everything is working well, but I’m now thinking about capture throughput and rapid shutter presses.
Right now, my implementation is fairly conservative. I wait for a Live Photo capture to finish processing and importing before allowing another capture. This is reliable, but it doesn’t feel particularly camera-like when compared to Apple’s Camera app.
One observation from field testing caught my attention:
I took a Live Photo, immediately switched lenses, then took another Live Photo. When I viewed the first Live Photo later, the movie portion included the lens-switching actions that occurred after I pressed the shutter.
That made me realize that I may be thinking about the capture lifecycle incorrectly.
My questions are:
When using AVCapturePhotoOutput with Live Photos enabled, what is the earliest point at which a capture can be considered “safely secured”?
Is it expected that apps wait for PhotoKit import to complete before accepting another Live Photo capture request?
If supporting rapid sequential shutter presses, is the recommended approach to queue capture requests and process them one at a time?
Are there any best practices around lens changes or camera reconfiguration while a Live Photo is still being captured or processed?
I’m not looking for details about the implementation of Apple’s Camera app. I’m mainly trying to understand the recommended approach when working with the public AVFoundation APIs.
I’d appreciate any guidance, documentation references, or examples from developers who have worked through similar problems.
Thanks!
Topic:
Media Technologies
SubTopic:
Photos & Camera
Tags:
AVFoundation
PhotoKit
Camera
Photos and Imaging
0
0
18