Floating point value support in CMFormatDescriptionExtension

I updated macOS to 15.0 yesterday, and I found some floating point value support under CMFormatDescriptionExtensions and CVPixelBuffer's Attachment seems to be broken.

When I call CMSampleBufferCreateReadyWithImageBuffer() from CVPixelBuffer, macOS 15.0 always fail with floating point values.

a. kCMFormatDescriptionExtension_GammaLevel

Previous macOS 14.x works with double value like

NSString* keyGamma = (__bridge NSString*)kCMFormatDescriptionExtension_GammaLevel;
extensions[keyGamma] = @(2.2);

b. kCMFormatDescriptionExtension_CleanAperture

I am not sure yet but such non-integer value issue also seems to be applied to CleanAperture.

kCMFormatDescriptionKey_CleanApertureWidth
kCMFormatDescriptionKey_CleanApertureHeight
kCMFormatDescriptionKey_CleanApertureHorizontalOffset
kCMFormatDescriptionKey_CleanApertureVerticalOffset

Also, When I add rational values to extensions, it cannot pass CMVideoFormatDescriptionMatchesImageBuffer() with:

kCMFormatDescriptionKey_CleanApertureWidthRational
kCMFormatDescriptionKey_CleanApertureHeightRational
kCMFormatDescriptionKey_CleanApertureHorizontalOffsetRational
kCMFormatDescriptionKey_CleanApertureVerticalOffsetRational

Is there any known workaround?

Floating point value support in CMFormatDescriptionExtension
 
 
Q