OggDemuxSourcePin Class Reference

#include <OggDemuxSourcePin.h>

Inheritance diagram for OggDemuxSourcePin:

Inheritance graph
[legend]
Collaboration diagram for OggDemuxSourcePin:

Collaboration graph
[legend]
List of all members.

Public Member Functions

DECLARE_IUNKNOWN STDMETHODIMP NonDelegatingQueryInterface (REFIID riid, void **ppv)
 OggDemuxSourcePin (TCHAR *inObjectName, OggDemuxSourceFilter *inParentFilter, CCritSec *inFilterLock, StreamHeaders *inHeaderSource, CMediaType *inMediaType, wstring inPinName, bool inAllowSeek, unsigned long inNumBuffers, unsigned long inBufferSize)
virtual ~OggDemuxSourcePin (void)
virtual bool deliverOggPacket (StampedOggPacket *inOggPacket)
virtual HRESULT GetMediaType (int inPosition, CMediaType *outMediaType)
virtual HRESULT CheckMediaType (const CMediaType *inMediaType)
virtual HRESULT DecideBufferSize (IMemAllocator *inoutAllocator, ALLOCATOR_PROPERTIES *inoutInputRequest)
virtual HRESULT CompleteConnect (IPin *inReceivePin)
virtual HRESULT BreakConnect (void)
virtual HRESULT DeliverNewSegment (REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate)
virtual HRESULT DeliverEndOfStream (void)
virtual HRESULT DeliverEndFlush (void)
virtual HRESULT DeliverBeginFlush (void)
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 unsigned long BUFFER_SIZE = 1024*512
const unsigned long NUM_BUFFERS = 125

Protected Attributes

OggDemuxSourceFiltermParentFilter
StreamHeadersmHeaders
CMediaType * mMediaType
StampedOggPacketmPartialPacket
HRESULT mFilterHR
COutputQueue * mDataQueue
fstream debugLog
bool mFirstRun
unsigned long mBufferSize
unsigned long mNumBuffers
IMediaSeeking * mSeekDelegate
HRESULT mHR
DWORD mSeekingCap

Constructor & Destructor Documentation

OggDemuxSourcePin::OggDemuxSourcePin TCHAR *  inObjectName,
OggDemuxSourceFilter inParentFilter,
CCritSec *  inFilterLock,
StreamHeaders inHeaderSource,
CMediaType *  inMediaType,
wstring  inPinName,
bool  inAllowSeek,
unsigned long  inNumBuffers,
unsigned long  inBufferSize
 

Definition at line 34 of file OggDemuxSourcePin.cpp.

References debugLog, BasicSeekPassThrough::SetDelegate(), and true.

Here is the call graph for this function:

OggDemuxSourcePin::~OggDemuxSourcePin void   )  [virtual]
 

Definition at line 80 of file OggDemuxSourcePin.cpp.

References debugLog, and mDataQueue.


Member Function Documentation

HRESULT OggDemuxSourcePin::BreakConnect void   )  [virtual]
 

Definition at line 204 of file OggDemuxSourcePin.cpp.

References mDataQueue.

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

Reimplemented in OggDemuxSourceFilter.

Definition at line 125 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Definition at line 222 of file OggDemuxSourcePin.cpp.

References mMediaType.

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

Definition at line 192 of file OggDemuxSourcePin.cpp.

References FALSE, mDataQueue, mFilterHR, NUM_BUFFERS, and TRUE.

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.

HRESULT OggDemuxSourcePin::DecideBufferSize IMemAllocator *  inoutAllocator,
ALLOCATOR_PROPERTIES *  inoutInputRequest
[virtual]
 

Definition at line 229 of file OggDemuxSourcePin.cpp.

HRESULT OggDemuxSourcePin::DeliverBeginFlush void   )  [virtual]
 

Definition at line 184 of file OggDemuxSourcePin.cpp.

References debugLog, mDataQueue, and mPartialPacket.

Referenced by OggDemuxSourceFilter::DeliverBeginFlush().

HRESULT OggDemuxSourcePin::DeliverEndFlush void   )  [virtual]
 

Definition at line 177 of file OggDemuxSourcePin.cpp.

References debugLog, and mDataQueue.

Referenced by OggDemuxSourceFilter::DeliverEndFlush().

HRESULT OggDemuxSourcePin::DeliverEndOfStream void   )  [virtual]
 

Definition at line 170 of file OggDemuxSourcePin.cpp.

References mDataQueue, and mPartialPacket.

Referenced by OggDemuxSourceFilter::DeliverEOS().

