Profiles and Peers

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

JeffRenewedVision

  • Posts: 1
  • Joined: Wed Jan 18, 2023 8:19 pm
  • Real Name: Jeff Brown

Profiles and Peers

PostWed Jan 18, 2023 8:29 pm

We'd like to programmatically determine which devices on a particular card are paired.

I can get the profiles for a devices and then gets the peer profile but I can't find a way to understand what devices that is. For example, using GetDisplayName() on a a particular device, then getting the peer of a profile for that device followed by the device that is affected by that profile IDeckLinkProfile::GetDevice and, finally, getting the display name for that device yields the following:

DeckLink Quad (6) peer affected device is DeckLink Quad (2)

However the SDK document has the pairings on a Quad2 as such:

SDI 1/2
SDI 3/4
SDI 5/6
SDI 7/8

We need to be able to programmatically determine which devices will go away or appear when the profiles are changed. We need to be able to graphically show the user which devices are paired. We'd much rather not just use what the SDK document as it might change and/or there will be new devices in the future.
Offline

Cameron Nichols

Blackmagic Design

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

Re: Profiles and Peers

PostFri Jan 27, 2023 12:01 pm

Hi Jeff,

Devices that are impacted by the same profile setting are known as peer devices. You can determine the peer devices for the device's IDeckLinkProfile instance by calling IDeckLinkProfile::GetPeers.

GetPeers will output an IDeckLinkProfileIterator object that can be used to iterate the IDeckLinkProfile objects of the peer sub-devices sharing the same BMDProfileID.

For each peer IDeckLinkProfile, you can obtain the IDeckLinkProfileAttributes interface with QueryInterface, and then call IDeckLinkProfileAttributes::GetInt with attribute ID BMDDeckLinkDuplex.

The duplex mode for the peer device will be one of bmdDuplexFull, bmdDuplexHalf or bmdDuplexInactive, depending on the current active profile.

Regards
Cameron

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 10 guests