#include <asyncrdr.h>

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 | |
| CAsyncReader * | m_pReader |
| CAsyncIo * | m_pIo |
| BOOL | m_bQueriedForAsyncReader |
Definition at line 10 of file asyncrdr.h.
| 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.
| 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 | |||
| ) |
Definition at line 101 of file asyncrdr.cpp.
References CAsyncIo::Alignment(), FAILED, hr, HRESULT, InitAllocator(), CAsyncIo::IsAligned(), m_pIo, and S_OK.
| STDMETHODIMP CAsyncOutputPin::Request | ( | IMediaSample * | pSample, | |
| DWORD | dwUser | |||
| ) |
Definition at line 149 of file asyncrdr.cpp.
References CAsyncIo::Alignment(), ASSERT, FAILED, hr, HRESULT, CAsyncIo::Length(), LONG, LPVOID, m_pIo, CAsyncIo::Request(), TRUE, and UNITS.
| 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 | ) |
Definition at line 199 of file asyncrdr.cpp.
References CAsyncIo::Alignment(), ASSERT, FAILED, hr, HRESULT, CAsyncIo::Length(), LONG, m_pIo, CAsyncIo::SyncReadAligned(), and UNITS.
| STDMETHODIMP CAsyncOutputPin::BeginFlush | ( | void | ) |
| STDMETHODIMP CAsyncOutputPin::EndFlush | ( | void | ) |
CAsyncReader* CAsyncOutputPin::m_pReader [protected] |
Definition at line 15 of file asyncrdr.h.
Referenced by CheckMediaType(), Connect(), and GetMediaType().
CAsyncIo* CAsyncOutputPin::m_pIo [protected] |
Definition at line 16 of file asyncrdr.h.
Referenced by BeginFlush(), EndFlush(), Length(), Request(), RequestAllocator(), SyncRead(), SyncReadAligned(), and WaitForNext().
BOOL CAsyncOutputPin::m_bQueriedForAsyncReader [protected] |
Definition at line 23 of file asyncrdr.h.
Referenced by BreakConnect(), CheckConnect(), CompleteConnect(), and NonDelegatingQueryInterface().
1.5.6