Merge pull request #11164 from corleypc:master

This commit is contained in:
Vadim Pisarevsky 2018-03-27 10:04:20 +00:00
commit 00fff3a85d

View File

@ -2912,7 +2912,7 @@ HRESULT videoInput::getDevice(IBaseFilter** gottaFilter, int deviceId, WCHAR * w
// Enumerate the monikers.
IMoniker *pMoniker = NULL;
ULONG cFetched;
while ((pEnumCat->Next(1, &pMoniker, &cFetched) == S_OK) && (!done))
while ((!done) && (pEnumCat->Next(1, &pMoniker, &cFetched) == S_OK))
{
if(deviceCounter == deviceId)
{
@ -2951,6 +2951,12 @@ HRESULT videoInput::getDevice(IBaseFilter** gottaFilter, int deviceId, WCHAR * w
pMoniker = NULL;
}
}
else
{
// cleaning for the case when this isn't the device we are looking for
pMoniker->Release();
pMoniker = NULL;
}
deviceCounter++;
}
pEnumCat->Release();