mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-14 22:47:19 +00:00
strmbase: Implement CBaseFilter::FindPin().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
9313cb0866
commit
5b9ae5ad8d
|
@ -141,6 +141,37 @@ HRESULT WINAPI BaseFilterImpl_EnumPins(IBaseFilter * iface, IEnumPins **ppEnum)
|
|||
return EnumPins_Construct(This, This->pFuncsTable->pfnGetPin, This->pFuncsTable->pfnGetPinCount, BaseFilterImpl_GetPinVersion, ppEnum);
|
||||
}
|
||||
|
||||
HRESULT WINAPI BaseFilterImpl_FindPin(IBaseFilter *iface, const WCHAR *id, IPin **ret)
|
||||
{
|
||||
BaseFilter *This = impl_from_IBaseFilter(iface);
|
||||
PIN_INFO info;
|
||||
HRESULT hr;
|
||||
IPin *pin;
|
||||
int i;
|
||||
|
||||
TRACE("(%p)->(%s, %p)\n", This, debugstr_w(id), ret);
|
||||
|
||||
for (i = 0; i < This->pFuncsTable->pfnGetPinCount(This); ++i)
|
||||
{
|
||||
pin = This->pFuncsTable->pfnGetPin(This, i);
|
||||
hr = IPin_QueryPinInfo(pin, &info);
|
||||
if (FAILED(hr))
|
||||
{
|
||||
IPin_Release(pin);
|
||||
return hr;
|
||||
}
|
||||
|
||||
if (!strcmpW(id, info.achName))
|
||||
{
|
||||
*ret = pin;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
IPin_Release(pin);
|
||||
}
|
||||
|
||||
return VFW_E_NOT_FOUND;
|
||||
}
|
||||
|
||||
HRESULT WINAPI BaseFilterImpl_QueryFilterInfo(IBaseFilter * iface, FILTER_INFO *pInfo)
|
||||
{
|
||||
|
|
|
@ -190,6 +190,7 @@ HRESULT WINAPI BaseFilterImpl_GetState(IBaseFilter * iface, DWORD dwMilliSecsTim
|
|||
HRESULT WINAPI BaseFilterImpl_SetSyncSource(IBaseFilter * iface, IReferenceClock *pClock);
|
||||
HRESULT WINAPI BaseFilterImpl_GetSyncSource(IBaseFilter * iface, IReferenceClock **ppClock);
|
||||
HRESULT WINAPI BaseFilterImpl_EnumPins(IBaseFilter * iface, IEnumPins **ppEnum);
|
||||
HRESULT WINAPI BaseFilterImpl_FindPin(IBaseFilter *iface, const WCHAR *id, IPin **pin);
|
||||
HRESULT WINAPI BaseFilterImpl_QueryFilterInfo(IBaseFilter * iface, FILTER_INFO *pInfo);
|
||||
HRESULT WINAPI BaseFilterImpl_JoinFilterGraph(IBaseFilter * iface, IFilterGraph *pGraph, LPCWSTR pName );
|
||||
HRESULT WINAPI BaseFilterImpl_QueryVendorInfo(IBaseFilter * iface, LPWSTR *pVendorInfo);
|
||||
|
|
Loading…
Reference in a new issue