HRESULT OggDemuxSourcePin::DeliverNewSegment REFERENCE_TIME  tStart,
REFERENCE_TIME  tStop,
double  dRate
[virtual]
 

Definition at line 160 of file OggDemuxSourcePin.cpp.

References debugLog, mDataQueue, and mPartialPacket.

Referenced by OggDemuxSourceFilter::DeliverNewSegment().

bool OggDemuxSourcePin::deliverOggPacket StampedOggPacket inOggPacket  )  [virtual]
 

Reimplemented in CMMLSourcePin.

Definition at line 101 of file OggDemuxSourcePin.cpp.

References debugLog, StampedOggPacket::endTime(), mDataQueue, mParentFilter, OggDemuxSourceFilter::mSeekTimeBase, OggDemuxSourceFilter::mStreamLock, OggPacket::packetData(), OggPacket::packetSize(), StampedOggPacket::startTime(), and TRUE.

Referenced by OggStream::dispatchPacket().

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.

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

Reimplemented in OggDemuxSourceFilter, and OggMuxFilter.

Definition at line 234 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Reimplemented in OggDemuxSourceFilter.

Definition at line 211 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Definition at line 212 of file OggDemuxSourcePin.cpp.

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

Reimplemented in OggDemuxSourceFilter, and OggMuxFilter.

Definition at line 274 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

Referenced by OggMuxFilter::GetPositions().

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 OggDemuxSourcePin::NonDelegatingQueryInterface REFIID  riid,
void **  ppv
 

Reimplemented in CMMLSourcePin.

Definition at line 88 of file OggDemuxSourcePin.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().

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(), OggDemuxSourcePin(), OggMuxFilter::OggMuxFilter(), NativeFLACSourcePin::~NativeFLACSourcePin(), and OggMuxFilter::~OggMuxFilter().

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.


Member Data Documentation

const unsigned long OggDemuxSourcePin::BUFFER_SIZE = 1024*512 [static]
 

Definition at line 65 of file OggDemuxSourcePin.h.

fstream OggDemuxSourcePin::debugLog [protected]
 

Definition at line 95 of file OggDemuxSourcePin.h.

Referenced by DeliverBeginFlush(), DeliverEndFlush(), DeliverNewSegment(), deliverOggPacket(), OggDemuxSourcePin(), and ~OggDemuxSourcePin().

unsigned long OggDemuxSourcePin::mBufferSize [protected]
 

Definition at line 98 of file OggDemuxSourcePin.h.

COutputQueue* OggDemuxSourcePin::mDataQueue [protected]
 

Definition at line 94 of file OggDemuxSourcePin.h.

Referenced by BreakConnect(), CompleteConnect(), DeliverBeginFlush(), DeliverEndFlush(), DeliverEndOfStream(), DeliverNewSegment(), deliverOggPacket(), and ~OggDemuxSourcePin().

HRESULT OggDemuxSourcePin::mFilterHR [protected]
 

Definition at line 93 of file OggDemuxSourcePin.h.

Referenced by CompleteConnect().

bool OggDemuxSourcePin::mFirstRun [protected]
 

Definition at line 96 of file OggDemuxSourcePin.h.

StreamHeaders* OggDemuxSourcePin::mHeaders [protected]
 

Definition at line 90 of file OggDemuxSourcePin.h.

HRESULT BasicSeekPassThrough::mHR [protected, inherited]
 

Reimplemented in FLACEncodeInputPin, SpeexEncodeInputPin, TheoraEncodeInputPin, VorbisDecodeInputPin, VorbisEncodeInputPin, OggMuxFilter, AbstractTransformInputPin, and AbstractTransformOutputPin.

Definition at line 76 of file BasicSeekPassThrough.h.

CMediaType* OggDemuxSourcePin::mMediaType [protected]
 

Definition at line 91 of file OggDemuxSourcePin.h.

Referenced by CheckMediaType().

unsigned long OggDemuxSourcePin::mNumBuffers [protected]
 

Definition at line 99 of file OggDemuxSourcePin.h.

OggDemuxSourceFilter* OggDemuxSourcePin::mParentFilter [protected]
 

Definition at line 89 of file OggDemuxSourcePin.h.

Referenced by deliverOggPacket().

StampedOggPacket* OggDemuxSourcePin::mPartialPacket [protected]
 

Definition at line 92 of file OggDemuxSourcePin.h.

Referenced by DeliverBeginFlush(), DeliverEndOfStream(), and DeliverNewSegment().

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().

const unsigned long OggDemuxSourcePin::NUM_BUFFERS = 125 [static]
 

Definition at line 66 of file OggDemuxSourcePin.h.

Referenced by CompleteConnect().


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