NativeFLACSourceFilter Class Reference

#include <NativeFLACSourceFilter.h>

Collaboration diagram for NativeFLACSourceFilter:

Collaboration graph
[legend]
List of all members.

Public Types

enum  eThreadCommands { THREAD_EXIT = 0, THREAD_PAUSE = 1, THREAD_RUN = 2 }

Public Member Functions

DECLARE_IUNKNOWN STDMETHODIMP NonDelegatingQueryInterface (REFIID riid, void **ppv)
 NativeFLACSourceFilter (void)
virtual ~NativeFLACSourceFilter (void)
virtual int GetPinCount ()
virtual CBasePin * GetPin (int inPinNo)
ULONG STDMETHODCALLTYPE GetMiscFlags (void)
virtual STDMETHODIMP GetCurFile (LPOLESTR *outFileName, AM_MEDIA_TYPE *outMediaType)
virtual STDMETHODIMP Load (LPCOLESTR inFileName, const AM_MEDIA_TYPE *inMediaType)
STDMETHODIMP Run (REFERENCE_TIME tStart)
STDMETHODIMP Pause (void)
STDMETHODIMP Stop (void)
virtual DWORD ThreadProc (void)
virtual ::FLAC__SeekableStreamDecoderReadStatus read_callback (FLAC__byte outBuffer[], unsigned int *outNumBytes)
virtual ::FLAC__SeekableStreamDecoderSeekStatus seek_callback (FLAC__uint64 inSeekPos)
virtual ::FLAC__SeekableStreamDecoderTellStatus tell_callback (FLAC__uint64 *outTellPos)
virtual ::FLAC__SeekableStreamDecoderLengthStatus length_callback (FLAC__uint64 *outLength)
virtual ::FLAC__StreamDecoderWriteStatus write_callback (const FLAC__Frame *outFrame, const FLAC__int32 *const outBuffer[])
virtual void metadata_callback (const FLAC__StreamMetadata *inMetaData)
virtual void error_callback (FLAC__StreamDecoderErrorStatus inStatus)
virtual bool eof_callback (void)
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 Member Functions

CUnknown *WINAPI CreateInstance (LPUNKNOWN pUnk, HRESULT *pHr)

Protected Member Functions

HRESULT DataProcessLoop ()

Protected Attributes

NativeFLACSourcePinmFLACSourcePin
wstring mFileName
fstream mInputFile
unsigned long mFileSize
bool mBegun
bool mJustSeeked
__int64 mSeekRequest
bool mWasEOF
unsigned long mUpto
unsigned long mNumChannels
unsigned long mFrameSize
unsigned long mSampleRate
unsigned long mBitsPerSample
__int64 mTotalNumSamples
CCritSec * mCodecLock

Friends

class NativeFLACSourcePin

Member Enumeration Documentation

enum NativeFLACSourceFilter::eThreadCommands
 

Enumeration values:
THREAD_EXIT 
THREAD_PAUSE 
THREAD_RUN 

Definition at line 63 of file NativeFLACSourceFilter.h.


Constructor & Destructor Documentation

NativeFLACSourceFilter::NativeFLACSourceFilter void   ) 
 

Definition at line 59 of file NativeFLACSourceFilter.cpp.

References false, mCodecLock, mFLACSourcePin, NativeFLACSourcePin, and true.

Referenced by CreateInstance().

NativeFLACSourceFilter::~NativeFLACSourceFilter void   )  [virtual]
 

Definition at line 76 of file NativeFLACSourceFilter.cpp.

References mFLACSourcePin.


Member Function Documentation

STDMETHODIMP NativeFLACSourceFilter::CheckCapabilities DWORD *  pCapabilities  )  [virtual]
 

Definition at line 312 of file NativeFLACSourceFilter.cpp.

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

Definition at line 344 of file NativeFLACSourceFilter.cpp.

