AbstractVideoDecodeInputPin Class Reference

#include <AbstractVideoDecodeInputPin.h>

Inheritance diagram for AbstractVideoDecodeInputPin:

Inheritance graph
[legend]
Collaboration diagram for AbstractVideoDecodeInputPin:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 AbstractVideoDecodeInputPin (AbstractVideoDecodeFilter *inParentFilter, CCritSec *inFilterLock, AbstractVideoDecodeOutputPin *inOutputPin, CHAR *inObjectName, LPCWSTR inPinDisplayName, CMediaType *inAcceptMediaType)
virtual ~AbstractVideoDecodeInputPin (void)
DECLARE_IUNKNOWN STDMETHODIMP NonDelegatingQueryInterface (REFIID riid, void **ppv)
virtual long decodeData (unsigned char *inBuf, long inNumBytes, LONGLONG inStart, LONGLONG inEnd)=0
virtual bool ConstructCodec ()=0
virtual void DestroyCodec ()=0
virtual HRESULT BreakConnect ()
virtual HRESULT CompleteConnect (IPin *inReceivePin)
STDMETHODIMP Receive (IMediaSample *pSample)
virtual HRESULT CheckMediaType (const CMediaType *inMediaType)
virtual HRESULT GetMediaType (int inPosition, CMediaType *outMediaType)
virtual HRESULT SetMediaType (const CMediaType *inMediaType)=0
virtual void ResetFrameCount ()
virtual STDMETHODIMP EndOfStream (void)
virtual STDMETHODIMP BeginFlush ()
virtual STDMETHODIMP EndFlush ()
virtual STDMETHODIMP NewSegment (REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate)
bool SetDelegate (IMediaSeeking *inDelegate)
bool ReleaseDelegate ()
virtual STDMETHODIMP GetCapabilities (DWORD *pCapabilities)
virtual STDMETHODIMP CheckCapabilities (DWORD *pCapabilities)
virtual STDMETHODIMP IsFormatSupported (const GUID *pFormat)
virtual STDMETHODIMP QueryPreferredFormat (GUID *pFormat)
virtual STDMETHODIMP SetTimeFormat (const GUID *pFormat)
virtual STDMETHODIMP GetTimeFormat (GUID *pFormat)
virtual STDMETHODIMP GetDuration (LONGLONG *pDuration)
virtual STDMETHODIMP GetStopPosition (LONGLONG *pStop)
virtual STDMETHODIMP GetCurrentPosition (LONGLONG *pCurrent)
virtual STDMETHODIMP ConvertTimeFormat (LONGLONG *pTarget, const GUID *pTargetFormat, LONGLONG Source, const GUID *pSourceFormat)
virtual STDMETHODIMP SetPositions (LONGLONG *pCurrent, DWORD dwCurrentFlags, LONGLONG *pStop, DWORD dwStopFlags)
virtual STDMETHODIMP GetPositions (LONGLONG *pCurrent, LONGLONG *pStop)
virtual STDMETHODIMP GetAvailable (LONGLONG *pEarliest, LONGLONG *pLatest)
virtual STDMETHODIMP SetRate (double dRate)
virtual STDMETHODIMP GetRate (double *dRate)
virtual STDMETHODIMP GetPreroll (LONGLONG *pllPreroll)
virtual STDMETHODIMP IsUsingTimeFormat (const GUID *pFormat)

Static Public Attributes

const short SIZE_16_BITS = 2
const unsigned long HUNDRED_NANOS = 10000000
const signed short SINT_MAX = 32767
const signed short SINT_MIN = -32768

Protected Member Functions

virtual bool SetSampleParams (IMediaSample *outMediaSample, unsigned long inDataSize, REFERENCE_TIME *inStartTime, REFERENCE_TIME *inEndTime)

Protected Attributes

HRESULT mHR
bool mBegun
AbstractVideoDecodeOutputPinmOutputPin
__int64 mLastSeenStartGranPos
AbstractVideoDecodeFiltermParentFilter
CMediaType * mAcceptableMediaType
LONGLONG mFrameDuration
LONGLONG mFrameSize
LONGLONG mFrameCount
unsigned long mHeight
unsigned long mWidth
CCritSec * mStreamLock
REFERENCE_TIME mSeekTimeBase
IMediaSeeking * mSeekDelegate
DWORD mSeekingCap

