- Posts: 27
- Joined: Wed Mar 27, 2013 11:39 am
I am hoisting video frames on the UltraStudio 4k @ 60fps without scheduling them. That's working fine.
However, if the user picks a new device format or keying configuration, I attempt to stop the current device and start it up again in the new format.
My shutdown code is below. There may or may not video playing at this point, and the keyer may not be active. In these cases the respective instances are NIL.
My code occasionally crashes in the two noted locations
(1) I don't see a means in the API to determine if the video output is active (again, I'm not using scheduled frames)
(2) I don't see a means in the API to see the keyer is active
Any hints to fix this would be appreciated.
However, if the user picks a new device format or keying configuration, I attempt to stop the current device and start it up again in the new format.
My shutdown code is below. There may or may not video playing at this point, and the keyer may not be active. In these cases the respective instances are NIL.
- Code: Select all
// Disable Keying facility
IDeckLinkKeyer *deckLinkKeyer = getKeyer();
if (deckLinkKeyer!=nil && deckLinkKeyer->Disable() == S_OK) {
deckLinkKeyer->Release(); // crashes here.
deckLinkKeyer=nil;
}
// Disable Video output
IDeckLinkOutput *deckLinkOutput = getOutput();
if (deckLinkOutput!=nil && deckLinkOutput->DisableVideoOutput() == S_OK) { // crashes here
deckLinkOutput->Release();
deckLinkOutput=nil;
}
My code occasionally crashes in the two noted locations
(1) I don't see a means in the API to determine if the video output is active (again, I'm not using scheduled frames)
(2) I don't see a means in the API to see the keyer is active
Any hints to fix this would be appreciated.