Skip to content

Commit 3fcab70

Browse files
authored
chore: kickoff release
2 parents 83ac755 + 930462b commit 3fcab70

File tree

2 files changed

+36
-12
lines changed

2 files changed

+36
-12
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
//
2+
// Copyright Amazon.com Inc. or its affiliates.
3+
// All Rights Reserved.
4+
//
5+
// SPDX-License-Identifier: Apache-2.0
6+
//
7+
8+
import AVFoundation
9+
import CoreImage
10+
11+
class CameraPreviewOutputSampleBufferDelegate: NSObject, AVCaptureVideoDataOutputSampleBufferDelegate {
12+
13+
let updateBufferHandler: ((CVImageBuffer) -> Void)
14+
15+
init(_ updateBufferHandler: @escaping (CVImageBuffer) -> Void) {
16+
self.updateBufferHandler = updateBufferHandler
17+
}
18+
19+
func captureOutput(
20+
_ output: AVCaptureOutput,
21+
didOutput sampleBuffer: CMSampleBuffer,
22+
from connection: AVCaptureConnection
23+
) {
24+
if let buffer = sampleBuffer.imageBuffer {
25+
updateBufferHandler(buffer)
26+
}
27+
}
28+
}

Sources/FaceLiveness/Views/GetReadyPage/CameraPreviewViewModel.swift

+8-12
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,13 @@ class CameraPreviewViewModel: NSObject, ObservableObject {
2727
position: .front
2828
).devices.first
2929

30+
let outputDelegate = CameraPreviewOutputSampleBufferDelegate { [weak self] buffer in
31+
self?.updateBuffer(buffer)
32+
}
33+
3034
self.previewCaptureSession = LivenessCaptureSession(
3135
captureDevice: .init(avCaptureDevice: avCaptureDevice),
32-
outputDelegate: self
36+
outputDelegate: outputDelegate
3337
)
3438

3539
do {
@@ -52,18 +56,10 @@ class CameraPreviewViewModel: NSObject, ObservableObject {
5256
func stopSession() {
5357
previewCaptureSession?.stopRunning()
5458
}
55-
}
5659

57-
extension CameraPreviewViewModel: AVCaptureVideoDataOutputSampleBufferDelegate {
58-
func captureOutput(
59-
_ output: AVCaptureOutput,
60-
didOutput sampleBuffer: CMSampleBuffer,
61-
from connection: AVCaptureConnection
62-
) {
63-
if let buffer = sampleBuffer.imageBuffer {
64-
DispatchQueue.main.async {
65-
self.buffer = buffer
66-
}
60+
func updateBuffer(_ buffer: CVImageBuffer) {
61+
DispatchQueue.main.async {
62+
self.buffer = buffer
6763
}
6864
}
6965
}

0 commit comments

Comments
 (0)