AJA NTV2 SDK  17.6.0.2675
NTV2 SDK 17.6.0.2675
CDynamicOutputPin Class Reference

#include <amfilter.h>

Inheritance diagram for CDynamicOutputPin:
[legend]
Collaboration diagram for CDynamicOutputPin:
[legend]

Public Member Functions

 CDynamicOutputPin (__in_opt LPCTSTR pObjectName, __in CBaseFilter *pFilter, __in CCritSec *pLock, __inout HRESULT *phr, __in_opt LPCWSTR pName)
 
 ~CDynamicOutputPin ()
 
DECLARE_IUNKNOWN STDMETHODIMP NonDelegatingQueryInterface (REFIID riid, __deref_out 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)
 
- Public Member Functions inherited from CBaseOutputPin
 CBaseOutputPin (__in_opt LPCTSTR pObjectName, __in CBaseFilter *pFilter, __in CCritSec *pLock, __inout HRESULT *phr, __in_opt LPCWSTR pName)
 
virtual HRESULT DecideAllocator (IMemInputPin *pPin, __deref_out IMemAllocator **pAlloc)
 
virtual HRESULT DecideBufferSize (IMemAllocator *pAlloc, __inout ALLOCATOR_PROPERTIES *ppropInputRequest) PURE
 
virtual HRESULT GetDeliveryBuffer (__deref_out IMediaSample **ppSample, __in_opt REFERENCE_TIME *pStartTime, __in_opt REFERENCE_TIME *pEndTime, DWORD dwFlags)
 
virtual HRESULT Deliver (IMediaSample *)
 
virtual HRESULT InitAllocator (__deref_out IMemAllocator **ppAlloc)
 
HRESULT CheckConnect (IPin *pPin)
 
HRESULT BreakConnect ()
 
STDMETHODIMP EndOfStream (void)
 
virtual HRESULT DeliverEndOfStream (void)
 
STDMETHODIMP BeginFlush (void)
 
STDMETHODIMP EndFlush (void)
 
virtual HRESULT DeliverNewSegment (REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate)
 
- Public Member Functions inherited from CBasePin
 CBasePin (__in_opt LPCTSTR pObjectName, __in CBaseFilter *pFilter, __in CCritSec *pLock, __inout HRESULT *phr, __in_opt LPCWSTR pName, PIN_DIRECTION dir)
 
virtual ~CBasePin ()
 
DECLARE_IUNKNOWN STDMETHODIMP NonDelegatingQueryInterface (REFIID riid, __deref_out void **ppv)
 
 STDMETHODIMP_ (ULONG) NonDelegatingRelease()
 
 STDMETHODIMP_ (ULONG) NonDelegatingAddRef()
 
STDMETHODIMP Connect (IPin *pReceivePin, __in_opt const AM_MEDIA_TYPE *pmt)
 
STDMETHODIMP ReceiveConnection (IPin *pConnector, const AM_MEDIA_TYPE *pmt)
 
STDMETHODIMP Disconnect ()
 
STDMETHODIMP ConnectedTo (__deref_out IPin **pPin)
 
STDMETHODIMP ConnectionMediaType (__out AM_MEDIA_TYPE *pmt)
 
STDMETHODIMP QueryPinInfo (__out PIN_INFO *pInfo)
 
STDMETHODIMP QueryDirection (__out PIN_DIRECTION *pPinDir)
 
STDMETHODIMP QueryId (__deref_out LPWSTR *Id)
 
STDMETHODIMP QueryAccept (const AM_MEDIA_TYPE *pmt)
 
STDMETHODIMP EnumMediaTypes (__deref_out IEnumMediaTypes **ppEnum)
 
STDMETHODIMP QueryInternalConnections (__out_ecount_part(*nPin, *nPin) IPin **apPin, __inout ULONG *nPin)
 
STDMETHODIMP EndOfStream (void)
 
STDMETHODIMP NewSegment (REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate)
 
STDMETHODIMP Notify (IBaseFilter *pSender, Quality q)
 
STDMETHODIMP SetSink (IQualityControl *piqc)
 
BOOL IsConnected (void)
 
IPin * GetConnected ()
 
BOOL IsStopped ()
 
virtual LONG GetMediaTypeVersion ()
 
void IncrementTypeVersion ()
 
virtual HRESULT Run (REFERENCE_TIME tStart)
 
virtual HRESULT CheckMediaType (const CMediaType *) PURE
 
