Hey Marcio,
we also faced some reconnection issues in the beginning with the ATEM. We are using the SDK for C#.
I am not sure if this is helpful but you always have to make sure that you release all COM objects before initializing the connection to the Atem again. Thats very important otherwise the connection will not work again.
In C#:
If you do that:
- Code: Select all
IBMDSwitcherMixEffectBlock mixEffectBlock = null;
IBMDSwitcherMixEffectBlockIterator meIterator = null;
IntPtr meIteratorPtr;
Guid meIteratorIID = typeof(IBMDSwitcherMixEffectBlockIterator).GUID;
m_switcher.CreateIterator(ref meIteratorIID, out meIteratorPtr);
meIterator = (IBMDSwitcherMixEffectBlockIterator)Marshal.GetObjectForIUnknown(meIteratorPtr);
for (int i = 1; i <= mixEffectBlockNumber; i++)
{
meIterator.Next(out mixEffectBlock);
}
Be sure to do that if the connection breaks:
- Code: Select all
//Release pointer objects
Marshal.FinalReleaseComObject(meIterator);
Marshal.Release(meIteratorPtr);
Marshal.FinalReleaseComObject(mixEffectBlock);
Regards
Julian