* feat: CodeScanner JS API * feat: iOS * Use guard * Format * feat: Android base * fix: Attach Surfaces * Use isBusy var * fix: Use separate Queue * feat: Finish iOS types * feat: Implement all other code types on Android * fix: Call JS event * fix: Pass codetypes on Android * fix: iOS use Preview coordinate system * docs: Add comments * chore: Format code * Update CameraView+AVCaptureSession.swift * docs: Add Code Scanner docs * docs: Update * feat: Use lazily downloaded model on Android * Revert changes in CameraPage * Format * fix: Fix empty QR codes * Update README.md
		
			
				
	
	
		
			41 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
| //
 | |
| //  CameraQueues.swift
 | |
| //  VisionCamera
 | |
| //
 | |
| //  Created by Marc Rousavy on 22.03.21.
 | |
| //  Copyright © 2021 mrousavy. All rights reserved.
 | |
| //
 | |
| 
 | |
| import Foundation
 | |
| 
 | |
| @objc
 | |
| public class CameraQueues: NSObject {
 | |
|   /// The serial execution queue for the camera preview layer (input stream) as well as output processing of photos.
 | |
|   @objc public static let cameraQueue = DispatchQueue(label: "mrousavy/VisionCamera.main",
 | |
|                                                       qos: .userInteractive,
 | |
|                                                       attributes: [],
 | |
|                                                       autoreleaseFrequency: .inherit,
 | |
|                                                       target: nil)
 | |
| 
 | |
|   /// The serial execution queue for output processing of videos for recording or synchronous frame processing.
 | |
|   @objc public static let videoQueue = DispatchQueue(label: "mrousavy/VisionCamera.video",
 | |
|                                                      qos: .userInteractive,
 | |
|                                                      attributes: [],
 | |
|                                                      autoreleaseFrequency: .inherit,
 | |
|                                                      target: nil)
 | |
| 
 | |
|   /// The serial execution queue for output processing of QR/barcodes.
 | |
|   @objc public static let codeScannerQueue = DispatchQueue(label: "mrousavy/VisionCamera.codeScanner",
 | |
|                                                            qos: .userInteractive,
 | |
|                                                            attributes: [],
 | |
|                                                            autoreleaseFrequency: .inherit,
 | |
|                                                            target: nil)
 | |
| 
 | |
|   /// The serial execution queue for output processing of audio buffers.
 | |
|   @objc public static let audioQueue = DispatchQueue(label: "mrousavy/VisionCamera.audio",
 | |
|                                                      qos: .userInteractive,
 | |
|                                                      attributes: [],
 | |
|                                                      autoreleaseFrequency: .inherit,
 | |
|                                                      target: nil)
 | |
| }
 |