61 STDMETHODIMP EnumMediaTypes( IEnumMediaTypes **ppEnum );
67 STDMETHODIMP GetAllocator(IMemAllocator ** ppAllocator);
71 STDMETHODIMP NotifyAllocator(IMemAllocator * pAllocator,
76 IMemAllocator * PeekAllocator()
const 77 {
return m_pAllocator; }
80 STDMETHODIMP GetAllocatorRequirements(ALLOCATOR_PROPERTIES *pProps);
82 HRESULT CompleteConnect(IPin *pReceivePin);
84 inline const BOOL ReadOnly() {
return m_bReadOnly ; }
117 STDMETHODIMP EnumMediaTypes( IEnumMediaTypes **ppEnum );
120 HRESULT CheckMediaType(
const CMediaType* pmt);
124 void SetAllocator(IMemAllocator * pAllocator);
126 IMemInputPin * ConnectedIMemInputPin()
127 {
return m_pInputPin; }
131 IMemAllocator * PeekAllocator()
const 132 {
return m_pAllocator; }
134 HRESULT CompleteConnect(IPin *pReceivePin);
156 bool bModifiesData =
true);
159 bool bModifiesData =
true);
166 HRESULT GetMediaType(
int iPosition,
CMediaType *pMediaType)
167 { DbgBreak(
"CTransInPlaceFilter::GetMediaType should never be called");
172 HRESULT DecideBufferSize(IMemAllocator*, ALLOCATOR_PROPERTIES *);
188 HRESULT CompleteConnect(PIN_DIRECTION dir,IPin *pReceivePin);
191 virtual HRESULT Receive(IMediaSample *pSample);
197 virtual HRESULT Transform(IMediaSample *pSample) PURE;
206 virtual void RegisterPerfId()
207 {m_idTransInPlace = MSR_REGISTER(TEXT(
"TransInPlace"));}
215 IMediaSample * CTransInPlaceFilter::Copy(IMediaSample *pSource);
218 int m_idTransInPlace;
220 bool m_bModifiesData;
239 return InputPin()->CurrentMediaType() ==
240 OutputPin()->CurrentMediaType();
244 BOOL UsingDifferentAllocators()
const 246 return InputPin()->PeekAllocator() != OutputPin()->PeekAllocator();
Definition: amfilter.h:331
Definition: transip.h:139