virtual HRESULT SetMediaType (const CMediaType *)
 
virtual HRESULT GetMediaType (int iPosition, __inout CMediaType *pMediaType)
 
REFERENCE_TIME CurrentStopTime ()
 
REFERENCE_TIME CurrentStartTime ()
 
double CurrentRate ()
 
LPWSTR Name ()
 
void SetReconnectWhenActive (bool bCanReconnect)
 
bool CanReconnectWhenActive ()
 
- Public Member Functions inherited from CUnknown
 CUnknown (__in_opt LPCTSTR pName, __in_opt LPUNKNOWN pUnk)
 
virtual ~CUnknown ()
 
 CUnknown (__in_opt LPCTSTR Name, __in_opt LPUNKNOWN pUnk, __inout_opt HRESULT *phr)
 
LPUNKNOWN GetOwner () const
 
STDMETHODIMP NonDelegatingQueryInterface (REFIID, __deref_out void **)
 
 STDMETHODIMP_ (ULONG) NonDelegatingAddRef()
 
 STDMETHODIMP_ (ULONG) NonDelegatingRelease()
 
- Public Member Functions inherited from CBaseObject
 CBaseObject (__in_opt LPCTSTR pName)
 
 ~CBaseObject ()
 

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)
 
- Protected Member Functions inherited from CBasePin
void DisplayPinInfo (IPin *pReceivePin)
 
void DisplayTypeInfo (IPin *pPin, const CMediaType *pmt)
 
HRESULT AttemptConnection (IPin *pReceivePin, const CMediaType *pmt)
 
HRESULT TryMediaTypes (IPin *pReceivePin, __in_opt const CMediaType *pmt, IEnumMediaTypes *pEnum)
 
HRESULT AgreeMediaType (IPin *pReceivePin, const CMediaType *pmt)
 
STDMETHODIMP DisconnectInternal ()
 

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
 
- Protected Attributes inherited from CBaseOutputPin
IMemAllocator * m_pAllocator
 
IMemInputPin * m_pInputPin
 
- Protected Attributes inherited from CBasePin
WCHAR * m_pName
 
IPin * m_Connected
 
PIN_DIRECTION m_dir
 
CCritSecm_pLock
 
bool m_bRunTimeError
 
bool m_bCanReconnectWhenActive
 
bool m_bTryMyTypesFirst
 
CBaseFilterm_pFilter
 
IQualityControl * m_pQSink
 
LONG m_TypeVersion
 
CMediaType m_mt
 
CRefTime m_tStart
 
CRefTime m_tStop
 
double m_dRate
 
- Protected Attributes inherited from CUnknown
volatile LONG m_cRef
 

Additional Inherited Members

- Static Public Member Functions inherited from CBaseObject
static LONG ObjectsActive ()
 

Detailed Description

Definition at line 949 of file amfilter.h.

Member Enumeration Documentation

◆ BLOCK_STATE

Enumerator
NOT_BLOCKED 
PENDING 
BLOCKED 

Definition at line 1021 of file amfilter.h.

Constructor & Destructor Documentation

◆ CDynamicOutputPin()

CDynamicOutputPin::CDynamicOutputPin ( __in_opt LPCTSTR  pObjectName,
__in CBaseFilter pFilter,
__in CCritSec pLock,
__inout HRESULT *  phr,
__in_opt LPCWSTR  pName 
)

Definition at line 3886 of file amfilter.cpp.

◆ ~CDynamicOutputPin()

CDynamicOutputPin::~CDynamicOutputPin ( )

Definition at line 3934 of file amfilter.cpp.

Member Function Documentation

◆ Active()

HRESULT CDynamicOutputPin::Active ( void  )
virtual

Reimplemented from CBaseOutputPin.

Definition at line 4266 of file amfilter.cpp.

◆ AsynchronousBlockOutputPin()

HRESULT CDynamicOutputPin::AsynchronousBlockOutputPin ( HANDLE  hNotifyCallerPinBlockedEvent)
protected

Definition at line 4071 of file amfilter.cpp.

◆ Block()

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

Definition at line 3982 of file amfilter.cpp.

◆ BlockOutputPin()

void CDynamicOutputPin::BlockOutputPin ( void  )
protected

Definition at line 4114 of file amfilter.cpp.

◆ ChangeMediaType()

HRESULT CDynamicOutputPin::ChangeMediaType ( const CMediaType pmt)

