CBaseInputPin::Receive (Compact 2013)
3/26/2014
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
Header |
dshow.h, |
Library |
ole32.lib, |