Audio capture issues - Studio 4k

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

ErickMonteiro

  • Posts: 1
  • Joined: Mon Apr 10, 2017 3:52 pm

Audio capture issues - Studio 4k

PostMon Apr 10, 2017 3:54 pm

Hello, I'm Erick Monteiro from the company FPF Tech in Manaus, Amazonas in Brazil.


We are developing an application in LabVIEW (Windows) which tests set-top boxes and we need to acquire video and audio from different inputs (HDMI, CVBS and Component)


For video data, we had no problem in getting the images but we couldn't acquire the audio data properly. We tried to capture audio data using the same process we use when capturing data from microphone but when we checked the recording devices, the device Blackmagic Audio 4k was stated as "Currently unavailable" so we thought that it needs some enabling process before recording.


Also, as we are checking different inputs, it's not good for the test automation that we manually use the Blackmagic Setup to change the audio and video inputs, if there's any way of changing via SDK or some DLL, please inform us.

Thanks,
Erick Monteiro
Offline

Waqqas Sharif

Blackmagic Design

  • Posts: 21
  • Joined: Tue Oct 04, 2016 1:47 am

Re: Audio capture issues - Studio 4k

PostMon Apr 24, 2017 1:18 am

Hello Erick,

The Blackmagic Audio 4K will not be available unless an active capture process is running on the DeckLink Studio 4K device.

You may wish to investigate using the DeckLink SDK to create a DLL which can then be interfaced with the LabView.

Certainly, it is possible to set the active input connector by using the IDeckLinkConfiguration[1] interface, e.g. (where deckLink is an IDeckLink*):

IDeckLinkConfiguration *deckLinkConfiguration = NULL;
if (deckLink->QueryInterface(IID_IDeckLinkConfiguration, (void **)&deckLinkConfiguration) != S_OK)
{
printf("Could not get the IDeckLinkConfiguration interface\n");
deckLinkConfiguration = NULL;
goto bail;
}

Then set the video input connection to the desired BMDVideoConnector[2]:

result = deckLinkConfiguration->SetInt(bmdDeckLinkConfigVideoInputConnection, bmdVideoConnectionHDMI);

Be sure to check the result to ensure the operation was successful.

Note that configuration changes made are global, and will be reverted when the IDeckLinkConfiguration reference is released, unless the settings are saved with IDeckLinkConfiguration::WriteConfigurationToPreferences [3].

See "2.7.18 DeckLink Configuration ID" for the possible configuration items, and "2.7.12 Video Connection Modes" for the possible video connections.

It is also possible to determine the available inputs for a particular device (i.e. whether a particular device has an HDMI input) by querying the IDeckLinkAttributes[4] interface with attribute BMDDeckLinkVideoInputConnections [5].

Regards
Waqqas

[1] 2.5.15 IDeckLinkConfiguration Interface
[2] 2.7.12 Video Connection Modes
[3] 2.5.15.9 IDeckLinkConfiguration::WriteConfigurationToPreferences method
[4] 2.5.17 IDeckLinkAttributes Interface
[5] 2.7.17 DeckLink Attribute ID

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 10 guests