Definition at line 4348 of file amfilter.cpp.

◆ ChangeOutputFormat()

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

Definition at line 4320 of file amfilter.cpp.

◆ CompleteConnect()

HRESULT CDynamicOutputPin::CompleteConnect ( IPin *  pReceivePin)
virtual

Reimplemented from CBaseOutputPin.

Definition at line 4469 of file amfilter.cpp.

◆ DeliverBeginFlush()

HRESULT CDynamicOutputPin::DeliverBeginFlush ( void  )
virtual

Reimplemented from CBaseOutputPin.

Definition at line 4294 of file amfilter.cpp.

◆ DeliverEndFlush()

HRESULT CDynamicOutputPin::DeliverEndFlush ( void  )
virtual

Reimplemented from CBaseOutputPin.

Definition at line 4305 of file amfilter.cpp.

◆ Disconnect()

STDMETHODIMP CDynamicOutputPin::Disconnect ( void  )

Definition at line 3976 of file amfilter.cpp.

◆ DynamicReconnect()

HRESULT CDynamicOutputPin::DynamicReconnect ( const CMediaType pmt)

Definition at line 4448 of file amfilter.cpp.

◆ Inactive()

HRESULT CDynamicOutputPin::Inactive ( void  )
virtual

Reimplemented from CBaseOutputPin.

Definition at line 4283 of file amfilter.cpp.

◆ NonDelegatingQueryInterface()

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

Definition at line 3967 of file amfilter.cpp.

◆ ResetBlockState()

void CDynamicOutputPin::ResetBlockState ( void  )
protected

◆ SetConfigInfo()

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

Definition at line 4256 of file amfilter.cpp.

◆ StartUsingOutputPin()

HRESULT CDynamicOutputPin::StartUsingOutputPin ( void  )
virtual

Definition at line 4167 of file amfilter.cpp.

◆ StopUsingOutputPin()

void CDynamicOutputPin::StopUsingOutputPin ( void  )
virtual

Definition at line 4230 of file amfilter.cpp.

◆ StreamingThreadUsingOutputPin()

bool CDynamicOutputPin::StreamingThreadUsingOutputPin ( void  )
virtual

Definition at line 4249 of file amfilter.cpp.

◆ SynchronousBlockOutputPin()

HRESULT CDynamicOutputPin::SynchronousBlockOutputPin ( void  )
protected

Definition at line 4037 of file amfilter.cpp.

◆ UnblockOutputPin()

HRESULT CDynamicOutputPin::UnblockOutputPin ( void  )
protected

Definition at line 4137 of file amfilter.cpp.

◆ WaitEvent()

HRESULT CDynamicOutputPin::WaitEvent ( HANDLE  hEvent)
staticprotected

Definition at line 4520 of file amfilter.cpp.

Member Data Documentation

◆ m_BlockState

BLOCK_STATE CDynamicOutputPin::m_BlockState
protected

Definition at line 1046 of file amfilter.h.

◆ m_BlockStateLock

CCritSec CDynamicOutputPin::m_BlockStateLock
protected

Definition at line 1031 of file amfilter.h.

◆ m_bPinUsesReadOnlyAllocator

BOOL CDynamicOutputPin::m_bPinUsesReadOnlyAllocator
protected

Definition at line 1072 of file amfilter.h.

◆ m_dwBlockCallerThreadID

DWORD CDynamicOutputPin::m_dwBlockCallerThreadID
protected

Definition at line 1051 of file amfilter.h.

◆ m_dwNumOutstandingOutputPinUsers

DWORD CDynamicOutputPin::m_dwNumOutstandingOutputPinUsers
protected

Definition at line 1061 of file amfilter.h.

◆ m_hNotifyCallerPinBlockedEvent

HANDLE CDynamicOutputPin::m_hNotifyCallerPinBlockedEvent
protected

Definition at line 1043 of file amfilter.h.

◆ m_hStopEvent

HANDLE CDynamicOutputPin::m_hStopEvent
protected

Definition at line 1066 of file amfilter.h.

◆ m_hUnblockOutputPinEvent

HANDLE CDynamicOutputPin::m_hUnblockOutputPinEvent
protected

Definition at line 1037 of file amfilter.h.

◆ m_pGraphConfig

IGraphConfig* CDynamicOutputPin::m_pGraphConfig
protected

Definition at line 1067 of file amfilter.h.


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