Add conditional to choose types based on pre vs. post sonoma update

This commit is contained in:
hexbabe
2023-10-27 15:53:24 -04:00
committed by Clyde Bazile
parent 3c9fee958e
commit 4aae1bc842

View File

@@ -182,15 +182,26 @@ STATUS AVBindDevices(AVBindMediaType mediaType, PAVBindDevice *ppDevices, int *p
PAVBindDevice pDevice; PAVBindDevice pDevice;
AVMediaType _mediaType = mediaType == AVBindMediaTypeVideo ? AVMediaTypeVideo : AVMediaTypeAudio; AVMediaType _mediaType = mediaType == AVBindMediaTypeVideo ? AVMediaTypeVideo : AVMediaTypeAudio;
NSArray *refAllTypes = @[
AVCaptureDeviceTypeBuiltInWideAngleCamera, NSArray *refAllTypes;
AVCaptureDeviceTypeBuiltInMicrophone, if (@available(macOS 14.0, *)) {
AVCaptureDeviceTypeExternalUnknown refAllTypes = @[
]; AVCaptureDeviceTypeBuiltInWideAngleCamera,
AVCaptureDeviceTypeMicrophone,
AVCaptureDeviceTypeExternal,
];
} else {
refAllTypes = @[
AVCaptureDeviceTypeBuiltInWideAngleCamera,
AVCaptureDeviceTypeBuiltInMicrophone,
AVCaptureDeviceTypeExternalUnknown,
];
}
AVCaptureDeviceDiscoverySession *refSession = [AVCaptureDeviceDiscoverySession AVCaptureDeviceDiscoverySession *refSession = [AVCaptureDeviceDiscoverySession
discoverySessionWithDeviceTypes: refAllTypes discoverySessionWithDeviceTypes: refAllTypes
mediaType: _mediaType mediaType: _mediaType
position: AVCaptureDevicePositionUnspecified]; position: AVCaptureDevicePositionUnspecified];
int i = 0; int i = 0;
for (AVCaptureDevice *refDevice in refSession.devices) { for (AVCaptureDevice *refDevice in refSession.devices) {