decklink: Use ComPtr for variables
This makes sure Decklink variables are automatically released. Closes https://github.com/obsproject/obs-studio/pull/5508
This commit is contained in:
parent
3df2f3e069
commit
efce0f41d0
7 changed files with 19 additions and 44 deletions
|
|
@ -49,9 +49,9 @@ bool DeckLinkDevice::Init()
|
|||
ComPtr<IDeckLinkInput> input;
|
||||
if (device->QueryInterface(IID_IDeckLinkInput, (void **)&input) ==
|
||||
S_OK) {
|
||||
IDeckLinkDisplayModeIterator *modeIterator;
|
||||
ComPtr<IDeckLinkDisplayModeIterator> modeIterator;
|
||||
if (input->GetDisplayModeIterator(&modeIterator) == S_OK) {
|
||||
IDeckLinkDisplayMode *displayMode;
|
||||
ComPtr<IDeckLinkDisplayMode> displayMode;
|
||||
long long modeId = 1;
|
||||
|
||||
while (modeIterator->Next(&displayMode) == S_OK) {
|
||||
|
|
@ -63,11 +63,8 @@ bool DeckLinkDevice::Init()
|
|||
modeId);
|
||||
inputModes.push_back(mode);
|
||||
inputModeIdMap[modeId] = mode;
|
||||
displayMode->Release();
|
||||
++modeId;
|
||||
}
|
||||
|
||||
modeIterator->Release();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -88,9 +85,9 @@ bool DeckLinkDevice::Init()
|
|||
if (device->QueryInterface(IID_IDeckLinkOutput, (void **)&output) ==
|
||||
S_OK) {
|
||||
|
||||
IDeckLinkDisplayModeIterator *modeIterator;
|
||||
ComPtr<IDeckLinkDisplayModeIterator> modeIterator;
|
||||
if (output->GetDisplayModeIterator(&modeIterator) == S_OK) {
|
||||
IDeckLinkDisplayMode *displayMode;
|
||||
ComPtr<IDeckLinkDisplayMode> displayMode;
|
||||
long long modeId = 1;
|
||||
|
||||
while (modeIterator->Next(&displayMode) == S_OK) {
|
||||
|
|
@ -102,11 +99,8 @@ bool DeckLinkDevice::Init()
|
|||
modeId);
|
||||
outputModes.push_back(mode);
|
||||
outputModeIdMap[modeId] = mode;
|
||||
displayMode->Release();
|
||||
++modeId;
|
||||
}
|
||||
|
||||
modeIterator->Release();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue