OggMuxFilter Class Reference

#include <OggMuxFilter.h>

Inheritance diagram for OggMuxFilter:

Inheritance graph
[legend]
Collaboration diagram for OggMuxFilter:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual bool acceptOggPage (OggPage *inOggPage)
 Takes an incoming page, usually from the interleaver.
virtual HRESULT addAnotherPin ()
virtual STDMETHODIMP CheckCapabilities (DWORD *pCapabilities)
virtual STDMETHODIMP ConvertTimeFormat (LONGLONG *pTarget, const GUID *pTargetFormat, LONGLONG Source, const GUID *pSourceFormat)
virtual STDMETHODIMP GetAvailable (LONGLONG *pEarliest, LONGLONG *pLatest)
virtual STDMETHODIMP GetCapabilities (DWORD *pCapabilities)
STDMETHODIMP GetCurFile (LPOLESTR *outFileName, AM_MEDIA_TYPE *outMediaType)
 Gets the output filename this filter is currently using.
virtual STDMETHODIMP GetCurrentPosition (LONGLONG *pCurrent)
virtual STDMETHODIMP GetDuration (LONGLONG *pDuration)
ULONG STDMETHODCALLTYPE GetMiscFlags (void)
 Allows the filter to return a flag to tell the graph it's a renderer.
virtual CBasePin * GetPin (int inPinNo)
 Returns the indexed pin or NULL.
virtual int GetPinCount ()
 Returns the number of pins this filter has.
virtual STDMETHODIMP GetPositions (LONGLONG *pCurrent, LONGLONG *pStop)
virtual STDMETHODIMP GetPreroll (LONGLONG *pllPreroll)
virtual STDMETHODIMP GetRate (double *dRate)
virtual STDMETHODIMP GetStopPosition (LONGLONG *pStop)
virtual STDMETHODIMP GetTimeFormat (GUID *pFormat)
virtual STDMETHODIMP IsFormatSupported (const GUID *pFormat)
virtual STDMETHODIMP IsUsingTimeFormat (const GUID *pFormat)
DECLARE_IUNKNOWN STDMETHODIMP NonDelegatingQueryInterface (REFIID riid, void **ppv)
virtual void NotifyComplete ()
 Implement this to be notified when "something" completes.
 OggMuxFilter (REFCLSID inFilterGUID)
 OggMuxFilter (void)
STDMETHODIMP Pause (void)
 Called when the graph pauses.
virtual STDMETHODIMP QueryPreferredFormat (GUID *pFormat)
bool ReleaseDelegate ()
STDMETHODIMP Run (REFERENCE_TIME tStart)
 Called when the graph starts playing.
bool SetDelegate (IMediaSeeking *inDelegate)
STDMETHODIMP SetFileName (LPCOLESTR inFileName, const AM_MEDIA_TYPE *inMediaType)
 Sets the filename to be used to output to.
virtual STDMETHODIMP SetPositions (LONGLONG *pCurrent, DWORD dwCurrentFlags, LONGLONG *pStop, DWORD dwStopFlags)
virtual STDMETHODIMP SetRate (double dRate)
virtual STDMETHODIMP SetTimeFormat (const GUID *pFormat)
 STDMETHODIMP_ (bool) setMaxPacketsPerPage(unsigned long inMaxPacketsPerPage)
 STDMETHODIMP_ (unsigned long) maxPacketsPerPage()
virtual STDMETHODIMP_ (LONGLONG) getBytesWritten()
 Returns the number of bytes written so far.
virtual STDMETHODIMP_ (LONGLONG) getProgressTime()
 Returns the time in 100 nanosecond units of the last page that was written.
STDMETHODIMP Stop (void)
 Called when the graph stops.
virtual ~OggMuxFilter (void)

Static Public Member Functions

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

Protected Member Functions

bool CloseOutput ()
bool SetupOutput ()

Protected Attributes

fstream debugLog
wstring mFileName
HRESULT mHR
vector< OggMuxInputPin * > mInputPins
OggPageInterleavermInterleaver
fstream mOutputFile
IMediaSeeking * mSeekDelegate
DWORD mSeekingCap
CCritSec * mStreamLock

