This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository ffmpeg.

The following commit(s) were added to refs/heads/master by this push:
     new 215351c1c3 avdevice/decklink: fix build on macOS by defining 
IID_IUnknown
215351c1c3 is described below

commit 215351c1c37dc0345a6794f4c96af54cf30e1c7b
Author:     Jake Fineman <[email protected]>
AuthorDate: Mon Oct 26 22:39:23 2026 -0400
Commit:     Kacper Michajłow <[email protected]>
CommitDate: Tue Oct 27 18:06:45 2026 +0000

    avdevice/decklink: fix build on macOS by defining IID_IUnknown
    
    Commits 0cd75dbfa0 and 27e94281d1 added QueryInterface()
    implementations that compare the requested interface against
    IID_IUnknown. The Linux SDK defines it in LinuxCOM.h and the Windows
    SDK gets it from the platform COM headers, but the macOS SDK uses
    CoreFoundation's COM types from <CoreFoundation/CFPlugInCOM.h>, which
    only provide IUnknownUUID as a CFUUIDRef. Since then, building with
    --enable-decklink on macOS fails:
    
      libavdevice/decklink_dec.cpp:138:43: error: use of undeclared
      identifier 'IID_IUnknown'
      libavdevice/decklink_dec.cpp:603:43: error: use of undeclared
      identifier 'IID_IUnknown'
      libavdevice/decklink_enc.cpp:120:39: error: use of undeclared
      identifier 'IID_IUnknown'
      libavdevice/decklink_enc.cpp:181:39: error: use of undeclared
      identifier 'IID_IUnknown'
    
    On macOS, REFIID is CFUUIDBytes, so derive IID_IUnknown from
    IUnknownUUID with CFUUIDGetUUIDBytes(), the same definition used by
    the macOS samples shipped with the DeckLink SDK. This avoids
    duplicating the GUID bytes, and CFUUIDGetConstantUUIDWithBytes()
    returns a constant that must not be released. The definition is
    limited to __APPLE__, so Linux and Windows builds are unchanged.
    
    Tested with DeckLink SDK 16.0 and Apple clang 21 on macOS arm64.
    
    Signed-off-by: Jake Fineman <[email protected]>
---
 libavdevice/decklink_common.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavdevice/decklink_common.h b/libavdevice/decklink_common.h
index 11430787ce..bd0f59dc5e 100644
--- a/libavdevice/decklink_common.h
+++ b/libavdevice/decklink_common.h
@@ -103,6 +103,11 @@ static inline bool DECKLINK_IsEqualIID(const REFIID& 
riid1, const REFIID& riid2)
 }
 #endif
 
+#ifdef __APPLE__
+/* The macOS SDK only provides IUnknownUUID. */
+#define IID_IUnknown CFUUIDGetUUIDBytes(IUnknownUUID)
+#endif
+
 class decklink_output_callback;
 class decklink_input_callback;
 

-- 
To stop receiving notification emails like this one, please contact
[email protected].
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to