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. A change in profile will lead to a change in the device attributes and supported display modes. As such, an application should rescan its IDeckLinkProfileAttributes::Get* and ::DoesSupportVideoMode methods 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.
Interface |
Interface ID |
Description |
|---|---|---|
IID_IDeckLink |
An |
|
IID_IDeckLink |
|
|
IID_IDeckLinkProfileIterator |
|
|
IID_IDeckLinkProfileIterator |
|
|
IID_IDeckLinkProfileAttributes |
An |
|
IID_IDeckLinkProfileCallback |
An |
|
IID_IDeckLinkProfileCallback |
An |
|
IID_IDeckLinkProfileManager |
|
2.5.47.1 IDeckLinkProfile::GetDevice method¶
-
HRESULT IDeckLinkProfile::GetDevice(IDeckLink **device);¶
The GetDevice method returns a reference to the
IDeckLinkinterface 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
IDeckLinkProfileobject is the active profile of the profile group.- Parameters:
isActive – When returns true, the
IDeckLinkProfileis 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
IDeckLinkProfileIteratorthat enumerates the IDeckLinkProfiles interface objects for all other sub-devices in the same profile group that share the sameBMDProfileID.- 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