diff --git a/QRCodeReader/Classes/Core/Card/CardReader.swift b/QRCodeReader/Classes/Core/Card/CardReader.swift index 6debb4e..24b966c 100644 --- a/QRCodeReader/Classes/Core/Card/CardReader.swift +++ b/QRCodeReader/Classes/Core/Card/CardReader.swift @@ -63,12 +63,20 @@ open class CardReader: BaseReader { session.addInput(defaultDeviceInput) } + session.sessionPreset = .hd1920x1080 + videoDataOutput.alwaysDiscardsLateVideoFrames = true videoDataOutput.setSampleBufferDelegate(self, queue: scannerObjectsQueue) - videoDataOutput.videoSettings = [kCVPixelBufferPixelFormatTypeKey as String: kCVPixelFormatType_32BGRA] + videoDataOutput.videoSettings = [kCVPixelBufferPixelFormatTypeKey as String: kCVPixelFormatType_420YpCbCr8BiPlanarFullRange] session.addOutput(videoDataOutput) + if ((try? defaultDevice?.lockForConfiguration()) != nil) { + defaultDevice?.videoZoomFactor = 2 + defaultDevice?.autoFocusRangeRestriction = .near + defaultDevice?.unlockForConfiguration() + } + previewLayer.videoGravity = .resizeAspectFill session.commitConfiguration()