millicast / millicast-native-sdk

SDK to build native clients using the Millicast platform.
Other
17 stars 5 forks source link

Segmentation fault on Linux when no DeckLink driver available #13

Closed EugeneSakun closed 9 months ago

EugeneSakun commented 1 year ago

I tried to run the publisherapp example from MillicastSDK 1.5.0 on Ubuntu 20.04. Unfortunately, it crashed with the following output:

Logger : MillicastSDK version : 1.5.0

Logger : AudioDeviceModule::Create
libDeckLinkAPI.so: cannot open shared object file: No such file or directory
A DeckLink iterator could not be created.  The DeckLink drivers may not be installed.
Logger : A DeckLink iterator could not be created.The DeckLink drivers may not be installed
Segmentation fault (core dumped)

I am not going to use any DeckLink in my project so that's why it's missing. Would be really nice if there is a way to make it working without installing the driver. I looked into the cmake files and found that there is some code that checks if the driver is installed:

if( ON )
    set( MCSDK_DECKLINK_FOUND TRUE )
  else()
    set( MCSDK_DECKLINK_FOUND FALSE )
  endif()

The if condition looks strange to me (it doesn't seem to check anything) and it doesn't seem working. I also tried to hardcode the MCSDK_DECKLINK_FOUND to be always FALSE, but it didn't work either. Since there is a function is_decklink_available() in media.h header, I would expect that DeckLink support can be somehow disabled in the SDK, but I have no idea how to do that.

Any suggestions?

Thanks!

goddino commented 1 year ago

Hi! Thanks for reporting this issue, we're currently looking into it. As this could be due to an error inside the SDK, the only work around I can think of would be to try installing Decklink. We will update again when we have some progress or questions on this. Thanks again.

djova-dolby commented 9 months ago

This has been fixed in 1.5.2 release and above. Please use new 1.7.1 version of SDK as it is the newest most upgraded version.