Friends

class AbstractVideoDecodeOutputPin

Constructor & Destructor Documentation

AbstractVideoDecodeInputPin::AbstractVideoDecodeInputPin AbstractVideoDecodeFilter inParentFilter,
CCritSec *  inFilterLock,
AbstractVideoDecodeOutputPin inOutputPin,
CHAR *  inObjectName,
LPCWSTR  inPinDisplayName,
CMediaType *  inAcceptMediaType
 

Definition at line 36 of file AbstractVideoDecodeInputPin.cpp.

References false, mAcceptableMediaType, and mStreamLock.

AbstractVideoDecodeInputPin::~AbstractVideoDecodeInputPin void   )  [virtual]
 

Definition at line 65 of file AbstractVideoDecodeInputPin.cpp.


Member Function Documentation

STDMETHODIMP AbstractVideoDecodeInputPin::BeginFlush  )  [virtual]
 

Definition at line 196 of file AbstractVideoDecodeInputPin.cpp.

References AbstractVideoDecodeOutputPin::DeliverBeginFlush(), AbstractVideoDecodeFilter::mOutputPin, and mParentFilter.

Referenced by AbstractVideoDecodeOutputPin::DeliverBeginFlush().

Here is the call graph for this function:

HRESULT AbstractVideoDecodeInputPin::BreakConnect  )  [virtual]
 

Definition at line 84 of file AbstractVideoDecodeInputPin.cpp.

References BasicSeekable::ReleaseDelegate().

Here is the call graph for this function:

STDMETHODIMP BasicSeekable::CheckCapabilities DWORD *  pCapabilities  )  [virtual, inherited]
 

Definition at line 91 of file BasicSeekable.cpp.

References BasicSeekable::mSeekDelegate.

HRESULT AbstractVideoDecodeInputPin::CheckMediaType const CMediaType *  inMediaType  )  [virtual]
 

Definition at line 178 of file AbstractVideoDecodeInputPin.cpp.

References mAcceptableMediaType.

HRESULT AbstractVideoDecodeInputPin::CompleteConnect IPin *  inReceivePin  )  [virtual]
 

Definition at line 90 of file AbstractVideoDecodeInputPin.cpp.

References BasicSeekable::SetDelegate().

Here is the call graph for this function:

virtual bool AbstractVideoDecodeInputPin::ConstructCodec  )  [pure virtual]
 

STDMETHODIMP BasicSeekable::ConvertTimeFormat LONGLONG *  pTarget,
const GUID *  pTargetFormat,
LONGLONG  Source,
const GUID *  pSourceFormat
[virtual, inherited]
 

Definition at line 212 of file BasicSeekable.cpp.

References BasicSeekable::mSeekDelegate.

virtual long AbstractVideoDecodeInputPin::decodeData unsigned char *  inBuf,
long  inNumBytes,
LONGLONG  inStart,
LONGLONG  inEnd
[pure virtual]
 

Referenced by Receive().

virtual void AbstractVideoDecodeInputPin::DestroyCodec  )  [pure virtual]
 

STDMETHODIMP AbstractVideoDecodeInputPin::EndFlush  )  [virtual]
 

Definition at line 201 of file AbstractVideoDecodeInputPin.cpp.

References AbstractVideoDecodeOutputPin::DeliverEndFlush(), AbstractVideoDecodeFilter::mOutputPin, and mParentFilter.

Referenced by AbstractVideoDecodeOutputPin::DeliverEndFlush().

Here is the call graph for this function:

STDMETHODIMP AbstractVideoDecodeInputPin::EndOfStream void   )  [virtual]
 

Definition at line 191 of file AbstractVideoDecodeInputPin.cpp.

References AbstractVideoDecodeOutputPin::DeliverEndOfStream(), AbstractVideoDecodeFilter::mOutputPin, mParentFilter, and mStreamLock.

