CBaseOutputPin.DecideBufferSize method
[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
The DecideBufferSize
method sets the buffer requirements.
Syntax
virtual HRESULT DecideBufferSize(
IMemAllocator *pAlloc,
ALLOCATOR_PROPERTIES *ppropInputRequest
) = 0;
Parameters
-
pAlloc
-
Pointer to the allocator's IMemAllocator interface.
-
ppropInputRequest
-
Pointer to an ALLOCATOR_PROPERTIES structure that contains the input pin's buffer requirements. If the input pin does not have any requirements, the caller should zero out the members of this structure before calling the method.
Return value
Returns S_OK if successful, or an HRESULT value indicating the cause of the error.
Remarks
Override this method in your derived class. Call the IMemAllocator::SetProperties method to specify your buffer requirements. Typically, the derived class will honor the input pin's buffer requirements, but it is not required to.
Requirements
Requirement | Value |
---|---|
Header |
|
Library |
|