2.5.47 IDeckLinkProfile Interface

The IDeckLinkProfile interface represents a supported profile for a sub-device.

When multiple profiles exists for a DeckLink sub-device, the IDeckLinkProfileIterator interface enumerates the supported profiles, returning IDeckLinkProfile interfaces. When switching between profiles, a notification is provided with the IDeckLinkProfileCallback interface object. An application will need to rescan attributes and display modes after a change in profile.

The current active profile, or the solitary profile when the DeckLink has no IDeckLinkProfileManager interface, can be obtained from an IDeckLink interface using QueryInterface.

The GetPeers method returns an IDeckLinkProfileIterator that enumerates the IDeckLinkProfiles interface objects for the peer sub-devices in the same profile group. When a profile is activated on a sub-device with IDeckLinkProfile::SetActive() method, all peer sub-devices will be activated with the new profile simultaneously.

Related Interfaces

Interface

Interface ID

Description

IDeckLink

IID_IDeckLink

An IDeckLinkProfile object interface may be obtained from IDeckLink using QueryInterface

IDeckLink

IID_IDeckLink

IDeckLinkProfile::GetDevice() outputs an IDeckLink object interface

IDeckLinkProfileIterator

IID_IDeckLinkProfileIterator

IDeckLinkProfileIterator::Next() outputs an IDeckLinkProfile object interface

IDeckLinkProfileIterator

IID_IDeckLinkProfileIterator

IDeckLinkProfile::GetPeers() outputs an IDeckLinkProfileIterator object interface

IDeckLinkProfileAttributes

IID_IDeckLinkProfileAttributes

An IDeckLinkProfileAttributes object interface may be obtained from IDeckLinkProfile using QueryInterface

IDeckLinkProfileCallback

IID_IDeckLinkProfileCallback

An IDeckLinkProfile object interface is passed to IDeckLinkProfileCallback::ProfileChanging()

IDeckLinkProfileCallback

IID_IDeckLinkProfileCallback

An IDeckLinkProfile object interface is passed to IDeckLinkProfileCallback::ProfileActivated()

IDeckLinkProfileManager

IID_IDeckLinkProfileManager

IDeckLinkProfileManager::GetProfile() outputs an IDeckLinkProfile object interface

2.5.47.1 IDeckLinkProfile::GetDevice method

The GetDevice method returns a reference to the IDeckLink interface associated with the profile.

Parameters:

device – The DeckLink device associated with the profile. This object must be released by the caller when no longer required.

Return values:
  • E_FAIL – Failure

  • S_OK – Success

2.5.47.2 IDeckLinkProfile::IsActive method

HRESULT IDeckLinkProfile::IsActive(Boolean *isActive);

The IsActive method is called to determine whether the IDeckLinkProfile object is the active profile of the profile group.

Parameters:

isActive – When returns true, the IDeckLinkProfile is the active profile.

Return values:
  • E_INVALIDARG – Parameter isActive variable is NULL

  • E_FAIL – Failure

  • S_OK – Success

2.5.47.3 IDeckLinkProfile::SetActive method

HRESULT IDeckLinkProfile::SetActive();

The SetActive method sets the active profile for the profile group. The active profile is saved to system preferences immediately so that the setting will persist across system restarts.

Return values:
  • E_ACCESSDENIED – Profile group is already in transition

  • E_FAIL – Failure

  • S_OK – Success

2.5.47.4 IDeckLinkProfile::GetPeers method

HRESULT IDeckLinkProfile::GetPeers(IDeckLinkProfileIterator **profileIterator);

The GetPeers method returns an IDeckLinkProfileIterator that enumerates the IDeckLinkProfiles interface objects for all other sub-devices in the same profile group that share the same BMDProfileID.

Parameters:

profileIterator – Peer profile iterator. This object must be released by the caller when no longer required.

Return values:
  • E_INVALIDARG – Parameter profileIterator variable is NULL

  • E_OUTOFMEMORY – Insufficient memory to create iterator

  • E_FAIL – Failure

  • S_OK – Success