AbstractAudioDecodeInputPin Class Reference

#include <AbstractAudioDecodeInputPin.h>

Inheritance diagram for AbstractAudioDecodeInputPin:

Inheritance graph
[legend]
Collaboration diagram for AbstractAudioDecodeInputPin:

Collaboration graph
[legend]
List of all members.

Public Member Functions

DECLARE_IUNKNOWN STDMETHODIMP NonDelegatingQueryInterface (REFIID riid, void **ppv)
 AbstractAudioDecodeInputPin (AbstractAudioDecodeFilter *inParentFilter, CCritSec *inFilterLock, AbstractAudioDecodeOutputPin *inOutputPin, CHAR *inObjectName, LPCWSTR inPinDisplayName, CMediaType *inAcceptMediaType)
virtual ~AbstractAudioDecodeInputPin (void)
virtual long decodeData (unsigned char *inBuf, long inNumBytes)=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 void ResetTimeBases ()
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)

Public Attributes

REFERENCE_TIME mChainTimeBase
REFERENCE_TIME mPreviousEndTime

Static Public Attributes

const short SIZE_16_BITS = 2
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
AbstractAudioDecodeOutputPinmOutputPin
__int64 mUptoFrame
__int64 mLastSeenStartGranPos
AbstractAudioDecodeFiltermParentFilter
CMediaType * mAcceptableMediaType
CCritSec * mStreamLock
unsigned long mFrameSize
unsigned long mNumChannels
unsigned long mSampleRate
REFERENCE_TIME mSeekTimeBase
IMediaSeeking * mSeekDelegate
DWORD mSeekingCap

Friends

class AbstractAudioDecodeOutputPin

Constructor & Destructor Documentation

AbstractAudioDecodeInputPin::AbstractAudioDecodeInputPin AbstractAudioDecodeFilter inParentFilter,
CCritSec *  inFilterLock,
AbstractAudioDecodeOutputPin inOutputPin,
CHAR *  inObjectName,
LPCWSTR  inPinDisplayName,
CMediaType *  inAcceptMediaType
 

Definition at line 36 of file AbstractAudioDecodeInputPin.cpp.

References false, mAcceptableMediaType, and mStreamLock.

AbstractAudioDecodeInputPin::~AbstractAudioDecodeInputPin void   )  [virtual]
 

Definition at line 110 of file AbstractAudioDecodeInputPin.cpp.

References mAcceptableMediaType.


Member Function Documentation

STDMETHODIMP AbstractAudioDecodeInputPin::BeginFlush  )  [virtual]
 

Definition at line 215 of file AbstractAudioDecodeInputPin.cpp.

References AbstractAudioDecodeOutputPin::DeliverBeginFlush(), AbstractAudioDecodeFilter::mOutputPin, and mParentFilter.

Here is the call graph for this function:

HRESULT AbstractAudioDecodeInputPin::BreakConnect  )  [virtual]
 

Definition at line 94 of file AbstractAudioDecodeInputPin.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 AbstractAudioDecodeInputPin::CheckMediaType const CMediaType *  inMediaType  )  [virtual]
 

Definition at line 197 of file AbstractAudioDecodeInputPin.cpp.

References mAcceptableMediaType.

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

Definition at line 101 of file AbstractAudioDecodeInputPin.cpp.

References BasicSeekable::SetDelegate().

Here is the call graph for this function:

virtual bool AbstractAudioDecodeInputPin::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 AbstractAudioDecodeInputPin::decodeData unsigned char *  inBuf,
long  inNumBytes
[pure virtual]
 

Referenced by Receive().

virtual void AbstractAudioDecodeInputPin::DestroyCodec  )  [pure virtual]
 

STDMETHODIMP AbstractAudioDecodeInputPin::EndFlush  )  [virtual]
 

Definition at line 221 of file AbstractAudioDecodeInputPin.cpp.

References AbstractAudioDecodeOutputPin::DeliverEndFlush(), AbstractAudioDecodeFilter::mOutputPin, and mParentFilter.

Here is the call graph for this function:

STDMETHODIMP AbstractAudioDecodeInputPin::EndOfStream void   )  [virtual]
 

Definition at line 209 of file AbstractAudioDecodeInputPin.cpp.

References AbstractAudioDecodeOutputPin::DeliverEndOfStream(), AbstractAudioDecodeFilter::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 AbstractAudioDecodeInputPin::GetMediaType int  inPosition,
CMediaType *  outMediaType
[virtual]
 

Definition at line 237 of file AbstractAudioDecodeInputPin.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 AbstractAudioDecodeInputPin::NewSegment REFERENCE_TIME  tStart,
REFERENCE_TIME  tStop,
double  dRate
[virtual]
 

Definition at line 228 of file AbstractAudioDecodeInputPin.cpp.

References AbstractAudioDecodeOutputPin::DeliverNewSegment(), AbstractAudioDecodeFilter::mOutputPin, mParentFilter, mStreamLock, and ResetFrameCount().

Here is the call graph for this function:

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

