AnxMuxFilter Class Reference

#include <AnxMuxFilter.h>

Inheritance diagram for AnxMuxFilter:

Inheritance graph
[legend]
Collaboration diagram for AnxMuxFilter:

Collaboration graph
[legend]
List of all members.

Public Types

enum  eAnxMuxState {
  ANX_START_STATE = 0, WRITTEN_ANNODEX_BOS = 1, WRITTEN_A_CMML_ANXDATA = 2, WRITTEN_A_CODEC_ANXDATA = 3,
  WRITTEN_ANNODEX_EOS = 4, PROCEED_AS_OGG = 5
}

Public Member Functions

 AnxMuxFilter (void)
virtual ~AnxMuxFilter (void)
DECLARE_IUNKNOWN STDMETHODIMP NonDelegatingQueryInterface (REFIID riid, void **ppv)
virtual HRESULT addAnotherPin ()
ULONG STDMETHODCALLTYPE GetMiscFlags (void)
 Allows the filter to return a flag to tell the graph it's a renderer.
virtual bool acceptOggPage (OggPage *inOggPage)
 Takes an incoming page, usually from the interleaver.
STDMETHODIMP SetFileName (LPCOLESTR inFileName, const AM_MEDIA_TYPE *inMediaType)
 Sets the filename to be used to output to.
STDMETHODIMP GetCurFile (LPOLESTR *outFileName, AM_MEDIA_TYPE *outMediaType)
 Gets the output filename this filter is currently using.
virtual int GetPinCount ()
 Returns the number of pins this filter has.
virtual CBasePin * GetPin (int inPinNo)
 Returns the indexed pin or NULL.
STDMETHODIMP Run (REFERENCE_TIME tStart)
 Called when the graph starts playing.
STDMETHODIMP Pause (void)
 Called when the graph pauses.
STDMETHODIMP Stop (void)
 Called when the graph stops.
virtual STDMETHODIMP_ (LONGLONG) getProgressTime()
 Returns the time in 100 nanosecond units of the last page that was written.
virtual STDMETHODIMP_ (LONGLONG) getBytesWritten()
 Returns the number of bytes written so far.
virtual void NotifyComplete ()
 Implement this to be notified when "something" completes.
virtual STDMETHODIMP GetPositions (LONGLONG *pCurrent, LONGLONG *pStop)
virtual STDMETHODIMP GetCurrentPosition (LONGLONG *pCurrent)
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 ConvertTimeFormat (LONGLONG *pTarget, const GUID *pTargetFormat, LONGLONG Source, const GUID *pSourceFormat)
virtual STDMETHODIMP SetPositions (LONGLONG *pCurrent, DWORD dwCurrentFlags, LONGLONG *pStop, DWORD dwStopFlags)
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

bool SetupOutput ()
bool CloseOutput ()

Protected Attributes

eAnxMuxState mAnxMuxState
unsigned long mAnxVersionMajor
unsigned long mAnxVersionMinor
wstring mFileName
vector< OggMuxInputPin * > mInputPins
OggPageInterleavermInterleaver
CCritSec * mStreamLock
fstream mOutputFile
fstream debugLog
HRESULT mHR
IMediaSeeking * mSeekDelegate
DWORD mSeekingCap

Friends

class OggMuxInputPin

Member Enumeration Documentation

enum AnxMuxFilter::eAnxMuxState
 

Enumeration values:
ANX_START_STATE 
WRITTEN_ANNODEX_BOS 
WRITTEN_A_CMML_ANXDATA 
WRITTEN_A_CODEC_ANXDATA 
WRITTEN_ANNODEX_EOS 
PROCEED_AS_OGG 

Definition at line 51 of file AnxMuxFilter.h.


Constructor & Destructor Documentation

AnxMuxFilter::AnxMuxFilter void   ) 
 

Definition at line 71 of file AnxMuxFilter.cpp.

References mAnxVersionMajor, mAnxVersionMinor, OggPageInterleaver::newStream(), and BasicSeekPassThrough::SetDelegate().

Referenced by CreateInstance().

Here is the call graph for this function:

AnxMuxFilter::~AnxMuxFilter void   )  [virtual]
 

Definition at line 93 of file AnxMuxFilter.cpp.


Member Function Documentation

bool OggMuxFilter::acceptOggPage OggPage inOggPage  )  [virtual, inherited]
 

Takes an incoming page, usually from the interleaver.

Implements IOggCallback.

Definition at line 223 of file OggMuxFilter.cpp.

References OggPage::createRawPageData(), OggMuxFilter::mOutputFile, and OggPage::pageSize().

Here is the call graph for this function:

HRESULT AnxMuxFilter::addAnotherPin  )  [virtual]
 

Reimplemented from OggMuxFilter.

Definition at line 97 of file AnxMuxFilter.cpp.

References OggPageInterleaver::newStream().

Here is the call graph for this function:

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

