/
githubmirror
/
obs-studio
Обзор
Документация
Войти
/
githubmirror
/
obs-studio
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
plugins/mac-virtualcam/src/camera-extension/OBSCameraProviderSource.swift
61 строка
2 KB
gxalpha
mac-virtualcam: Add macOS camera extension project
18 май 2023, 21:41
18 май 2023, 21:41
5c6e471
Код
Авторство
О чём код?
// // OBSCameraProviderSource.swift // camera-extension // // Created by Sebastian Beckmann on 2022-09-30. // Changed by Patrick Heyer on 2022-10-16. // import CoreMediaIO import Foundation class OBSCameraProviderSource: NSObject, CMIOExtensionProviderSource { private(set) var provider: CMIOExtensionProvider! private var deviceSource: OBSCameraDeviceSource! init(clientQueue: DispatchQueue?, deviceUUID: UUID, sourceUUID: UUID, sinkUUID: UUID) { super.init() provider = CMIOExtensionProvider(source: self, clientQueue: clientQueue) deviceSource = OBSCameraDeviceSource( localizedName: "OBS Virtual Camera", deviceUUID: deviceUUID, sourceUUID: sourceUUID, sinkUUID: sinkUUID) do { try provider.addDevice(deviceSource.device) } catch let error { fatalError("Failed to add device \(error.localizedDescription)") } } func connect(to client: CMIOExtensionClient) throws { } func disconnect(from client: CMIOExtensionClient) { } var availableProperties: Set<CMIOExtensionProperty> { return [.providerName, .providerManufacturer] } func providerProperties(forProperties properties: Set<CMIOExtensionProperty>) throws -> CMIOExtensionProviderProperties { let providerProperties = CMIOExtensionProviderProperties(dictionary: [:]) if properties.contains(.providerName) { providerProperties.name = "OBS Camera Extension Provider" } if properties.contains(.providerManufacturer) { providerProperties.manufacturer = "OBS Project" } return providerProperties } func setProviderProperties(_ providerProperties: CMIOExtensionProviderProperties) throws { } }