CDynamicOutputPin Class Reference

#include <amfilter.h>

Inheritance diagram for CDynamicOutputPin:

CBaseOutputPin CBasePin CUnknown CBaseObject

List of all members.

Public Member Functions

 CDynamicOutputPin (TCHAR *pObjectName, CBaseFilter *pFilter, CCritSec *pLock, HRESULT *phr, LPCWSTR pName)
 ~CDynamicOutputPin ()
DECLARE_IUNKNOWN STDMETHODIMP NonDelegatingQueryInterface (REFIID riid, void **ppv)
STDMETHODIMP Disconnect (void)
STDMETHODIMP Block (DWORD dwBlockFlags, HANDLE hEvent)
void SetConfigInfo (IGraphConfig *pGraphConfig, HANDLE hStopEvent)
HRESULT DeliverBeginFlush (void)
HRESULT DeliverEndFlush (void)
HRESULT Inactive (void)
HRESULT Active (void)
virtual HRESULT CompleteConnect (IPin *pReceivePin)
virtual HRESULT StartUsingOutputPin (void)
virtual void StopUsingOutputPin (void)
virtual bool StreamingThreadUsingOutputPin (void)
HRESULT ChangeOutputFormat (const AM_MEDIA_TYPE *pmt, REFERENCE_TIME tSegmentStart, REFERENCE_TIME tSegmentStop, double dSegmentRate)
HRESULT ChangeMediaType (const CMediaType *pmt)
HRESULT DynamicReconnect (const CMediaType *pmt)

Protected Types

enum  BLOCK_STATE { NOT_BLOCKED, PENDING, BLOCKED }

Protected Member Functions

HRESULT SynchronousBlockOutputPin (void)
HRESULT AsynchronousBlockOutputPin (HANDLE hNotifyCallerPinBlockedEvent)
HRESULT UnblockOutputPin (void)
void BlockOutputPin (void)
void ResetBlockState (void)

Static Protected Member Functions

static HRESULT WaitEvent (HANDLE hEvent)

Protected Attributes

CCritSec m_BlockStateLock
HANDLE m_hUnblockOutputPinEvent
HANDLE m_hNotifyCallerPinBlockedEvent
BLOCK_STATE m_BlockState
DWORD m_dwBlockCallerThreadID
DWORD m_dwNumOutstandingOutputPinUsers
HANDLE m_hStopEvent
IGraphConfig * m_pGraphConfig
BOOL m_bPinUsesReadOnlyAllocator

Private Member Functions

HRESULT Initialize (void)
HRESULT ChangeMediaTypeHelper (const CMediaType *pmt)


Detailed Description

Definition at line 818 of file amfilter.h.


Member Enumeration Documentation

Enumerator:
NOT_BLOCKED 
PENDING 
BLOCKED 

Definition at line 890 of file amfilter.h.


Constructor & Destructor Documentation

CDynamicOutputPin::CDynamicOutputPin ( TCHAR pObjectName,
CBaseFilter pFilter,
CCritSec pLock,
HRESULT *  phr,
LPCWSTR  pName 
)

Definition at line 2886 of file amfilter.cpp.

References FAILED, hr, HRESULT, and Initialize().

CDynamicOutputPin::~CDynamicOutputPin (  ) 


Member Function Documentation

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

Reimplemented from CBasePin.

Definition at line 2967 of file amfilter.cpp.

References GetInterface(), and CBasePin::NonDelegatingQueryInterface().

STDMETHODIMP CDynamicOutputPin::Disconnect ( void   ) 

Reimplemented from CBasePin.

Definition at line 2976 of file amfilter.cpp.

References CBasePin::DisconnectInternal(), and CBasePin::m_pLock.

STDMETHODIMP CDynamicOutputPin::Block ( DWORD  dwBlockFlags,
HANDLE  hEvent 
)

void CDynamicOutputPin::SetConfigInfo ( IGraphConfig *  pGraphConfig,
HANDLE  hStopEvent 
)

Definition at line 3256 of file amfilter.cpp.

References m_hStopEvent, and m_pGraphConfig.

Referenced by Active().

HRESULT CDynamicOutputPin::DeliverBeginFlush ( void   )  [virtual]

Reimplemented from CBaseOutputPin.

Definition at line 3294 of file amfilter.cpp.

References CBaseOutputPin::DeliverBeginFlush(), EXECUTE_ASSERT, and m_hStopEvent.

HRESULT CDynamicOutputPin::DeliverEndFlush ( void   )  [virtual]

Reimplemented from CBaseOutputPin.

Definition at line 3305 of file amfilter.cpp.

References CBaseOutputPin::DeliverEndFlush(), EXECUTE_ASSERT, and m_hStopEvent.

HRESULT CDynamicOutputPin::Inactive ( void   )  [virtual]

Reimplemented from CBaseOutputPin.

Definition at line 3283 of file amfilter.cpp.

References EXECUTE_ASSERT, CBaseOutputPin::Inactive(), and m_hStopEvent.

HRESULT CDynamicOutputPin::Active ( void   )  [virtual]

HRESULT CDynamicOutputPin::CompleteConnect ( IPin *  pReceivePin  )  [virtual]

HRESULT CDynamicOutputPin::StartUsingOutputPin ( void   )  [virtual]

void CDynamicOutputPin::StopUsingOutputPin ( void   )  [virtual]

bool CDynamicOutputPin::StreamingThreadUsingOutputPin ( void   )  [virtual]

HRESULT CDynamicOutputPin::ChangeOutputFormat ( const AM_MEDIA_TYPE *  pmt,
REFERENCE_TIME  tSegmentStart,
REFERENCE_TIME  tSegmentStop,
double  dSegmentRate 
)

HRESULT CDynamicOutputPin::ChangeMediaType ( const CMediaType pmt  ) 

HRESULT CDynamicOutputPin::DynamicReconnect ( const CMediaType pmt  ) 

Definition at line 3438 of file amfilter.cpp.

References ASSERT, E_FAIL, HRESULT, m_hStopEvent, m_pGraphConfig, NULL, and StreamingThreadUsingOutputPin().

Referenced by ChangeMediaType().

HRESULT CDynamicOutputPin::SynchronousBlockOutputPin ( void   )  [protected]

HRESULT CDynamicOutputPin::AsynchronousBlockOutputPin ( HANDLE  hNotifyCallerPinBlockedEvent  )  [protected]

HRESULT CDynamicOutputPin::UnblockOutputPin ( void   )  [protected]

void CDynamicOutputPin::BlockOutputPin ( void   )  [protected]

void CDynamicOutputPin::ResetBlockState ( void   )  [protected]

HRESULT CDynamicOutputPin::WaitEvent ( HANDLE  hEvent  )  [static, protected]

Definition at line 3510 of file amfilter.cpp.

References AmGetLastErrorToHResult(), DbgBreak, and S_OK.

Referenced by SynchronousBlockOutputPin().

HRESULT CDynamicOutputPin::Initialize ( void   )  [private]

HRESULT CDynamicOutputPin::ChangeMediaTypeHelper ( const CMediaType pmt  )  [private]


Member Data Documentation

Definition at line 920 of file amfilter.h.

Referenced by AsynchronousBlockOutputPin(), and UnblockOutputPin().

HANDLE CDynamicOutputPin::m_hStopEvent [protected]

IGraphConfig* CDynamicOutputPin::m_pGraphConfig [protected]

Definition at line 936 of file amfilter.h.

Referenced by Active(), DynamicReconnect(), and SetConfigInfo().

Definition at line 941 of file amfilter.h.

Referenced by ChangeMediaTypeHelper().


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

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