Definition at line 83 of file AbstractAudioDecodeInputPin.cpp.

Referenced by AbstractAudioDecodeOutputPin::CompleteConnect().

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

Definition at line 137 of file BasicSeekable.cpp.

References BasicSeekable::mSeekDelegate.

STDMETHODIMP AbstractAudioDecodeInputPin::Receive IMediaSample *  pSample  ) 
 

Definition at line 141 of file AbstractAudioDecodeInputPin.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(), AbstractVideoDecodeInputPin::BreakConnect(), AbstractAudioDecodeOutputPin::BreakConnect(), BreakConnect(), and AbstractAudioDecodeOutputPin::~AbstractAudioDecodeOutputPin().

void AbstractAudioDecodeInputPin::ResetFrameCount  )  [virtual]
 

Definition at line 120 of file AbstractAudioDecodeInputPin.cpp.

References mUptoFrame.

Referenced by NewSegment(), Receive(), and AbstractAudioDecodeFilter::Stop().

void AbstractAudioDecodeInputPin::ResetTimeBases  )  [virtual]
 

Definition at line 125 of file AbstractAudioDecodeInputPin.cpp.

References mLastSeenStartGranPos.

Referenced by AbstractAudioDecodeFilter::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(), AbstractVideoDecodeInputPin::CompleteConnect(), AbstractAudioEncodeInputPin::CompleteConnect(), AbstractAudioDecodeOutputPin::CompleteConnect(), and CompleteConnect().

virtual HRESULT AbstractAudioDecodeInputPin::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 AbstractAudioDecodeInputPin::SetSampleParams IMediaSample *  outMediaSample,
unsigned long  inDataSize,
REFERENCE_TIME *  inStartTime,
REFERENCE_TIME *  inEndTime
[protected, virtual]
 

Definition at line 129 of file AbstractAudioDecodeInputPin.cpp.

References FALSE, and TRUE.

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 AbstractAudioDecodeOutputPin [friend]
 

Definition at line 51 of file AbstractAudioDecodeInputPin.h.


Member Data Documentation

CMediaType* AbstractAudioDecodeInputPin::mAcceptableMediaType [protected]
 

Definition at line 102 of file AbstractAudioDecodeInputPin.h.

Referenced by AbstractAudioDecodeInputPin(), CheckMediaType(), GetMediaType(), and ~AbstractAudioDecodeInputPin().

bool AbstractAudioDecodeInputPin::mBegun [protected]
 

Definition at line 97 of file AbstractAudioDecodeInputPin.h.

REFERENCE_TIME AbstractAudioDecodeInputPin::mChainTimeBase
 

Definition at line 89 of file AbstractAudioDecodeInputPin.h.

unsigned long AbstractAudioDecodeInputPin::mFrameSize [protected]
 

Definition at line 108 of file AbstractAudioDecodeInputPin.h.

HRESULT AbstractAudioDecodeInputPin::mHR [protected]
 

Reimplemented from BasicSeekable.

Definition at line 96 of file AbstractAudioDecodeInputPin.h.

__int64 AbstractAudioDecodeInputPin::mLastSeenStartGranPos [protected]
 

Definition at line 100 of file AbstractAudioDecodeInputPin.h.

Referenced by Receive(), and ResetTimeBases().

unsigned long AbstractAudioDecodeInputPin::mNumChannels [protected]
 

Definition at line 109 of file AbstractAudioDecodeInputPin.h.

AbstractAudioDecodeOutputPin* AbstractAudioDecodeInputPin::mOutputPin [protected]
 

Definition at line 98 of file AbstractAudioDecodeInputPin.h.

AbstractAudioDecodeFilter* AbstractAudioDecodeInputPin::mParentFilter [protected]
 

Definition at line 101 of file AbstractAudioDecodeInputPin.h.

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

REFERENCE_TIME AbstractAudioDecodeInputPin::mPreviousEndTime
 

Definition at line 90 of file AbstractAudioDecodeInputPin.h.

unsigned long AbstractAudioDecodeInputPin::mSampleRate [protected]
 

Definition at line 110 of file AbstractAudioDecodeInputPin.h.

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 AbstractAudioDecodeInputPin::mSeekTimeBase [protected]
 

Definition at line 112 of file AbstractAudioDecodeInputPin.h.

Referenced by Receive().

CCritSec* AbstractAudioDecodeInputPin::mStreamLock [protected]
 

Definition at line 105 of file AbstractAudioDecodeInputPin.h.

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

__int64 AbstractAudioDecodeInputPin::mUptoFrame [protected]
 

Definition at line 99 of file AbstractAudioDecodeInputPin.h.

Referenced by ResetFrameCount().

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

Definition at line 55 of file AbstractAudioDecodeInputPin.h.

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

Definition at line 56 of file AbstractAudioDecodeInputPin.h.

const short AbstractAudioDecodeInputPin::SIZE_16_BITS = 2 [static]
 

Definition at line 54 of file AbstractAudioDecodeInputPin.h.


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