Friends

class OggMuxInputPin

Constructor & Destructor Documentation

OggMuxFilter::OggMuxFilter void   ) 
 

Definition at line 138 of file OggMuxFilter.cpp.

References debugLog, mHR, mInputPins, mInterleaver, mStreamLock, OggPageInterleaver::newStream(), OggMuxInputPin, and BasicSeekPassThrough::SetDelegate().

Referenced by CreateInstance().

Here is the call graph for this function:

OggMuxFilter::OggMuxFilter REFCLSID  inFilterGUID  ) 
 

Definition at line 164 of file OggMuxFilter.cpp.

References mStreamLock.

OggMuxFilter::~OggMuxFilter void   )  [virtual]
 

Definition at line 189 of file OggMuxFilter.cpp.

References mInputPins, and BasicSeekPassThrough::SetDelegate().

Here is the call graph for this function:


Member Function Documentation

bool OggMuxFilter::acceptOggPage OggPage inOggPage  )  [virtual]
 

Takes an incoming page, usually from the interleaver.

Implements IOggCallback.

Definition at line 241 of file OggMuxFilter.cpp.

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

Here is the call graph for this function:

HRESULT OggMuxFilter::addAnotherPin  )  [virtual]
 

Reimplemented in AnxMuxFilter.

Definition at line 218 of file OggMuxFilter.cpp.

References mHR, mInputPins, mInterleaver, OggPageInterleaver::newStream(), and OggMuxInputPin.

Referenced by OggMuxInputPin::CompleteConnect(), and AnxMuxInputPin::CompleteConnect().

Here is the call graph for this function:

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

Reimplemented in OggDemuxSourceFilter, and OggDemuxPacketSourceFilter.

Definition at line 125 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

bool OggMuxFilter::CloseOutput  )  [protected]
 

Definition at line 254 of file OggMuxFilter.cpp.

References mOutputFile.

Referenced by Stop().

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

Reimplemented in OggDemuxSourceFilter, and OggDemuxPacketSourceFilter.

Definition at line 246 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Reimplemented in AnxMuxFilter.

Definition at line 63 of file OggMuxFilter.cpp.

References OggMuxFilter().

Here is the call graph for this function:

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

Reimplemented in OggDemuxSourceFilter, and OggDemuxPacketSourceFilter.

Definition at line 285 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Reimplemented in OggDemuxSourceFilter, and OggDemuxPacketSourceFilter.

Definition at line 97 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

HRESULT OggMuxFilter::GetCurFile LPOLESTR *  outFileName,
AM_MEDIA_TYPE *  outMediaType
 

Gets the output filename this filter is currently using.

Definition at line 231 of file OggMuxFilter.cpp.

References mFileName, and outFileName.

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

Reimplemented from BasicSeekPassThrough.

Definition at line 425 of file OggMuxFilter.cpp.

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

Here is the call graph for this function:

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

Reimplemented in OggDemuxSourceFilter, and OggDemuxPacketSourceFilter.

Definition at line 211 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

ULONG OggMuxFilter::GetMiscFlags void   ) 
 

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

Definition at line 130 of file OggMuxFilter.cpp.

References debugLog.

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

Returns the indexed pin or NULL.

Definition at line 283 of file OggMuxFilter.cpp.

References mInputPins.

Referenced by AnxPageInterleaver::letsGetFishy().

int OggMuxFilter::GetPinCount  )  [virtual]
 

Returns the number of pins this filter has.

Definition at line 279 of file OggMuxFilter.cpp.

References mInputPins.

Referenced by AnxPageInterleaver::letsGetFishy().

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

Reimplemented from BasicSeekPassThrough.

Definition at line 417 of file OggMuxFilter.cpp.

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

Here is the call graph for this function:

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

Reimplemented in OggDemuxSourceFilter, and OggDemuxPacketSourceFilter.

Definition at line 316 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Reimplemented in OggDemuxSourceFilter, and OggDemuxPacketSourceFilter.