Here is the call graph for this function:

STDMETHODIMP BasicSeekable::GetAvailable LONGLONG *  pEarliest,
LONGLONG *  pLatest
[virtual, inherited]
 

Definition at line 251 of file BasicSeekable.cpp.

References BasicSeekable::mSeekDelegate.

STDMETHODIMP BasicSeekable::GetCapabilities DWORD *  pCapabilities  )  [virtual, inherited]
 

Definition at line 63 of file BasicSeekable.cpp.

References BasicSeekable::mSeekDelegate.

STDMETHODIMP BasicSeekable::GetCurrentPosition LONGLONG *  pCurrent  )  [virtual, inherited]
 

Definition at line 200 of file BasicSeekable.cpp.

References BasicSeekable::mSeekDelegate.

STDMETHODIMP BasicSeekable::GetDuration LONGLONG *  pDuration  )  [virtual, inherited]
 

Definition at line 177 of file BasicSeekable.cpp.

References BasicSeekable::mSeekDelegate.

HRESULT AbstractVideoDecodeInputPin::GetMediaType int  inPosition,
CMediaType *  outMediaType
[virtual]
 

Definition at line 216 of file AbstractVideoDecodeInputPin.cpp.

References mAcceptableMediaType.

STDMETHODIMP BasicSeekable::GetPositions LONGLONG *  pCurrent,
LONGLONG *  pStop
[virtual, inherited]
 

Definition at line 240 of file BasicSeekable.cpp.

References BasicSeekable::mSeekDelegate.

STDMETHODIMP BasicSeekable::GetPreroll LONGLONG *  pllPreroll  )  [virtual, inherited]
 

Definition at line 282 of file BasicSeekable.cpp.

References BasicSeekable::mSeekDelegate.

STDMETHODIMP BasicSeekable::GetRate double *  dRate  )  [virtual, inherited]
 

Definition at line 272 of file BasicSeekable.cpp.

References BasicSeekable::mSeekDelegate.

STDMETHODIMP BasicSeekable::GetStopPosition LONGLONG *  pStop  )  [virtual, inherited]
 

Definition at line 189 of file BasicSeekable.cpp.

References BasicSeekable::mSeekDelegate.

STDMETHODIMP BasicSeekable::GetTimeFormat GUID *  pFormat  )  [virtual, inherited]
 

Definition at line 167 of file BasicSeekable.cpp.

References BasicSeekable::mSeekDelegate.

STDMETHODIMP BasicSeekable::IsFormatSupported const GUID *  pFormat  )  [virtual, inherited]
 

Definition at line 116 of file BasicSeekable.cpp.

References BasicSeekable::mSeekDelegate.

STDMETHODIMP BasicSeekable::IsUsingTimeFormat const GUID *  pFormat  )  [virtual, inherited]
 

Definition at line 292 of file BasicSeekable.cpp.

References BasicSeekable::mSeekDelegate.

STDMETHODIMP AbstractVideoDecodeInputPin::NewSegment REFERENCE_TIME  tStart,
REFERENCE_TIME  tStop,
double  dRate
[virtual]
 

Definition at line 209 of file AbstractVideoDecodeInputPin.cpp.

References AbstractVideoDecodeOutputPin::DeliverNewSegment(), AbstractVideoDecodeFilter::mOutputPin, mParentFilter, and mStreamLock.

Referenced by AbstractVideoDecodeOutputPin::DeliverNewSegment().

Here is the call graph for this function:

STDMETHODIMP AbstractVideoDecodeInputPin::NonDelegatingQueryInterface REFIID  riid,
void **  ppv
 

Definition at line 72 of file AbstractVideoDecodeInputPin.cpp.

Referenced by AbstractVideoDecodeOutputPin::CompleteConnect().

STDMETHODIMP BasicSeekable::QueryPreferredFormat GUID *  pFormat  )  [virtual, inherited]
 

Definition at line 137 of file BasicSeekable.cpp.

References BasicSeekable::mSeekDelegate.

STDMETHODIMP AbstractVideoDecodeInputPin::Receive IMediaSample *  pSample  ) 
 

