of the handler, you must CFRetain() it, as it will be CFRelease()'d by the CGDisplayStream after the handler returns. The updateRef will be NULL in cases
of the handler, you must CFRetain() it, as it will be CFRelease()'d by the CGDisplayStream after the handler returns. The updateRef will be NULL in cases
when status is not kCGDisplayStreamFrameStatusFrameComplete.
when status is not kCGDisplayStreamFrameStatusFrameComplete.
-"Please use ScreenCaptureKit API's SCStreamConfiguration colorSpaceName property instead"); /* Desired output color space (CGColorSpaceRef) - defaults to display color space */
+11.0, 14.0,
+"Please use ScreenCaptureKit API's SCStreamConfiguration colorSpaceName property instead"); /* Desired output color space (CGColorSpaceRef) - defaults to display color space */
/*!
/*!
@const kCGDisplayStreamMinimumFrameTime
@const kCGDisplayStreamMinimumFrameTime
@discussion Request that the delta between frame updates be at least as much specified by this value.
@discussion Request that the delta between frame updates be at least as much specified by this value.
// Note that the DAL's API calls HasProperty before calling GetPropertyDataSize. This means that it can be assumed that address is valid for the property involved.
// Note that the DAL's API calls HasProperty before calling GetPropertyDataSize. This means that it can be assumed that address is valid for the property involved.
+ case kCMIODevicePropertyDeviceIsRunningSomewhere:
+ return sizeof(UInt32);
+ case kCMIODevicePropertyDeviceCanBeDefaultDevice:
+ return sizeof(UInt32);
+ case kCMIODevicePropertyHogMode:
+ return sizeof(pid_t);
+ case kCMIODevicePropertyLatency:
+ return sizeof(UInt32);
+ case kCMIODevicePropertyStreams:
+ // Only one stream
+ return sizeof(CMIOStreamID) * 1;
+ case kCMIODevicePropertyStreamConfiguration:
+ // Only one stream
+ return sizeof(UInt32) + (sizeof(UInt32) * 1);
+ case kCMIODevicePropertyExcludeNonDALAccess:
+ return sizeof(UInt32);
+ case kCMIODevicePropertyCanProcessAVCCommand:
+ return sizeof(Boolean);
+ case kCMIODevicePropertyCanProcessRS422Command:
+ return sizeof(Boolean);
+ case kCMIODevicePropertyLinkedCoreAudioDeviceUID:
+ return sizeof(CFStringRef);
+ case kCMIODevicePropertyDeviceMaster:
+ return sizeof(pid_t);
+ default:
+ break;
+ };
- switch (address.mSelector) {
- case kCMIOObjectPropertyName:
- return sizeof(CFStringRef);
- case kCMIOObjectPropertyManufacturer:
- return sizeof(CFStringRef);
- case kCMIOObjectPropertyElementCategoryName:
- return sizeof(CFStringRef);
- case kCMIOObjectPropertyElementNumberName:
- return sizeof(CFStringRef);
- case kCMIODevicePropertyPlugIn:
- return sizeof(CMIOObjectID);
- case kCMIODevicePropertyDeviceUID:
- return sizeof(CFStringRef);
- case kCMIODevicePropertyModelUID:
- return sizeof(CFStringRef);
- case kCMIODevicePropertyTransportType:
- return sizeof(UInt32);
- case kCMIODevicePropertyDeviceIsAlive:
- return sizeof(UInt32);
- case kCMIODevicePropertyDeviceHasChanged:
- return sizeof(UInt32);
- case kCMIODevicePropertyDeviceIsRunning:
- return sizeof(UInt32);
- case kCMIODevicePropertyDeviceIsRunningSomewhere:
- return sizeof(UInt32);
- case kCMIODevicePropertyDeviceCanBeDefaultDevice:
- return sizeof(UInt32);
- case kCMIODevicePropertyHogMode:
- return sizeof(pid_t);
- case kCMIODevicePropertyLatency:
- return sizeof(UInt32);
- case kCMIODevicePropertyStreams:
- // Only one stream
- return sizeof(CMIOStreamID) * 1;
- case kCMIODevicePropertyStreamConfiguration:
- // Only one stream
- return sizeof(UInt32) + (sizeof(UInt32) * 1);
- case kCMIODevicePropertyExcludeNonDALAccess:
- return sizeof(UInt32);
- case kCMIODevicePropertyCanProcessAVCCommand:
- return sizeof(Boolean);
- case kCMIODevicePropertyCanProcessRS422Command:
- return sizeof(Boolean);
- case kCMIODevicePropertyLinkedCoreAudioDeviceUID:
- return sizeof(CFStringRef);
- case kCMIODevicePropertyDeviceMaster:
- return sizeof(pid_t);
- default:
- break;
- };
-
- return 0;
+ return 0;
}
}
// Note that the DAL's API calls HasProperty before calling GetPropertyData. This means that it can be assumed that address is valid for the property involved.
// Note that the DAL's API calls HasProperty before calling GetPropertyData. This means that it can be assumed that address is valid for the property involved.