CUnknown *WINAPI NativeFLACSourceFilter::CreateInstance LPUNKNOWN  pUnk,
HRESULT *  pHr
[static]
 

Definition at line 50 of file NativeFLACSourceFilter.cpp.

References NativeFLACSourceFilter().

Here is the call graph for this function:

HRESULT NativeFLACSourceFilter::DataProcessLoop  )  [protected]
 

Definition at line 181 of file NativeFLACSourceFilter.cpp.

References NativeFLACSourcePin::DeliverEndOfStream(), mCodecLock, mFLACSourcePin, mInputFile, mJustSeeked, mSeekRequest, and mWasEOF.

Referenced by ThreadProc().

Here is the call graph for this function:

bool NativeFLACSourceFilter::eof_callback void   )  [virtual]
 

Definition at line 297 of file NativeFLACSourceFilter.cpp.

References mInputFile.

void NativeFLACSourceFilter::error_callback FLAC__StreamDecoderErrorStatus  inStatus  )  [virtual]
 

Definition at line 293 of file NativeFLACSourceFilter.cpp.

STDMETHODIMP NativeFLACSourceFilter::GetAvailable LONGLONG *  pEarliest,
LONGLONG *  pLatest
[virtual]
 

Definition at line 365 of file NativeFLACSourceFilter.cpp.

References mTotalNumSamples.

STDMETHODIMP NativeFLACSourceFilter::GetCapabilities DWORD *  pCapabilities  )  [virtual]
 

Definition at line 303 of file NativeFLACSourceFilter.cpp.

STDMETHODIMP NativeFLACSourceFilter::GetCurFile LPOLESTR *  outFileName,
AM_MEDIA_TYPE *  outMediaType
[virtual]
 

Definition at line 101 of file NativeFLACSourceFilter.cpp.

References mFileName, and outFileName.

STDMETHODIMP NativeFLACSourceFilter::GetCurrentPosition LONGLONG *  pCurrent  )  [virtual]
 

Definition at line 341 of file NativeFLACSourceFilter.cpp.

STDMETHODIMP NativeFLACSourceFilter::GetDuration LONGLONG *  pDuration  )  [virtual]
 

Definition at line 333 of file NativeFLACSourceFilter.cpp.

References mTotalNumSamples.

ULONG NativeFLACSourceFilter::GetMiscFlags void   ) 
 

Definition at line 96 of file NativeFLACSourceFilter.cpp.

CBasePin * NativeFLACSourceFilter::GetPin int  inPinNo  )  [virtual]
 

Definition at line 87 of file NativeFLACSourceFilter.cpp.

int NativeFLACSourceFilter::GetPinCount  )  [virtual]
 

Definition at line 84 of file NativeFLACSourceFilter.cpp.

STDMETHODIMP NativeFLACSourceFilter::GetPositions LONGLONG *  pCurrent,
LONGLONG *  pStop
[virtual]
 

Definition at line 362 of file NativeFLACSourceFilter.cpp.

STDMETHODIMP NativeFLACSourceFilter::GetPreroll LONGLONG *  pllPreroll  )  [virtual]
 

Definition at line 377 of file NativeFLACSourceFilter.cpp.

STDMETHODIMP NativeFLACSourceFilter::GetRate double *  dRate  )  [virtual]
 

Definition at line 373 of file NativeFLACSourceFilter.cpp.

STDMETHODIMP NativeFLACSourceFilter::GetStopPosition LONGLONG *  pStop  )  [virtual]
 

Definition at line 337 of file NativeFLACSourceFilter.cpp.

References mTotalNumSamples.

STDMETHODIMP NativeFLACSourceFilter::GetTimeFormat GUID *  pFormat  )  [virtual]
 

Definition at line 329 of file NativeFLACSourceFilter.cpp.

STDMETHODIMP NativeFLACSourceFilter::IsFormatSupported const GUID *  pFormat  )  [virtual]
 

Definition at line 315 of file NativeFLACSourceFilter.cpp.

