Definition at line 71 of file MultiIOBaseFilter.h.
Public Member Functions | |
CMultiIOBaseFilter (TCHAR *pObjectName, LPUNKNOWN lpUnk, CLSID clsid) | |
virtual | ~CMultiIOBaseFilter (void) |
void | Initialise () |
virtual int | GetPinCount () |
CBase Filter methods - Overridden since we don't just have one input and output pin as the standard transform filter does. | |
virtual CBasePin * | GetPin (int n) |
Override this method: the pins get created in this method of the transform filter. | |
virtual STDMETHODIMP | FindPin (LPCWSTR Id, IPin **ppPin) |
Method needed to connect pins based on their names. | |
virtual HRESULT | CheckInputType (const CMediaType *mtIn) |
virtual void | OnConnect (int nIndex, RTVC_DIRECTION eDirection) |
Overridden to create more input pins on connection. | |
virtual void | OnDisconnect (int nIndex) |
Overridden to remove unused input pins on disconnect. | |
virtual HRESULT | Receive (IMediaSample *pSample, int nIndex) PURE |
chance to customize the transform process | |
virtual HRESULT | InitializeOutputSample (IMediaSample *pSample, IMediaSample **ppOutSample, int nInputIndex, int nOutputIndex) |
Standard setup for output sample. | |
virtual int | InitialNumberOfInputPins () |
Input input pin creation management methods. | |
virtual int | InitialNumberOfOutputPins () |
Input output pin creation management methods. | |
virtual bool | OnFullCreateMoreInputs () |
Determines whether the filter creates more inputs once all inputs have been used up. | |
virtual bool | OnFullCreateMoreOutputs () |
Determines whether the filter creates more outputs once all inputs have been used up. | |
virtual void | InitialiseInputTypes ()=0 |
The allowed media types for the input must be added in the overridden method in the subclass. | |
virtual void | InitialiseOutputTypes ()=0 |
The allowed media types for the output must be added in the overridden method in the subclass. | |
virtual HRESULT | DecideBufferSize (IMemAllocator *pAlloc, ALLOCATOR_PROPERTIES *pRequestProperties, int m_nIndex) PURE |
From CBaseOutputPin. | |
virtual HRESULT | CheckOutputType (const CMediaType *pMediaType) |
From CBasePin. | |
virtual HRESULT | GetMediaType (int iPosition, CMediaType *pmt, int nOutputPinIndex) PURE |
To Check media type. | |
virtual HRESULT | SetMediaType (PIN_DIRECTION direction, const CMediaType *pmt, int nIndex) |
override this to know when the media type is actually set This method has been extended to allow the subclass to specify which media type is allowed on a per pin basis. | |
virtual STDMETHODIMP | EndOfStream (int nIndex) |
virtual STDMETHODIMP | BeginFlush (int nIndex) |
virtual STDMETHODIMP | EndFlush (int nIndex) |
virtual STDMETHODIMP | NewSegment (REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate, int nIndex) |
Protected Member Functions | |
void | AddInputType (const GUID *pType, const GUID *pSubType, const GUID *pFormat, int nPin=-1) |
Used for Media Type Negotiation Call the AddInputType method in your overridden InitialiseInputTypes method to add your acceptable media types, subtypes and formats. | |
void | AddOutputType (const GUID *pType, const GUID *pSubType, const GUID *pFormat, int nPin=-1) |
Add output types, the default value for pin = -1 which indicates that the specified input type can be used for all pins. | |
void | CreateInputPin () |
Helper method to create an input pin with our naming convention. | |
void | CreateOutputPin () |
Helper method to create an output pin with our naming convention. | |
Protected Attributes | |
INPUT_PIN_LIST | m_vInputPins |
List of input pins of the filter. | |
OUTPUT_PIN_LIST | m_vOutputPins |
List of output pins of the filter. | |
MEDIA_TYPE_LIST | m_mMediaTypes |
Media types of the connected input pins. | |
CCritSec | m_csFilter |
Filter Lock. | |
CCritSec | m_csReceive |
Receive Lock. | |
Friends | |
class | CMultiIOInputPin |
class | CMultiIOOutputPin |
Data Structures | |
class | CIOMediaType |
HRESULT CMultiIOBaseFilter::InitializeOutputSample | ( | IMediaSample * | pSample, | |
IMediaSample ** | ppOutSample, | |||
int | nInputIndex, | |||
int | nOutputIndex | |||
) | [virtual] |
Standard setup for output sample.
Method: InitializeOutputSample FullName: CMultiIOBaseFilter::InitializeOutputSample Access: virtual public Qualifier:.
IMediaSample *pSample | ||
IMediaSample **ppOutSample | ||
int nInputIndex: this is required when initialising an out sample so that we can get the properties such as sample start time of the specified input and use this for the specified out sample | ||
int nOutputIndex: this needs to be specified so that we can get the correct allocator |
Definition at line 364 of file MultiIOBaseFilter.cpp.
HRESULT CMultiIOBaseFilter::SetMediaType | ( | PIN_DIRECTION | direction, | |
const CMediaType * | pmt, | |||
int | nIndex | |||
) | [virtual] |
override this to know when the media type is actually set This method has been extended to allow the subclass to specify which media type is allowed on a per pin basis.
If the index - 1 is specified, the media type is allowable for all pins
Definition at line 438 of file MultiIOBaseFilter.cpp.
void CMultiIOBaseFilter::AddInputType | ( | const GUID * | pType, | |
const GUID * | pSubType, | |||
const GUID * | pFormat, | |||
int | nPin = -1 | |||
) | [protected] |
Used for Media Type Negotiation Call the AddInputType method in your overridden InitialiseInputTypes method to add your acceptable media types, subtypes and formats.
Add input types, the default value for pin = -1 which indicates that the specified input type can be used for all pins
Definition at line 108 of file MultiIOBaseFilter.cpp.