summaryrefslogtreecommitdiffstats
path: root/modules/camera/camera_macos.mm
diff options
context:
space:
mode:
Diffstat (limited to 'modules/camera/camera_macos.mm')
-rw-r--r--modules/camera/camera_macos.mm14
1 files changed, 10 insertions, 4 deletions
diff --git a/modules/camera/camera_macos.mm b/modules/camera/camera_macos.mm
index c0d8dc2cef..578a1d6325 100644
--- a/modules/camera/camera_macos.mm
+++ b/modules/camera/camera_macos.mm
@@ -307,11 +307,17 @@ MyDeviceNotifications *device_notifications = nil;
// CameraMacOS - Subclass for our camera server on macOS
void CameraMacOS::update_feeds() {
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= 101500
- AVCaptureDeviceDiscoverySession *session = [AVCaptureDeviceDiscoverySession discoverySessionWithDeviceTypes:[NSArray arrayWithObjects:AVCaptureDeviceTypeExternalUnknown, AVCaptureDeviceTypeBuiltInWideAngleCamera, nil] mediaType:AVMediaTypeVideo position:AVCaptureDevicePositionUnspecified];
- NSArray *devices = session.devices;
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500
+ AVCaptureDeviceDiscoverySession *session;
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 140000
+ // Avoid deprecated warning if the minimum SDK is 14.0.
+ session = [AVCaptureDeviceDiscoverySession discoverySessionWithDeviceTypes:[NSArray arrayWithObjects:AVCaptureDeviceTypeExternal, AVCaptureDeviceTypeBuiltInWideAngleCamera, nil] mediaType:AVMediaTypeVideo position:AVCaptureDevicePositionUnspecified];
#else
- NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
+ session = [AVCaptureDeviceDiscoverySession discoverySessionWithDeviceTypes:[NSArray arrayWithObjects:AVCaptureDeviceTypeExternalUnknown, AVCaptureDeviceTypeBuiltInWideAngleCamera, nil] mediaType:AVMediaTypeVideo position:AVCaptureDevicePositionUnspecified];
+#endif
+ NSArray<AVCaptureDevice *> *devices = session.devices;
+#else
+ NSArray<AVCaptureDevice *> *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
#endif
// remove devices that are gone..