The __builtin_available function does not do compile time check for the availablity of the CVBufferCopyAttachments function which will fail the build. Check the availability during configure.
Signed-off-by: Gnattu OC <gnatt...@me.com> --- configure | 2 ++ libavutil/hwcontext_videotoolbox.c | 12 +++++------- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/configure b/configure index f6f5c29fea..54171dd4e5 100755 --- a/configure +++ b/configure @@ -2366,6 +2366,7 @@ SYSTEM_FUNCS=" clock_gettime closesocket CommandLineToArgvW + CVBufferCopyAttachments fcntl getaddrinfo getauxval @@ -6684,6 +6685,7 @@ enabled videotoolbox && { check_func_headers CoreVideo/CVImageBuffer.h kCVImageBufferColorPrimaries_ITU_R_2020 "-framework CoreVideo" check_func_headers CoreVideo/CVImageBuffer.h kCVImageBufferTransferFunction_ITU_R_2020 "-framework CoreVideo" check_func_headers CoreVideo/CVImageBuffer.h kCVImageBufferTransferFunction_SMPTE_ST_428_1 "-framework CoreVideo" + check_func_headers CoreVideo/CVBuffer.h CVBufferCopyAttachments "-framework CoreVideo" } enabled metal && test_cmd $metalcc -v || disable metal diff --git a/libavutil/hwcontext_videotoolbox.c b/libavutil/hwcontext_videotoolbox.c index ab7556936d..c55d478004 100644 --- a/libavutil/hwcontext_videotoolbox.c +++ b/libavutil/hwcontext_videotoolbox.c @@ -592,15 +592,13 @@ static int vt_pixbuf_set_colorspace(void *log_ctx, (TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 100000) if (__builtin_available(macOS 10.8, iOS 10, *)) { CFDictionaryRef attachments = NULL; +#if HAVE_CVBUFFERCOPYATTACHMENTS if (__builtin_available(macOS 12.0, iOS 15.0, *)) attachments = CVBufferCopyAttachments(pixbuf, kCVAttachmentMode_ShouldPropagate); -#if (TARGET_OS_OSX && __MAC_OS_X_VERSION_MIN_REQUIRED <= 120000) || \ - (TARGET_OS_IOS && __IPHONE_OS_VERSION_MIN_REQUIRED <= 150000) - else { - CFDictionaryRef tmp = CVBufferGetAttachments(pixbuf, kCVAttachmentMode_ShouldPropagate); - if (tmp) - attachments = CFDictionaryCreateCopy(NULL, tmp); - } +#else + CFDictionaryRef tmp = CVBufferGetAttachments(pixbuf, kCVAttachmentMode_ShouldPropagate); + if (tmp) + attachments = CFDictionaryCreateCopy(NULL, tmp); #endif if (attachments) { colorspace = CVImageBufferCreateColorSpaceFromAttachments(attachments); -- 2.39.3 (Apple Git-146) _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".