Reimplemented in OggDemuxSourceFilter.

Definition at line 125 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

bool OggMuxFilter::CloseOutput  )  [protected, inherited]
 

Definition at line 236 of file OggMuxFilter.cpp.

References OggMuxFilter::mOutputFile.

Referenced by OggMuxFilter::Stop().

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

Reimplemented in OggDemuxSourceFilter.

Definition at line 246 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Reimplemented from OggMuxFilter.

Definition at line 63 of file AnxMuxFilter.cpp.

References AnxMuxFilter().

Here is the call graph for this function:

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

Reimplemented in OggDemuxSourceFilter.

Definition at line 285 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Reimplemented in OggDemuxSourceFilter.

Definition at line 97 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

HRESULT OggMuxFilter::GetCurFile LPOLESTR *  outFileName,
AM_MEDIA_TYPE *  outMediaType
[inherited]
 

Gets the output filename this filter is currently using.

Definition at line 213 of file OggMuxFilter.cpp.

References OggMuxFilter::mFileName, and outFileName.

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

Reimplemented from BasicSeekPassThrough.

Definition at line 407 of file OggMuxFilter.cpp.

References OggMuxFilter::debugLog, OggMuxFilter::mInterleaver, and OggPageInterleaver::progressTime().

Here is the call graph for this function:

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

Reimplemented in OggDemuxSourceFilter.

Definition at line 211 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

ULONG OggMuxFilter::GetMiscFlags void   )  [inherited]
 

Allows the filter to return a flag to tell the graph it's a renderer.

Definition at line 112 of file OggMuxFilter.cpp.

References OggMuxFilter::debugLog.

CBasePin * OggMuxFilter::GetPin int  inPinNo  )  [virtual, inherited]
 

Returns the indexed pin or NULL.

Definition at line 265 of file OggMuxFilter.cpp.

References OggMuxFilter::mInputPins.

Referenced by AnxPageInterleaver::letsGetFishy().

int OggMuxFilter::GetPinCount  )  [virtual, inherited]
 

Returns the number of pins this filter has.

Definition at line 261 of file OggMuxFilter.cpp.

References OggMuxFilter::mInputPins.

Referenced by AnxPageInterleaver::letsGetFishy().

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

Reimplemented from BasicSeekPassThrough.

Definition at line 399 of file OggMuxFilter.cpp.

References OggMuxFilter::debugLog, BasicSeekPassThrough::GetPositions(), OggMuxFilter::mInterleaver, and OggPageInterleaver::progressTime().

Here is the call graph for this function:

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

Reimplemented in OggDemuxSourceFilter.

Definition at line 316 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Reimplemented in OggDemuxSourceFilter.

Definition at line 306 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Reimplemented in OggDemuxSourceFilter.

Definition at line 223 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Reimplemented in OggDemuxSourceFilter.

Definition at line 201 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Reimplemented in OggDemuxSourceFilter.

Definition at line 150 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Reimplemented in OggDemuxSourceFilter.

Definition at line 326 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Reimplemented from OggMuxFilter.

Definition at line 57 of file AnxMuxFilter.cpp.

References OggMuxFilter::NonDelegatingQueryInterface().

Here is the call graph for this function:

void OggMuxFilter::NotifyComplete  )  [virtual, inherited]
 

Implement this to be notified when "something" completes.

Implements INotifyComplete.

Definition at line 64 of file OggMuxFilter.cpp.

STDMETHODIMP OggMuxFilter::Pause void   )  [inherited]
 

Called when the graph pauses.

Definition at line 374 of file OggMuxFilter.cpp.

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

Reimplemented in OggDemuxSourceFilter.

Definition at line 171 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

bool BasicSeekPassThrough::ReleaseDelegate  )  [inherited]
 

Definition at line 75 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

Referenced by AbstractTransformOutputPin::BreakConnect(), AbstractTransformInputPin::BreakConnect(), OggMuxInputPin::BreakConnect(), TheoraDecodeOutputPin::BreakConnect(), TheoraDecodeInputPin::BreakConnect(), and AbstractTransformOutputPin::~AbstractTransformOutputPin().

STDMETHODIMP OggMuxFilter::Run REFERENCE_TIME  tStart  )  [inherited]
 

Called when the graph starts playing.

Definition at line 366 of file OggMuxFilter.cpp.

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

Definition at line 83 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

Referenced by AnxMuxFilter(), AbstractTransformOutputPin::CompleteConnect(), AbstractTransformInputPin::CompleteConnect(), OggMuxInputPin::CompleteConnect(), AnxMuxInputPin::CompleteConnect(), TheoraDecodeOutputPin::CompleteConnect(), TheoraDecodeInputPin::CompleteConnect(), NativeFLACSourcePin::NativeFLACSourcePin(), OggDemuxSourcePin::OggDemuxSourcePin(), OggMuxFilter::OggMuxFilter(), NativeFLACSourcePin::~NativeFLACSourcePin(), and OggMuxFilter::~OggMuxFilter().

