Important: |
---|
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
Negotiates the allocator to use, which uses the allocator from the upstream output pin.
Syntax
HRESULT DecideAllocator( IMemInputPin* pPin, IMemAllocator** ppAlloc ); |
Parameters
- pPin
-
Pointer to the IMemInputPininterface of the downstream input pin.
- ppAlloc
-
Returned allocator pointer.
Return Value
Returns NOERROR if successful. Otherwise, returns VFW_E_NO_ALLOCATOR if there is no allocator, or an error from calling GetAllocator, InitAllocator, GetAllocatorRequirements, DecideBufferSize, or NotifyAllocator.
Remarks
This member function overrides the CBaseOutputPin::DecideAllocatormember function.
This implementation uses the allocator that is negotiated by its input pin because a transform-inplace filter does not supply its own allocator. It then calls IMemInputPin::NotifyAllocatoron the downstream input pin with that allocator.
If you want to use your own allocator, it is better to derive from CTransformFilterthan from CTransInPlaceFilter, because the purpose of a transform-inplace filter is to use an existing allocator.
Requirements
Windows Embedded CE | Windows CE 2.12 and later |
Note | Microsoft DirectShow applications and DirectShow filters have
different include file and Library requirements
For more information, see Setting Up the Build Environment,Version 2.12 requires DXPAK 1.0 or later |