CAsyncOutputPin Class Reference

#include <asyncrdr.h>

Inheritance diagram for CAsyncOutputPin:

CBasePin CUnknown CBaseObject

List of all members.

Public Member Functions

 CAsyncOutputPin (HRESULT *phr, CAsyncReader *pReader, CAsyncIo *pIo, CCritSec *pLock)
 ~CAsyncOutputPin ()
DECLARE_IUNKNOWN STDMETHODIMP NonDelegatingQueryInterface (REFIID, void **)
STDMETHODIMP Connect (IPin *pReceivePin, const AM_MEDIA_TYPE *pmt)
HRESULT GetMediaType (int iPosition, CMediaType *pMediaType)
HRESULT CheckMediaType (const CMediaType *pType)
HRESULT CheckConnect (IPin *pPin)
HRESULT CompleteConnect (IPin *pReceivePin)
HRESULT BreakConnect ()
STDMETHODIMP RequestAllocator (IMemAllocator *pPreferred, ALLOCATOR_PROPERTIES *pProps, IMemAllocator **ppActual)
STDMETHODIMP Request (IMediaSample *pSample, DWORD dwUser)
STDMETHODIMP WaitForNext (DWORD dwTimeout, IMediaSample **ppSample, DWORD *pdwUser)
STDMETHODIMP SyncReadAligned (IMediaSample *pSample)
STDMETHODIMP SyncRead (LONGLONG llPosition, LONG lLength, BYTE *pBuffer)
STDMETHODIMP Length (LONGLONG *pTotal, LONGLONG *pAvailable)
STDMETHODIMP BeginFlush (void)
STDMETHODIMP EndFlush (void)

Protected Member Functions

HRESULT InitAllocator (IMemAllocator **ppAlloc)

Protected Attributes

CAsyncReaderm_pReader
CAsyncIom_pIo
BOOL m_bQueriedForAsyncReader


Detailed Description

Definition at line 10 of file asyncrdr.h.


Constructor & Destructor Documentation

CAsyncOutputPin::CAsyncOutputPin ( HRESULT *  phr,
CAsyncReader pReader,
CAsyncIo pIo,
CCritSec pLock 
)

Definition at line 9 of file asyncrdr.cpp.

CAsyncOutputPin::~CAsyncOutputPin (  ) 

Definition at line 27 of file asyncrdr.cpp.


Member Function Documentation

HRESULT CAsyncOutputPin::InitAllocator ( IMemAllocator **  ppAlloc  )  [protected]

Definition at line 71 of file asyncrdr.cpp.

References ASSERT, E_NOINTERFACE, E_OUTOFMEMORY, FAILED, hr, HRESULT, NAME, and NULL.

Referenced by RequestAllocator().

STDMETHODIMP CAsyncOutputPin::NonDelegatingQueryInterface ( REFIID  riid,
void **  ppv 
)

Reimplemented from CBasePin.

Definition at line 32 of file asyncrdr.cpp.

References CheckPointer, GetInterface(), m_bQueriedForAsyncReader, CBasePin::NonDelegatingQueryInterface(), and TRUE.

STDMETHODIMP CAsyncOutputPin::Connect ( IPin *  pReceivePin,
const AM_MEDIA_TYPE *  pmt 
)

Reimplemented from CBasePin.

Definition at line 306 of file asyncrdr.cpp.

References CAsyncReader::Connect(), and m_pReader.

HRESULT CAsyncOutputPin::GetMediaType ( int  iPosition,
CMediaType pMediaType 
) [virtual]

Reimplemented from CBasePin.

Definition at line 44 of file asyncrdr.cpp.

References E_INVALIDARG, CAsyncReader::LoadType(), m_pReader, and S_OK.

HRESULT CAsyncOutputPin::CheckMediaType ( const CMediaType pType  )  [virtual]

Reimplemented from CBasePin.

Definition at line 57 of file asyncrdr.cpp.

References CAsyncReader::LoadType(), CBasePin::m_pLock, m_pReader, S_FALSE, and S_OK.

HRESULT CAsyncOutputPin::CheckConnect ( IPin *  pPin  )  [inline, virtual]

Reimplemented from CBasePin.

Definition at line 59 of file asyncrdr.h.

References CBasePin::CheckConnect(), FALSE, and m_bQueriedForAsyncReader.

HRESULT CAsyncOutputPin::CompleteConnect ( IPin *  pReceivePin  )  [inline, virtual]

Reimplemented from CBasePin.

Definition at line 66 of file asyncrdr.h.

References CBasePin::CompleteConnect(), E_FAIL, and m_bQueriedForAsyncReader.

HRESULT CAsyncOutputPin::BreakConnect (  )  [inline, virtual]

Reimplemented from CBasePin.

Definition at line 80 of file asyncrdr.h.

References CBasePin::BreakConnect(), FALSE, and m_bQueriedForAsyncReader.

STDMETHODIMP CAsyncOutputPin::RequestAllocator ( IMemAllocator *  pPreferred,
ALLOCATOR_PROPERTIES *  pProps,
IMemAllocator **  ppActual 
)

STDMETHODIMP CAsyncOutputPin::Request ( IMediaSample *  pSample,
DWORD  dwUser 
)

STDMETHODIMP CAsyncOutputPin::WaitForNext ( DWORD  dwTimeout,
IMediaSample **  ppSample,
DWORD *  pdwUser 
)

Definition at line 253 of file asyncrdr.cpp.

References hr, HRESULT, LONG, LPVOID, m_pIo, and CAsyncIo::WaitForNext().

STDMETHODIMP CAsyncOutputPin::SyncReadAligned ( IMediaSample *  pSample  ) 

STDMETHODIMP CAsyncOutputPin::SyncRead ( LONGLONG  llPosition,
LONG  lLength,
BYTE pBuffer 
)

Definition at line 276 of file asyncrdr.cpp.

References m_pIo, and CAsyncIo::SyncRead().

STDMETHODIMP CAsyncOutputPin::Length ( LONGLONG pTotal,
LONGLONG pAvailable 
)

Definition at line 285 of file asyncrdr.cpp.

References hr, HRESULT, CAsyncIo::Length(), and m_pIo.

STDMETHODIMP CAsyncOutputPin::BeginFlush ( void   ) 

Definition at line 294 of file asyncrdr.cpp.

References CAsyncIo::BeginFlush(), and m_pIo.

STDMETHODIMP CAsyncOutputPin::EndFlush ( void   ) 

Definition at line 300 of file asyncrdr.cpp.

References CAsyncIo::EndFlush(), and m_pIo.


Member Data Documentation

Definition at line 15 of file asyncrdr.h.

Referenced by CheckMediaType(), Connect(), and GetMediaType().


The documentation for this class was generated from the following files:

Generated on Sun May 25 00:20:33 2008 by  doxygen 1.5.6