Page 1 of 1

App compiled with SDK 11.7 not working with driver 11.4.1

PostPosted: Thu Apr 08, 2021 11:00 am
by altug.simsek
Application compiled with Decklink SDK 11.7
Decklink Driver on target machine 11.4.1
WinSrv2016 x64

When the app runs,

pDecklinkIterator -> QueryInterface( IID_IDeckLinkInput , ( void ** )&pDecklinkInput )

and

pDecklinkIterator -> QueryInterface( IID_IDeckLinkOutput , ( void ** )&pDecklinkOutput )

fails.

Definitions of those IID_s are different in SDK 11.4 and 11.7 DeckLinkAPI_i.c file.
We upgrade the driver to 11.7, it works.

There are also
IID_IDeckLinkInput_v11_4
IID_IDeckLinkOutput_v11_4

definitions in SDK 11.7

Is this behaviour normal?
I would expect the SDK to use the corresponding IID_ by looking at the driver version installed on the target system.
I would expect an application compiled with SDK 11.7 work seamlessly on a target system with Driver 11.4.1.
Am I getting or doing something wrong?

Regards,
Altuğ

Re: App compiled with SDK 11.7 not working with driver 11.4.

PostPosted: Fri Apr 09, 2021 3:53 am
by Cameron Nichols
Hi Altug,

Although it is possible to run an application built with earlier SDK than the installed Desktop Video, the opposite is not true.

The IDeckLinkOutput interface was revised in Desktop Video 11.5.1, as you have observed it has a new REFIID. An installed Desktop Video 11.5 does not define the newer IDeckLinkOutput interface, so calling QueryInterface with the new REFIID will return E_NOINTERFACE.

To target your application to run against both Desktop Video 11.4.1 and 11.7, you should build your application against Desktop Video SDK 11.4.1.

Regards
Cameron

Re: App compiled with SDK 11.7 not working with driver 11.4.

PostPosted: Fri Apr 09, 2021 6:39 am
by altug.simsek
Got it.
Thanks.