Definition at line 306 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Reimplemented in OggDemuxSourceFilter, and OggDemuxPacketSourceFilter.

Definition at line 223 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Reimplemented in OggDemuxSourceFilter, and OggDemuxPacketSourceFilter.

Definition at line 201 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Reimplemented in OggDemuxSourceFilter, and OggDemuxPacketSourceFilter.

Definition at line 150 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Reimplemented in OggDemuxSourceFilter, and OggDemuxPacketSourceFilter.

Definition at line 326 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Reimplemented in AnxMuxFilter.

Definition at line 77 of file OggMuxFilter.cpp.

References debugLog.

Referenced by AnxMuxFilter::NonDelegatingQueryInterface().

void OggMuxFilter::NotifyComplete  )  [virtual]
 

Implement this to be notified when "something" completes.

Implements INotifyComplete.

Definition at line 72 of file OggMuxFilter.cpp.

STDMETHODIMP OggMuxFilter::Pause void   ) 
 

Called when the graph pauses.

Definition at line 392 of file OggMuxFilter.cpp.

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

Reimplemented in OggDemuxSourceFilter, and OggDemuxPacketSourceFilter.

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  ) 
 

Called when the graph starts playing.

Definition at line 384 of file OggMuxFilter.cpp.

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

Definition at line 83 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

HRESULT OggMuxFilter::SetFileName LPCOLESTR  inFileName,
const AM_MEDIA_TYPE *  inMediaType
 

Sets the filename to be used to output to.

Definition at line 224 of file OggMuxFilter.cpp.

References mFileName, and 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, and OggDemuxPacketSourceFilter.

Definition at line 257 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Reimplemented in OggDemuxSourceFilter, and OggDemuxPacketSourceFilter.

Definition at line 295 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Reimplemented in OggDemuxSourceFilter, and OggDemuxPacketSourceFilter.

Definition at line 189 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

bool OggMuxFilter::SetupOutput  )  [protected]
 

Definition at line 250 of file OggMuxFilter.cpp.

References mFileName, and mOutputFile.

Referenced by SetFileName().

OggMuxFilter::STDMETHODIMP_ bool   ) 
 

OggMuxFilter::STDMETHODIMP_ unsigned  long  ) 
 

virtual OggMuxFilter::STDMETHODIMP_ LONGLONG   )  [virtual]
 

Returns the number of bytes written so far.

virtual OggMuxFilter::STDMETHODIMP_ LONGLONG   )  [virtual]
 

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

STDMETHODIMP OggMuxFilter::Stop void   ) 
 

Called when the graph stops.

Definition at line 406 of file OggMuxFilter.cpp.

References CloseOutput().

Here is the call graph for this function:


Friends And Related Function Documentation

friend class OggMuxInputPin [friend]
 

Definition at line 67 of file OggMuxFilter.h.

Referenced by addAnotherPin(), and OggMuxFilter().


Member Data Documentation

fstream OggMuxFilter::debugLog [protected]
 

Definition at line 159 of file OggMuxFilter.h.

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

wstring OggMuxFilter::mFileName [protected]
 

Definition at line 151 of file OggMuxFilter.h.

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

HRESULT OggMuxFilter::mHR [protected]
 

Reimplemented from BasicSeekPassThrough.

Definition at line 160 of file OggMuxFilter.h.

Referenced by addAnotherPin(), and OggMuxFilter().

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

Definition at line 152 of file OggMuxFilter.h.

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

OggPageInterleaver* OggMuxFilter::mInterleaver [protected]
 

Definition at line 154 of file OggMuxFilter.h.

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

fstream OggMuxFilter::mOutputFile [protected]
 

Definition at line 158 of file OggMuxFilter.h.

Referenced by acceptOggPage(), CloseOutput(), and 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]
 

Definition at line 156 of file OggMuxFilter.h.

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


The documentation for this class was generated from the following files:
Generated on Fri Feb 17 00:01:44 2006 for oggdsf by  doxygen 1.3.9