
- Posts: 2
- Joined: Mon Apr 21, 2025 7:36 pm
- Real Name: Bruno Vergilio
Hello everyone. It's my first post here, and I'm still somewhat new to BMD's sdk, but I hope I can get some help on some issues I'm having. I work for a company that uses BMD cards, and lately, we've been updating our systems to ensure new cards are working as expected with our current codebase, but we've run into some issues regarding BMD's behavior on certain calls. So I'm gonna try and list some of them. Before Going further, here's the device we're currently testing against:
BlackMagic Decklink Duo 2
Driver Version: 14.5
1) Right now, we use QueryInterface from an IDeckLinkInput to obtain a IDeckLinkConfiguration_v7_6 interface, and we do so in order to call SetAudioInputFormat(). Lately this call has failed, and I noticed that the flags enumeration used is of type BMDAudioConnection_v10_2, so I tried to acquire an interface for IDeckLinkConfiguration_v10_2 (and use SetInt() with the proper flag, bmdDeckLinkConfigAudioInputConnection, for the same approach), and it does work - problem is, I'd like some insight as to whether this is correct, and what the best option would be, so that we can still account for older systems with older cards and drivers, as well as new ones.
2) The DeckLink Duo card has 4 SDI slots, and previously, calling IDeckLinkInput::EnableVideoInput() wouldn't cause any issues, but now, unless all the slots are set as inputs, I just get an E_FAIL error, which doesn't help much, but again, I'd like to know if there's a way to check which SDI ports are set to input / output, or how to handle such a scenario.
3) If possible, I'd like to know if there're interfaces we should use / avoid when dealing with these new (and old) drivers, and for the issues above, what the best course of action would be. Is there a table or mapping between which interfaces should be supported by which SDKs and drivers? We want to know which version of the driver to recommend to customers to install. To do so, we need to be sure that the interfaces we coded to are supported by that driver.
Thank you all!
BlackMagic Decklink Duo 2
Driver Version: 14.5
1) Right now, we use QueryInterface from an IDeckLinkInput to obtain a IDeckLinkConfiguration_v7_6 interface, and we do so in order to call SetAudioInputFormat(). Lately this call has failed, and I noticed that the flags enumeration used is of type BMDAudioConnection_v10_2, so I tried to acquire an interface for IDeckLinkConfiguration_v10_2 (and use SetInt() with the proper flag, bmdDeckLinkConfigAudioInputConnection, for the same approach), and it does work - problem is, I'd like some insight as to whether this is correct, and what the best option would be, so that we can still account for older systems with older cards and drivers, as well as new ones.
2) The DeckLink Duo card has 4 SDI slots, and previously, calling IDeckLinkInput::EnableVideoInput() wouldn't cause any issues, but now, unless all the slots are set as inputs, I just get an E_FAIL error, which doesn't help much, but again, I'd like to know if there's a way to check which SDI ports are set to input / output, or how to handle such a scenario.
3) If possible, I'd like to know if there're interfaces we should use / avoid when dealing with these new (and old) drivers, and for the issues above, what the best course of action would be. Is there a table or mapping between which interfaces should be supported by which SDKs and drivers? We want to know which version of the driver to recommend to customers to install. To do so, we need to be sure that the interfaces we coded to are supported by that driver.
Thank you all!