mirror of
https://github.com/qTox/qTox.git
synced 2024-03-22 14:00:36 +08:00
fix(macos): update deprecated AVFoundation API
Backported from 65ff532a54
This commit is contained in:
parent
c282c6e96f
commit
484ea7ce9b
|
@ -614,6 +614,17 @@ if (NOT DEFINED ENABLE_STATUSNOTIFIER AND UNIX AND NOT APPLE)
|
|||
endif()
|
||||
|
||||
if(AVFOUNDATION_FOUND)
|
||||
# used for AVFoundation compile time deprecation check
|
||||
execute_process(
|
||||
COMMAND sw_vers -productVersion
|
||||
OUTPUT_VARIABLE MACOS_VER
|
||||
)
|
||||
string(REPLACE "." ";" VERSION_LIST ${MACOS_VER})
|
||||
list(GET VERSION_LIST 0 MACOS_VERSION_MAJOR)
|
||||
list(GET VERSION_LIST 1 MACOS_VERSION_MINOR)
|
||||
add_definitions(-DMACOS_VERSION_MAJOR=${MACOS_VERSION_MAJOR})
|
||||
add_definitions(-DMACOS_VERSION_MINOR=${MACOS_VERSION_MINOR})
|
||||
|
||||
set(${PROJECT_NAME}_SOURCES ${${PROJECT_NAME}_SOURCES}
|
||||
src/platform/camera/avfoundation.mm
|
||||
src/platform/camera/avfoundation.h)
|
||||
|
|
|
@ -27,7 +27,15 @@ QVector<QPair<QString, QString> > avfoundation::getDeviceList()
|
|||
{
|
||||
QVector<QPair<QString, QString> > result;
|
||||
|
||||
#if MACOS_VERSION_MAJOR > 10 || (MACOS_VERSION_MAJOR == 10 && MACOS_VERSION_MINOR > 14)
|
||||
AVCaptureDevice* device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
|
||||
id objects[] = {device};
|
||||
NSUInteger count = sizeof(objects) / sizeof(id);
|
||||
NSArray* devices = [NSArray arrayWithObjects:objects count:count];
|
||||
#else
|
||||
NSArray* devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
|
||||
#endif
|
||||
|
||||
for (AVCaptureDevice* device in devices) {
|
||||
result.append({ QString::fromNSString([device uniqueID]), QString::fromNSString([device localizedName]) });
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user