Definition at line 114 of file AbstractVideoDecodeInputPin.cpp.

References decodeData(), mLastSeenStartGranPos, mSeekTimeBase, mStreamLock, and ResetFrameCount().

Here is the call graph for this function:

bool BasicSeekable::ReleaseDelegate  )  [inherited]
 

Definition at line 41 of file BasicSeekable.cpp.

References BasicSeekable::mSeekDelegate.

Referenced by AbstractVideoDecodeOutputPin::BreakConnect(), BreakConnect(), AbstractAudioDecodeOutputPin::BreakConnect(), AbstractAudioDecodeInputPin::BreakConnect(), and AbstractAudioDecodeOutputPin::~AbstractAudioDecodeOutputPin().

void AbstractVideoDecodeInputPin::ResetFrameCount  )  [virtual]
 

Definition at line 98 of file AbstractVideoDecodeInputPin.cpp.

References mFrameCount.

Referenced by Receive(), and AbstractVideoDecodeFilter::Stop().

bool BasicSeekable::SetDelegate IMediaSeeking *  inDelegate  )  [inherited]
 

Definition at line 49 of file BasicSeekable.cpp.

References BasicSeekable::mSeekDelegate.

Referenced by AbstractAudioEncodeInputPin::AbstractAudioEncodeInputPin(), AbstractVideoEncodeInputPin::AbstractVideoEncodeInputPin(), AbstractVideoEncodeInputPin::CompleteConnect(), AbstractVideoDecodeOutputPin::CompleteConnect(), CompleteConnect(), AbstractAudioEncodeInputPin::CompleteConnect(), AbstractAudioDecodeOutputPin::CompleteConnect(), and AbstractAudioDecodeInputPin::CompleteConnect().

virtual HRESULT AbstractVideoDecodeInputPin::SetMediaType const CMediaType *  inMediaType  )  [pure virtual]
 

STDMETHODIMP BasicSeekable::SetPositions LONGLONG *  pCurrent,
DWORD  dwCurrentFlags,
LONGLONG *  pStop,
DWORD  dwStopFlags
[virtual, inherited]
 

Definition at line 223 of file BasicSeekable.cpp.

References BasicSeekable::mSeekDelegate.

STDMETHODIMP BasicSeekable::SetRate double  dRate  )  [virtual, inherited]
 

Definition at line 261 of file BasicSeekable.cpp.

References BasicSeekable::mSeekDelegate.

bool AbstractVideoDecodeInputPin::SetSampleParams IMediaSample *  outMediaSample,
unsigned long  inDataSize,
REFERENCE_TIME *  inStartTime,
REFERENCE_TIME *  inEndTime
[protected, virtual]
 

Definition at line 102 of file AbstractVideoDecodeInputPin.cpp.

References FALSE.

STDMETHODIMP BasicSeekable::SetTimeFormat const GUID *  pFormat  )  [virtual, inherited]
 

Definition at line 155 of file BasicSeekable.cpp.

References BasicSeekable::mSeekDelegate.


Friends And Related Function Documentation

friend class AbstractVideoDecodeOutputPin [friend]
 

Definition at line 43 of file AbstractVideoDecodeInputPin.h.


Member Data Documentation

const unsigned long AbstractVideoDecodeInputPin::HUNDRED_NANOS = 10000000 [static]
 

Definition at line 47 of file AbstractVideoDecodeInputPin.h.

CMediaType* AbstractVideoDecodeInputPin::mAcceptableMediaType [protected]
 

Definition at line 86 of file AbstractVideoDecodeInputPin.h.

Referenced by AbstractVideoDecodeInputPin(), CheckMediaType(), and GetMediaType().

bool AbstractVideoDecodeInputPin::mBegun [protected]
 

Definition at line 81 of file AbstractVideoDecodeInputPin.h.

LONGLONG AbstractVideoDecodeInputPin::mFrameCount [protected]
 

Definition at line 90 of file AbstractVideoDecodeInputPin.h.

Referenced by ResetFrameCount().

