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. |
Retrieves the next block of data from the stream.
HRESULT Receive( IMediaSample * pSample );
Parameters
Return Values
Returns an HRESULTvalue.
Remarks
This member function implements the IMemInputPin::Receivemethod. It first checks that it can process the sample by calling CBaseInputPin::CheckStreaming; if that member function does not return S_OK, Receivereturns 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_bRunTimeErrordata 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::AddRefmethod if you must hold the returned data block beyond the completion of the IMemInputPin::Receivemethod. If you call AddRef, be sure to call IUnknown::Releasewhen done with it.