main.swift 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. //
  2. // main.swift
  3. // camera-extension
  4. //
  5. // Created by Sebastian Beckmann on 2022-09-30.
  6. // Changed by Patrick Heyer on 2022-10-16.
  7. //
  8. import CoreMediaIO
  9. import Foundation
  10. import os.log
  11. let OBSCameraDeviceUUID = Bundle.main.object(forInfoDictionaryKey: "OBSCameraDeviceUUID") as? String
  12. let OBSCameraSourceUUID = Bundle.main.object(forInfoDictionaryKey: "OBSCameraSourceUUID") as? String
  13. let OBSCameraSinkUUID = Bundle.main.object(forInfoDictionaryKey: "OBSCameraSinkUUID") as? String
  14. guard let OBSCameraDeviceUUID = OBSCameraDeviceUUID, let OBSCameraSourceUUID = OBSCameraSourceUUID,
  15. let OBSCameraSinkUUID = OBSCameraSinkUUID
  16. else {
  17. fatalError("Unable to retrieve Camera Extension UUIDs from Info.plist.")
  18. }
  19. guard let deviceUUID = UUID(uuidString: OBSCameraDeviceUUID), let sourceUUID = UUID(uuidString: OBSCameraSourceUUID),
  20. let sinkUUID = UUID(uuidString: OBSCameraSinkUUID)
  21. else {
  22. fatalError("Unable to generate Camera Extension UUIDs from Info.plist values.")
  23. }
  24. let providerSource = OBSCameraProviderSource(
  25. clientQueue: nil, deviceUUID: deviceUUID, sourceUUID: sourceUUID, sinkUUID: sinkUUID)
  26. CMIOExtensionProvider.startService(provider: providerSource.provider)
  27. CFRunLoopRun()