Fri Feb 15, 2019 1:18 am
Each Media Player has 2 IBMDSwitcherInput(s) of type BMDSwitcherPortType::bmdSwitcherPortTypeMediaPlayerFill and MDSwitcherPortType::bmdSwitcherPortTypeMediaPlayerCut.
Both have different BMDSwitcherInputId(s). With at least 2 Media Players on each ATEM, this creates at least 4 BMDSwitcherInputId(s). Clearly the Fill and Cut BMDSwitcherInputId(s) are associated with a single Media Player, however there is NO STABLE method in the SDK to associate a Media Player's Fill and Cut BMDSwitcherInputId(s) which is critical when setting a IBMDSwitcherDownstreamKey::SetInputCut and IBMDSwitcherDownstreamKey::SetInputFill.
Long and short names ARE mutable. Literal BMDSwitcherInputId(s) are not stable as well as default long and short names. Neither is the order of IBMDSwitcherInput iteration.
I recommend the ability to accesses the Media Player's BMDSwitcherInputId for Cut and Fill from IBMDSwitcherMediaPlayer e.g. IBMDSwitcherMediaPlayer::GetCutInputId and IBMDSwitcherMediaPlayer::GetFillInputId