CBaseInputPin::Receive
A version of this page is also available for
4/8/2010
Retrieves the next block of data from the stream.
Syntax
HRESULT Receive(
IMediaSample* pSample
);
Parameters
- pSample
Pointer to a media sample.
Return Value
Returns an HRESULT value.
Remarks
This member function implements the IMemInputPin::Receive method.
It first checks that it can process the sample by calling CBaseInputPin::CheckStreaming; if that member function does not return S_OK, Receive returns immediately with the value returned by CBaseInputPin::CheckStreaming.
This base class member function checks to see if the format has changed with this media sample; if so, it checks that the filter will accept it, generating a run-time error if not.
If a run-time error is raised, the m_bRunTimeError data member is set so that no more samples will be accepted.
The overriding member function does something with the passed-in sample, such as calling a member function to transform it or pass it downstream.
This is a blocking synchronous call. Typically no blocking occurs, but if a filter cannot process the sample immediately, it can use the calling application's thread to wait until it can.
Call the IUnknown::AddRef method if you must hold the returned data block beyond the completion of the IMemInputPin::Receive method. If you call AddRef, be sure to call IUnknown::Release when done with it.
Requirements
Windows Embedded CE | Windows CE 2.12 and later |
Windows Mobile | Windows Mobile Version 5.0 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 |