No Call in VideoInputFormatChanged()

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

ShilpiR_beesys

  • Posts: 17
  • Joined: Mon Apr 22, 2019 7:15 am
  • Real Name: Shilpi Rustagi

No Call in VideoInputFormatChanged()

PostMon Sep 23, 2019 12:52 pm

Hi..

I am using DeckLink Duo2 card and Blackmagic DeckLink SDK 11.2....
When I am taking the 2 or more inputs together from Decklink then I don't get the call in VideoInputFormatChanged() callback for all the Input ports..I just get it for one port.. The input interface is different for all so the callbacks for all are different... So where is the issue..
Offline

Cameron Nichols

Blackmagic Design

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

Re: No Call in VideoInputFormatChanged()

PostTue Sep 24, 2019 3:44 am

Hi Shilpi,

Unfortunately it is difficult to determine the issue from the description. But is it possible to capture 4 inputs on the DeckLink Duo 2, you can run QuadPreview SDK sample to check this.

I am assuming that you have set both devices bmdProfileTwoSubDevicesHalfDuplex profile and that your code is:
  • iterating through 4 instances of IDeckLinkInput
  • calling IDeckLinkInput::EnableVideoInput on all inputs
  • calling IDeckLinkInput::SetCallback on all inputs, referencing your IDeckLinkInputCallback class
Also, it should be noted that if the display mode you pass to EnableVideoInput is the mode detected by the DeckLink device, then you won't receive VideoInputFormatChanged callback for that device.

Regards
Cameron
Offline

ShilpiR_beesys

  • Posts: 17
  • Joined: Mon Apr 22, 2019 7:15 am
  • Real Name: Shilpi Rustagi

Re: No Call in VideoInputFormatChanged()

PostTue Sep 24, 2019 8:41 am

Hi Cameron..

Thanks for your response... I am able to capture 3 Inputs and 1 output in case of bmdProfileTwoSubDevicesHalfDuplex and the work perfectly fine unless n until i change the input video format on run time.. the format changes for 1st and 2nd only but i don't get the callback for 3rd and yes
I have set both devices bmdProfileTwoSubDevicesHalfDuplex profile and my code has:

Iteration through 3 instances of IDeckLinkInput
calling IDeckLinkInput::EnableVideoInput on all inputs with bmdVideoInputEnableFormatDetection flag ON
calling IDeckLinkInput::SetCallback on all inputs, referencing your IDeckLinkInputCallback class...


and Secondly , I have one more query .. Is it possible for me to have 2 inputs and 1 key and 1 Fill out in Duo.. What I obtained is 1 IN and I key 1 Fill out
Offline

Cameron Nichols

Blackmagic Design

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

Re: No Call in VideoInputFormatChanged()

PostThu Oct 03, 2019 5:20 am

Hi Shilpi,

Can you please try running with QuadPreview SDK sample, you should be able to capture the 3 inputs with auto-mode detection enabled. What display modes do you have set for each input and output?

Yes you can capture 2 inputs and fill/key output. The 2 inputs need to be to devices with bmdProfileTwoSubDevicesHalfDuplex profile, the fill/key output should be output on a device configured with bmdProfileOneSubDeviceFullDuplex profile.

Regards
Cameron
Offline

Le Thi Hang

  • Posts: 4
  • Joined: Thu Jun 08, 2023 7:50 am
  • Real Name: Le Thi Hang

Re: No Call in VideoInputFormatChanged()

PostThu Jun 08, 2023 7:57 am

I am working with Decklink Duo2. I want to read 3 or 4 input together. Can you help me? Please, thank you.
Offline

Cameron Nichols

Blackmagic Design

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

Re: No Call in VideoInputFormatChanged()

PostTue Jun 13, 2023 6:06 am

Hi Le Thi Hang,

To capture from all 4 inputs on the DeckLink Duo 2, you will need to configure each of the 2 Duo pairs to the bmdProfileTwoSubDevicesHalfDuplex profile. Under this profile both connectors in the pair will operate independently and each can be enabled as an output or an input.

The DeckLink SDK manual section 2.4.11 has further information about Device Profiles, including a table of the devices and connectors of the DeckLink Duo 2 with different profiles.

You can modify the profile for the DeckLink Duo 2 with the Desktop Video Setup application under the Connectors tab. You need to set the connector mapping as:
  • DeckLink Duo (1) = SDI 1
  • DeckLink Duo (3) = SDI 2
  • DeckLink Duo (2) = SDI 3
  • DeckLink Duo (4) = SDI 4
You can also set the profile programmatically. Please have a look at the ActivateProfile sample in the Desktop Video SDK. The ActivateProfile sample also has prebuilt binaries for each OS, so will run without needing to recompile.

Whichever method you choose, you will need to set the profile for each connector pair.

Regards
Cameron

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 29 guests