LONGLONG AbstractVideoDecodeInputPin::mFrameDuration [protected]
 

Definition at line 88 of file AbstractVideoDecodeInputPin.h.

LONGLONG AbstractVideoDecodeInputPin::mFrameSize [protected]
 

Definition at line 89 of file AbstractVideoDecodeInputPin.h.

Referenced by AbstractVideoDecodeOutputPin::CheckMediaType().

unsigned long AbstractVideoDecodeInputPin::mHeight [protected]
 

Definition at line 92 of file AbstractVideoDecodeInputPin.h.

Referenced by AbstractVideoDecodeOutputPin::CheckMediaType().

HRESULT AbstractVideoDecodeInputPin::mHR [protected]
 

Reimplemented from BasicSeekable.

Definition at line 80 of file AbstractVideoDecodeInputPin.h.

__int64 AbstractVideoDecodeInputPin::mLastSeenStartGranPos [protected]
 

Definition at line 84 of file AbstractVideoDecodeInputPin.h.

Referenced by Receive().

AbstractVideoDecodeOutputPin* AbstractVideoDecodeInputPin::mOutputPin [protected]
 

Definition at line 82 of file AbstractVideoDecodeInputPin.h.

AbstractVideoDecodeFilter* AbstractVideoDecodeInputPin::mParentFilter [protected]
 

Definition at line 85 of file AbstractVideoDecodeInputPin.h.

Referenced by BeginFlush(), EndFlush(), EndOfStream(), and NewSegment().

IMediaSeeking* BasicSeekable::mSeekDelegate [protected, inherited]
 

Definition at line 45 of file BasicSeekable.h.

Referenced by BasicSeekable::BasicSeekable(), BasicSeekable::CheckCapabilities(), BasicSeekable::ConvertTimeFormat(), BasicSeekable::GetAvailable(), BasicSeekable::GetCapabilities(), BasicSeekable::GetCurrentPosition(), BasicSeekable::GetDuration(), BasicSeekable::GetPositions(), BasicSeekable::GetPreroll(), BasicSeekable::GetRate(), BasicSeekable::GetStopPosition(), BasicSeekable::GetTimeFormat(), BasicSeekable::IsFormatSupported(), BasicSeekable::IsUsingTimeFormat(), BasicSeekable::QueryPreferredFormat(), BasicSeekable::ReleaseDelegate(), BasicSeekable::SetDelegate(), BasicSeekable::SetPositions(), BasicSeekable::SetRate(), BasicSeekable::SetTimeFormat(), and BasicSeekable::~BasicSeekable().

DWORD BasicSeekable::mSeekingCap [protected, inherited]
 

Definition at line 47 of file BasicSeekable.h.

Referenced by BasicSeekable::BasicSeekable().

REFERENCE_TIME AbstractVideoDecodeInputPin::mSeekTimeBase [protected]
 

Definition at line 98 of file AbstractVideoDecodeInputPin.h.

Referenced by Receive().

CCritSec* AbstractVideoDecodeInputPin::mStreamLock [protected]
 

Definition at line 95 of file AbstractVideoDecodeInputPin.h.

Referenced by AbstractVideoDecodeInputPin(), EndOfStream(), NewSegment(), and Receive().

unsigned long AbstractVideoDecodeInputPin::mWidth [protected]
 

Definition at line 93 of file AbstractVideoDecodeInputPin.h.

Referenced by AbstractVideoDecodeOutputPin::CheckMediaType().

const signed short AbstractVideoDecodeInputPin::SINT_MAX = 32767 [static]
 

Definition at line 48 of file AbstractVideoDecodeInputPin.h.

const signed short AbstractVideoDecodeInputPin::SINT_MIN = -32768 [static]
 

Definition at line 49 of file AbstractVideoDecodeInputPin.h.

const short AbstractVideoDecodeInputPin::SIZE_16_BITS = 2 [static]
 

Definition at line 46 of file AbstractVideoDecodeInputPin.h.


The documentation for this class was generated from the following files:
Generated on Tue Feb 15 15:01:04 2005 for oggdsf by  doxygen 1.3.9