Compare commits
No commits in common. "f8efa172baaa0c84e180912e840bfb6b93fc7e2b" and "fcf5fe70f3b765426657cd36689db333f5eb504c" have entirely different histories.
f8efa172ba
...
fcf5fe70f3
@ -18,8 +18,6 @@ extension CameraSession {
|
|||||||
filePath: String,
|
filePath: String,
|
||||||
onVideoRecorded: @escaping (_ video: Video) -> Void,
|
onVideoRecorded: @escaping (_ video: Video) -> Void,
|
||||||
onError: @escaping (_ error: CameraError) -> Void) {
|
onError: @escaping (_ error: CameraError) -> Void) {
|
||||||
|
|
||||||
lockCurrentExposure(for: captureSession)
|
|
||||||
// Run on Camera Queue
|
// Run on Camera Queue
|
||||||
CameraQueues.cameraQueue.async {
|
CameraQueues.cameraQueue.async {
|
||||||
let start = DispatchTime.now()
|
let start = DispatchTime.now()
|
||||||
@ -193,35 +191,4 @@ extension CameraSession {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func lockCurrentExposure(for session: AVCaptureSession) {
|
|
||||||
guard let captureDevice = AVCaptureDevice.default(for: .video) else {
|
|
||||||
print("No capture device available")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
do {
|
|
||||||
// Lock the device for configuration
|
|
||||||
try captureDevice.lockForConfiguration()
|
|
||||||
|
|
||||||
// Get the current exposure duration and ISO
|
|
||||||
let currentExposureDuration = captureDevice.exposureDuration
|
|
||||||
let currentISO = captureDevice.iso
|
|
||||||
|
|
||||||
// Check if the device supports custom exposure settings
|
|
||||||
if captureDevice.isExposureModeSupported(.custom) {
|
|
||||||
// Lock the current exposure and ISO by setting custom exposure mode
|
|
||||||
captureDevice.setExposureModeCustom(duration: currentExposureDuration, iso: currentISO, completionHandler: nil)
|
|
||||||
ReactLogger.log(level: .info, message: "Exposure and ISO locked at current values")
|
|
||||||
} else {
|
|
||||||
ReactLogger.log(level: .info, message:"Custom exposure mode not supported")
|
|
||||||
}
|
|
||||||
|
|
||||||
// Unlock the device after configuration
|
|
||||||
captureDevice.unlockForConfiguration()
|
|
||||||
|
|
||||||
} catch {
|
|
||||||
ReactLogger.log(level: .warning, message:"Error locking exposure: \(error)")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user