Merge pull request #104857 from shiena/feature/discovery-continuity-camera
macOS: Allow users to select Continuity Camera
This commit is contained in:
@ -309,17 +309,21 @@ MyDeviceNotifications *device_notifications = nil;
|
|||||||
// CameraMacOS - Subclass for our camera server on macOS
|
// CameraMacOS - Subclass for our camera server on macOS
|
||||||
|
|
||||||
void CameraMacOS::update_feeds() {
|
void CameraMacOS::update_feeds() {
|
||||||
#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500
|
NSArray<AVCaptureDevice *> *devices = nullptr;
|
||||||
AVCaptureDeviceDiscoverySession *session;
|
#if defined(__x86_64__)
|
||||||
#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 140000
|
if (@available(macOS 10.15, *)) {
|
||||||
// Avoid deprecated warning if the minimum SDK is 14.0.
|
|
||||||
session = [AVCaptureDeviceDiscoverySession discoverySessionWithDeviceTypes:[NSArray arrayWithObjects:AVCaptureDeviceTypeExternal, AVCaptureDeviceTypeBuiltInWideAngleCamera, nil] mediaType:AVMediaTypeVideo position:AVCaptureDevicePositionUnspecified];
|
|
||||||
#else
|
|
||||||
session = [AVCaptureDeviceDiscoverySession discoverySessionWithDeviceTypes:[NSArray arrayWithObjects:AVCaptureDeviceTypeExternalUnknown, AVCaptureDeviceTypeBuiltInWideAngleCamera, nil] mediaType:AVMediaTypeVideo position:AVCaptureDevicePositionUnspecified];
|
|
||||||
#endif
|
#endif
|
||||||
NSArray<AVCaptureDevice *> *devices = session.devices;
|
AVCaptureDeviceDiscoverySession *session;
|
||||||
#else
|
if (@available(macOS 14.0, *)) {
|
||||||
NSArray<AVCaptureDevice *> *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
|
session = [AVCaptureDeviceDiscoverySession discoverySessionWithDeviceTypes:[NSArray arrayWithObjects:AVCaptureDeviceTypeExternal, AVCaptureDeviceTypeBuiltInWideAngleCamera, AVCaptureDeviceTypeContinuityCamera, nil] mediaType:AVMediaTypeVideo position:AVCaptureDevicePositionUnspecified];
|
||||||
|
} else {
|
||||||
|
session = [AVCaptureDeviceDiscoverySession discoverySessionWithDeviceTypes:[NSArray arrayWithObjects:AVCaptureDeviceTypeExternalUnknown, AVCaptureDeviceTypeBuiltInWideAngleCamera, nil] mediaType:AVMediaTypeVideo position:AVCaptureDevicePositionUnspecified];
|
||||||
|
}
|
||||||
|
devices = session.devices;
|
||||||
|
#if defined(__x86_64__)
|
||||||
|
} else {
|
||||||
|
devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// remove devices that are gone..
|
// remove devices that are gone..
|
||||||
|
|||||||
Reference in New Issue
Block a user