STDMETHODIMP NativeFLACSourceFilter::IsUsingTimeFormat const GUID *  pFormat  )  [virtual]
 

Definition at line 381 of file NativeFLACSourceFilter.cpp.

FLAC__SeekableStreamDecoderLengthStatus NativeFLACSourceFilter::length_callback FLAC__uint64 *  outLength  ) 
 

Definition at line 246 of file NativeFLACSourceFilter.cpp.

STDMETHODIMP NativeFLACSourceFilter::Load LPCOLESTR  inFileName,
const AM_MEDIA_TYPE *  inMediaType
[virtual]
 

Definition at line 108 of file NativeFLACSourceFilter.cpp.

References iBE_Math::charArrToULong(), mBitsPerSample, mFileName, mFileSize, mInputFile, mNumChannels, mSampleRate, and mTotalNumSamples.

Here is the call graph for this function:

void NativeFLACSourceFilter::metadata_callback const FLAC__StreamMetadata *  inMetaData  )  [virtual]
 

Definition at line 290 of file NativeFLACSourceFilter.cpp.

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

Definition at line 139 of file NativeFLACSourceFilter.cpp.

STDMETHODIMP NativeFLACSourceFilter::Pause void   ) 
 

Definition at line 156 of file NativeFLACSourceFilter.cpp.

References THREAD_RUN.

STDMETHODIMP NativeFLACSourceFilter::QueryPreferredFormat GUID *  pFormat  )  [virtual]
 

Definition at line 322 of file NativeFLACSourceFilter.cpp.

FLAC__SeekableStreamDecoderReadStatus NativeFLACSourceFilter::read_callback FLAC__byte  outBuffer[],
unsigned int *  outNumBytes
 

Definition at line 231 of file NativeFLACSourceFilter.cpp.

References mInputFile, and mWasEOF.

STDMETHODIMP NativeFLACSourceFilter::Run REFERENCE_TIME  tStart  ) 
 

Definition at line 152 of file NativeFLACSourceFilter.cpp.

FLAC__SeekableStreamDecoderSeekStatus NativeFLACSourceFilter::seek_callback FLAC__uint64  inSeekPos  ) 
 

Definition at line 238 of file NativeFLACSourceFilter.cpp.

References mInputFile.

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

Definition at line 347 of file NativeFLACSourceFilter.cpp.

References NativeFLACSourcePin::DeliverBeginFlush(), NativeFLACSourcePin::DeliverEndFlush(), mCodecLock, mFLACSourcePin, mJustSeeked, mSampleRate, mSeekRequest, and mUpto.

Here is the call graph for this function:

STDMETHODIMP NativeFLACSourceFilter::SetRate double  dRate  )  [virtual]
 

Definition at line 370 of file NativeFLACSourceFilter.cpp.

STDMETHODIMP NativeFLACSourceFilter::SetTimeFormat const GUID *  pFormat  )  [virtual]
 

Definition at line 326 of file NativeFLACSourceFilter.cpp.

STDMETHODIMP NativeFLACSourceFilter::Stop void   ) 
 

Definition at line 169 of file NativeFLACSourceFilter.cpp.

References NativeFLACSourcePin::DeliverBeginFlush(), NativeFLACSourcePin::DeliverEndFlush(), mFLACSourcePin, mJustSeeked, mSeekRequest, mUpto, and THREAD_EXIT.

Here is the call graph for this function:

FLAC__SeekableStreamDecoderTellStatus NativeFLACSourceFilter::tell_callback FLAC__uint64 *  outTellPos  ) 
 

Definition at line 242 of file NativeFLACSourceFilter.cpp.

References mInputFile.

DWORD NativeFLACSourceFilter::ThreadProc void   )  [virtual]
 

Definition at line 213 of file NativeFLACSourceFilter.cpp.

References DataProcessLoop(), THREAD_EXIT, and THREAD_RUN.

Here is the call graph for this function:

