获取输入和输出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);
}
该博客介绍了如何在DirectShow中实现获取Filter的输入和输出PIN。通过调用`GetPin`函数,传入Filter指针和PIN方向,可以成功找到所需的PIN。函数通过枚举Filter的所有PIN,比较其方向来实现这一功能。
2268

被折叠的 条评论
为什么被折叠?



