DirectShow中获取Filter上的输入输出PIN

来源:互联网 发布:汤不热类似的软件 编辑:程序博客网 时间:2024/06/07 09:17

获取输入和输出PIN函数实现:

返回值:

是要查找的PIN

参数:

pFilter:从这个Filter上查找

PinDir:查找方向

函数实现如下所示:

IPin * GetPin(IBaseFilter * pFilter, PIN_DIRECTION PinDir)

{

BOOL bFound = FALSE;

IEnumPins * pEnum;

IPin *pPin;

HRESULT hr = pFilter->EnumPins(&pEnum);

if(FAILED(hr))

{

return NULL;

}


while(pEnum->Next(1, &pPin,0)  == S_OK)

{

PIN_DIRECTION PinDirThis;

pPin->QueryDirection(&PinDirThis);

if(bFound = (PinDir == PinDirThis))

{

break;

}

pPin->Release();

}

pEnum->Release();

return (bFound ? pPin : NULL);

}

原创粉丝点击