FLAC__StreamDecoderWriteStatus NativeFLACSourceFilter::write_callback const FLAC__Frame *  outFrame,
const FLAC__int32 *const   outBuffer[]
 

Definition at line 250 of file NativeFLACSourceFilter.cpp.

References NativeFLACSourcePin::deliverData(), mBegun, mFLACSourcePin, mFrameSize, mNumChannels, mSampleRate, and mUpto.

Here is the call graph for this function:


Friends And Related Function Documentation

friend class NativeFLACSourcePin [friend]
 

Definition at line 60 of file NativeFLACSourceFilter.h.

Referenced by NativeFLACSourceFilter().


Member Data Documentation

bool NativeFLACSourceFilter::mBegun [protected]
 

Definition at line 139 of file NativeFLACSourceFilter.h.

Referenced by write_callback().

unsigned long NativeFLACSourceFilter::mBitsPerSample [protected]
 

Definition at line 149 of file NativeFLACSourceFilter.h.

Referenced by NativeFLACSourcePin::GetMediaType(), and Load().

CCritSec* NativeFLACSourceFilter::mCodecLock [protected]
 

Definition at line 153 of file NativeFLACSourceFilter.h.

Referenced by DataProcessLoop(), NativeFLACSourceFilter(), and SetPositions().

wstring NativeFLACSourceFilter::mFileName [protected]
 

Definition at line 134 of file NativeFLACSourceFilter.h.

Referenced by GetCurFile(), and Load().

unsigned long NativeFLACSourceFilter::mFileSize [protected]
 

Definition at line 136 of file NativeFLACSourceFilter.h.

Referenced by Load().

NativeFLACSourcePin* NativeFLACSourceFilter::mFLACSourcePin [protected]
 

Definition at line 131 of file NativeFLACSourceFilter.h.

Referenced by DataProcessLoop(), NativeFLACSourceFilter(), SetPositions(), Stop(), write_callback(), and ~NativeFLACSourceFilter().

unsigned long NativeFLACSourceFilter::mFrameSize [protected]
 

Definition at line 147 of file NativeFLACSourceFilter.h.

Referenced by write_callback().

fstream NativeFLACSourceFilter::mInputFile [protected]
 

Definition at line 135 of file NativeFLACSourceFilter.h.

Referenced by DataProcessLoop(), eof_callback(), Load(), read_callback(), seek_callback(), and tell_callback().

bool NativeFLACSourceFilter::mJustSeeked [protected]
 

Definition at line 140 of file NativeFLACSourceFilter.h.

Referenced by DataProcessLoop(), SetPositions(), and Stop().

unsigned long NativeFLACSourceFilter::mNumChannels [protected]
 

Definition at line 146 of file NativeFLACSourceFilter.h.

Referenced by NativeFLACSourcePin::GetMediaType(), Load(), and write_callback().

unsigned long NativeFLACSourceFilter::mSampleRate [protected]
 

Definition at line 148 of file NativeFLACSourceFilter.h.

Referenced by NativeFLACSourcePin::GetMediaType(), Load(), SetPositions(), and write_callback().

__int64 NativeFLACSourceFilter::mSeekRequest [protected]
 

Definition at line 141 of file NativeFLACSourceFilter.h.

Referenced by DataProcessLoop(), SetPositions(), and Stop().

__int64 NativeFLACSourceFilter::mTotalNumSamples [protected]
 

Definition at line 150 of file NativeFLACSourceFilter.h.

Referenced by GetAvailable(), GetDuration(), GetStopPosition(), and Load().

unsigned long NativeFLACSourceFilter::mUpto [protected]
 

Definition at line 143 of file NativeFLACSourceFilter.h.

Referenced by SetPositions(), Stop(), and write_callback().

bool NativeFLACSourceFilter::mWasEOF [protected]
 

Definition at line 142 of file NativeFLACSourceFilter.h.

Referenced by DataProcessLoop(), and read_callback().


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