decklink: Keep deckLinkConfiguration while in use

Apparently this annoying, stupid variable was leaking before the ComPtr
was added, which ironically was necessary to ensure devices worked.
After that ComPtr commit some devices stopped capturing properly.
Basically, it implies that this pointer needs to stick around while the
device is in use.

(Jim note: This was one of the most painful things I've ever had to
debug)
This commit is contained in:
jp9000 2022-09-02 17:06:50 -07:00
parent 9176348176
commit 2f8d28f7fa
2 changed files with 1 additions and 1 deletions

View File

@ -371,7 +371,6 @@ bool DeckLinkDeviceInstance::StartCapture(DeckLinkDeviceMode *mode_,
if (!device->GetInput(&input))
return false;
ComPtr<IDeckLinkConfiguration> deckLinkConfiguration;
HRESULT result = input->QueryInterface(IID_IDeckLinkConfiguration,
(void **)&deckLinkConfiguration);
if (result != S_OK) {

View File

@ -13,6 +13,7 @@ class DecklinkBase;
class DeckLinkDeviceInstance : public IDeckLinkInputCallback {
protected:
ComPtr<IDeckLinkConfiguration> deckLinkConfiguration;
struct obs_source_frame2 currentFrame;
struct obs_source_audio currentPacket;
struct obs_source_cea_708 currentCaptions;