HRESULT OggMuxFilter::SetFileName LPCOLESTR  inFileName,
const AM_MEDIA_TYPE *  inMediaType
[inherited]
 

Sets the filename to be used to output to.

Definition at line 206 of file OggMuxFilter.cpp.

References OggMuxFilter::mFileName, and OggMuxFilter::SetupOutput().

Here is the call graph for this function:

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

Reimplemented in OggDemuxSourceFilter.

Definition at line 257 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Reimplemented in OggDemuxSourceFilter.

Definition at line 295 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Reimplemented in OggDemuxSourceFilter.

Definition at line 189 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

bool OggMuxFilter::SetupOutput  )  [protected, inherited]
 

Definition at line 232 of file OggMuxFilter.cpp.

References OggMuxFilter::mFileName, and OggMuxFilter::mOutputFile.

Referenced by OggMuxFilter::SetFileName().

virtual OggMuxFilter::STDMETHODIMP_ LONGLONG   )  [virtual, inherited]
 

Returns the number of bytes written so far.

virtual OggMuxFilter::STDMETHODIMP_ LONGLONG   )  [virtual, inherited]
 

Returns the time in 100 nanosecond units of the last page that was written.

STDMETHODIMP OggMuxFilter::Stop void   )  [inherited]
 

Called when the graph stops.

Definition at line 388 of file OggMuxFilter.cpp.

References OggMuxFilter::CloseOutput().

Here is the call graph for this function:


Friends And Related Function Documentation

friend class OggMuxInputPin [friend, inherited]
 

Definition at line 63 of file OggMuxFilter.h.

Referenced by OggMuxFilter::addAnotherPin(), and OggMuxFilter::OggMuxFilter().


Member Data Documentation

fstream OggMuxFilter::debugLog [protected, inherited]
 

Definition at line 147 of file OggMuxFilter.h.

Referenced by OggMuxFilter::GetCurrentPosition(), OggMuxFilter::GetMiscFlags(), OggMuxFilter::GetPositions(), OggMuxFilter::NonDelegatingQueryInterface(), and OggMuxFilter::OggMuxFilter().

eAnxMuxState AnxMuxFilter::mAnxMuxState [protected]
 

Definition at line 64 of file AnxMuxFilter.h.

unsigned long AnxMuxFilter::mAnxVersionMajor [protected]
 

Definition at line 66 of file AnxMuxFilter.h.

Referenced by AnxMuxFilter().

unsigned long AnxMuxFilter::mAnxVersionMinor [protected]
 

Definition at line 67 of file AnxMuxFilter.h.

Referenced by AnxMuxFilter().

wstring OggMuxFilter::mFileName [protected, inherited]
 

Definition at line 139 of file OggMuxFilter.h.

Referenced by OggMuxFilter::GetCurFile(), OggMuxFilter::SetFileName(), and OggMuxFilter::SetupOutput().

HRESULT OggMuxFilter::mHR [protected, inherited]
 

Reimplemented from BasicSeekPassThrough.

Definition at line 148 of file OggMuxFilter.h.

Referenced by OggMuxFilter::addAnotherPin(), and OggMuxFilter::OggMuxFilter().

vector<OggMuxInputPin*> OggMuxFilter::mInputPins [protected, inherited]
 

Definition at line 140 of file OggMuxFilter.h.

Referenced by OggMuxFilter::addAnotherPin(), OggMuxFilter::GetPin(), OggMuxFilter::GetPinCount(), OggMuxFilter::OggMuxFilter(), and OggMuxFilter::~OggMuxFilter().

OggPageInterleaver* OggMuxFilter::mInterleaver [protected, inherited]
 

Definition at line 142 of file OggMuxFilter.h.

Referenced by OggMuxFilter::addAnotherPin(), OggMuxFilter::GetCurrentPosition(), OggMuxFilter::GetPositions(), and OggMuxFilter::OggMuxFilter().

fstream OggMuxFilter::mOutputFile [protected, inherited]
 

Definition at line 146 of file OggMuxFilter.h.

Referenced by OggMuxFilter::acceptOggPage(), OggMuxFilter::CloseOutput(), and OggMuxFilter::SetupOutput().

IMediaSeeking* BasicSeekPassThrough::mSeekDelegate [protected, inherited]
 

Definition at line 75 of file BasicSeekPassThrough.h.

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

DWORD BasicSeekPassThrough::mSeekingCap [protected, inherited]
 

Definition at line 77 of file BasicSeekPassThrough.h.

Referenced by BasicSeekPassThrough::BasicSeekPassThrough().

CCritSec* OggMuxFilter::mStreamLock [protected, inherited]
 

Definition at line 144 of file OggMuxFilter.h.

Referenced by OggMuxInputPin::EndOfStream(), OggMuxFilter::OggMuxFilter(), and OggMuxInputPin::Receive().


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