CapturePin Class Reference

Collaboration diagram for CapturePin:

Collaboration graph
[legend]

Public Member Functions

 CapturePin (vlc_object_t *_p_input, access_sys_t *p_sys, CaptureFilter *_p_filter, AM_MEDIA_TYPE *mt, size_t mt_count)
virtual ~CapturePin ()
STDMETHODIMP QueryInterface (REFIID riid, void **ppv)
 STDMETHODIMP_ (ULONG) AddRef()
 STDMETHODIMP_ (ULONG) Release()
STDMETHODIMP Connect (IPin *pReceivePin, const AM_MEDIA_TYPE *pmt)
STDMETHODIMP ReceiveConnection (IPin *pConnector, const AM_MEDIA_TYPE *pmt)
STDMETHODIMP Disconnect ()
STDMETHODIMP ConnectedTo (IPin **pPin)
STDMETHODIMP ConnectionMediaType (AM_MEDIA_TYPE *pmt)
STDMETHODIMP QueryPinInfo (PIN_INFO *pInfo)
STDMETHODIMP QueryDirection (PIN_DIRECTION *pPinDir)
STDMETHODIMP QueryId (LPWSTR *Id)
STDMETHODIMP QueryAccept (const AM_MEDIA_TYPE *pmt)
STDMETHODIMP EnumMediaTypes (IEnumMediaTypes **ppEnum)
STDMETHODIMP QueryInternalConnections (IPin **apPin, ULONG *nPin)
STDMETHODIMP EndOfStream (void)
STDMETHODIMP BeginFlush (void)
STDMETHODIMP EndFlush (void)
STDMETHODIMP NewSegment (REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate)
STDMETHODIMP GetAllocator (IMemAllocator **ppAllocator)
STDMETHODIMP NotifyAllocator (IMemAllocator *pAllocator, BOOL bReadOnly)
STDMETHODIMP GetAllocatorRequirements (ALLOCATOR_PROPERTIES *pProps)
STDMETHODIMP Receive (IMediaSample *pSample)
STDMETHODIMP ReceiveMultiple (IMediaSample **pSamples, long nSamples, long *nSamplesProcessed)
STDMETHODIMP ReceiveCanBlock (void)
HRESULT CustomGetSample (VLCMediaSample *)
 Returns a sample from its sample queue.
HRESULT CustomGetSamples (deque< VLCMediaSample > &external_queue)
 Returns the complete queue of samples that have been received so far.
AM_MEDIA_TYPE & CustomGetMediaType ()

Friends

class CaptureEnumMediaTypes

Constructor & Destructor Documentation

CapturePin::CapturePin ( vlc_object_t _p_input,
access_sys_t p_sys,
CaptureFilter _p_filter,
AM_MEDIA_TYPE *  mt,
size_t  mt_count 
)

References p_sys.

CapturePin::~CapturePin (  )  [virtual]

References c, FreeMediaType(), and msg_Dbg.


Member Function Documentation

STDMETHODIMP CapturePin::QueryInterface ( REFIID  riid,
void **  ppv 
)

References AddRef(), and msg_Dbg.

CapturePin::STDMETHODIMP_ ( ULONG   ) 

CapturePin::STDMETHODIMP_ ( ULONG   ) 

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

STDMETHODIMP CapturePin::ReceiveConnection ( IPin *  pConnector,
const AM_MEDIA_TYPE *  pmt 
)

STDMETHODIMP CapturePin::Disconnect (  ) 

References msg_Dbg.

STDMETHODIMP CapturePin::ConnectedTo ( IPin **  pPin  ) 

References msg_Dbg.

STDMETHODIMP CapturePin::ConnectionMediaType ( AM_MEDIA_TYPE *  pmt  ) 

References CopyMediaType(), and msg_Dbg.

STDMETHODIMP CapturePin::QueryPinInfo ( PIN_INFO *  pInfo  ) 

References msg_Dbg, and PIN_NAME.

STDMETHODIMP CapturePin::QueryDirection ( PIN_DIRECTION *  pPinDir  ) 

References msg_Dbg.

STDMETHODIMP CapturePin::QueryId ( LPWSTR *  Id  ) 

References msg_Dbg.

STDMETHODIMP CapturePin::QueryAccept ( const AM_MEDIA_TYPE *  pmt  ) 

STDMETHODIMP CapturePin::EnumMediaTypes ( IEnumMediaTypes **  ppEnum  ) 

References CaptureEnumMediaTypes, and msg_Dbg.

STDMETHODIMP CapturePin::QueryInternalConnections ( IPin **  apPin,
ULONG *  nPin 
)

References msg_Dbg.

STDMETHODIMP CapturePin::EndOfStream ( void   ) 

References msg_Dbg.

STDMETHODIMP CapturePin::BeginFlush ( void   ) 

References msg_Dbg.

STDMETHODIMP CapturePin::EndFlush ( void   ) 

STDMETHODIMP CapturePin::NewSegment ( REFERENCE_TIME  tStart,
REFERENCE_TIME  tStop,
double  dRate 
)

References msg_Dbg.

STDMETHODIMP CapturePin::GetAllocator ( IMemAllocator **  ppAllocator  ) 

References msg_Dbg.

STDMETHODIMP CapturePin::NotifyAllocator ( IMemAllocator *  pAllocator,
BOOL  bReadOnly 
)

References msg_Dbg.

STDMETHODIMP CapturePin::GetAllocatorRequirements ( ALLOCATOR_PROPERTIES *  pProps  ) 

References msg_Dbg.

STDMETHODIMP CapturePin::Receive ( IMediaSample *  pSample  ) 

STDMETHODIMP CapturePin::ReceiveMultiple ( IMediaSample **  pSamples,
long  nSamples,
long *  nSamplesProcessed 
)

References Receive().

STDMETHODIMP CapturePin::ReceiveCanBlock ( void   ) 

References msg_Dbg.

HRESULT CapturePin::CustomGetSample ( VLCMediaSample vlc_sample  ) 

Returns a sample from its sample queue.

Proper locking must be done prior to this call. Current dshow code protects the access to any sample queue (audio and video) with the p_sys->lock

Parameters:
vlc_sample [out] Address of a sample if sucessfull. Undefined otherwise.
Returns:
S_OK if a sample was available, S_FALSE if no sample was available

References msg_Dbg.

Referenced by ReadCompressed().

HRESULT CapturePin::CustomGetSamples ( deque< VLCMediaSample > &  external_queue  ) 

Returns the complete queue of samples that have been received so far.

Lock the p_sys->lock before calling this function.

Parameters:
samples_queue [out] Empty queue that will get all elements from the pin queue.
Returns:
S_OK if a sample was available, S_FALSE if no sample was available

References msg_Dbg.

Referenced by Demux().

AM_MEDIA_TYPE & CapturePin::CustomGetMediaType (  ) 

Referenced by ConnectFilters(), and OpenDevice().


Friends And Related Function Documentation

friend class CaptureEnumMediaTypes [friend]

Referenced by EnumMediaTypes().


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

Generated on Tue May 25 08:05:49 2010 for VLC by  doxygen 1.5.6