- Posts: 1
- Joined: Mon Jan 05, 2015 10:15 pm
I'm trying to update some ancient code to the current 10.1.4 SDK, testing on a UltraStudio 3D connected to a current Mac Pro via Thunderbolt. Running latest Yosemite 10.10.1.
My code detects the UltraStudio without problem, can enumerate the available output modes, and generally lets me know that the UltraStudio is there.
However, any attempt to enable the video output returns a result of E_ACCESSDENIED. I've tried different modes, tried disabling the input (in case it was a half-duplex thing), and I've now pared down the code to this simple test:
Can anyone see what I'm doing wrong? The UltraStudio is working with other apps, so it's definitely my code. My app is not sandboxed.
My code detects the UltraStudio without problem, can enumerate the available output modes, and generally lets me know that the UltraStudio is there.
However, any attempt to enable the video output returns a result of E_ACCESSDENIED. I've tried different modes, tried disabling the input (in case it was a half-duplex thing), and I've now pared down the code to this simple test:
- Code: Select all
IDeckLinkIterator *deckLinkIterator;
deckLinkIterator = CreateDeckLinkIteratorInstance();
if (deckLinkIterator != nil) {
if (deckLinkIterator->Next(&mSelectedDeckLink) == S_OK) {
result = mSelectedDeckLink->QueryInterface(IID_IDeckLinkOutput, (void**)&mSelectedDeckLinkOutput);
if (result != S_OK)
dbprintf("result = %x", result);
result = mSelectedDeckLinkOutput->EnableVideoOutput(bmdModeHD1080i5994, bmdVideoOutputFlagDefault);
if (result != S_OK)
dbprintf("result = %x", result); // fails here with E_ACCESSDENIED (0x80000009)
}
}
Can anyone see what I'm doing wrong? The UltraStudio is working with other apps, so it's definitely my code. My app is not sandboxed.