EnableVideoInput failure on headless machine

Ask software engineering and SDK questions for developers working on Mac OS X, Windows or Linux.
  • Author
  • Message
Offline

dibbitson

  • Posts: 11
  • Joined: Mon Jul 16, 2018 7:29 pm
  • Real Name: David Ibbitson

EnableVideoInput failure on headless machine

PostTue Sep 10, 2019 7:17 pm

Hi,

I've setup an 8K Pro on a headless machine and installed the driver.

I'm getting a failure result (E_FAIL) from EnableVideoInput that I'm having trouble tracking down.

Once I installed BlackmagicDesktopVideoSetup and configured (XForwarding via SSH) the connection information this issue went away.

However for future deployment this isn't practical and I was trying to recreate whatever BlackMagicDesktopVideoSetup is doing programmatically to no avail.

I tried setting various properties via IDeckLinkConfiguration and also tried setting the profile via IDeckLinkProfileManager.

Is there something specific I need to do here?

Thanks,
David
Offline

Cameron Nichols

Blackmagic Design

  • Posts: 203
  • Joined: Mon Sep 04, 2017 4:05 am

Re: EnableVideoInput failure on headless machine

PostWed Sep 11, 2019 6:48 am

Hi David,

The most likely reason for IDeckLinkInput::EnableVideoInput returning E_FAIL, is that the input resource is already tied up, either:
  • The input has been enabled by another process, or
  • The device is configured for half-duplex profile and the output is enabled. You can check the active profile by running the ActivateProfile SDK sample
It may be worth running StatusMonitor SDK example to check the busy state of the device. This will help determine whether the input or output is enabled. Refer to section 2.7.42 Device Busy State of the SDK Manual for further information.

Regards
Cameron
Offline

dibbitson

  • Posts: 11
  • Joined: Mon Jul 16, 2018 7:29 pm
  • Real Name: David Ibbitson

Re: EnableVideoInput failure on headless machine

PostWed Sep 11, 2019 7:14 pm

Thanks Cameron,

I checked those things, no luck.

All subdevices are configured for half duplex according to ActivateProfile.

No other process is using the card.

StatusMonitor shows a busy state of 0.

It's not clear how to actually change whether output is enabled or not. Would you have to explicitly acquire an IDeckLinkOutput interface and DisableVideoOutput() first before proceeding with EnableVideoInput()?

Thanks,
David

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 3 guests