OggDemuxPacketSourcePin Class Reference

#include <OggDemuxPacketSourcePin.h>

Inheritance diagram for OggDemuxPacketSourcePin:

Inheritance graph
[legend]
Collaboration diagram for OggDemuxPacketSourcePin:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual bool acceptOggPage (OggPage *inOggPage)
virtual HRESULT BreakConnect ()
virtual STDMETHODIMP CheckCapabilities (DWORD *pCapabilities)
virtual HRESULT CheckMediaType (const CMediaType *inMediaType)
virtual HRESULT CompleteConnect (IPin *inReceivePin)
virtual STDMETHODIMP ConvertTimeFormat (LONGLONG *pTarget, const GUID *pTargetFormat, LONGLONG Source, const GUID *pSourceFormat)
virtual HRESULT DecideBufferSize (IMemAllocator *inoutAllocator, ALLOCATOR_PROPERTIES *inoutInputRequest)
virtual HRESULT DeliverBeginFlush (void)
virtual HRESULT DeliverEndFlush (void)
virtual HRESULT DeliverEndOfStream (void)
virtual HRESULT DeliverNewSegment (REFERENCE_TIME inStart, REFERENCE_TIME inStop, double inRate)
virtual STDMETHODIMP GetAvailable (LONGLONG *pEarliest, LONGLONG *pLatest)
virtual STDMETHODIMP GetCapabilities (DWORD *pCapabilities)
virtual STDMETHODIMP GetCurrentPosition (LONGLONG *pCurrent)
IOggDecodergetDecoderInterface ()
virtual STDMETHODIMP GetDuration (LONGLONG *pDuration)
virtual __int64 getGlobalBaseTime ()
virtual HRESULT GetMediaType (int inPosition, CMediaType *outMediaType)
virtual STDMETHODIMP GetPositions (LONGLONG *pCurrent, LONGLONG *pStop)
virtual STDMETHODIMP GetPreroll (LONGLONG *pllPreroll)
virtual STDMETHODIMP GetRate (double *dRate)
unsigned long getSerialNo ()
virtual STDMETHODIMP GetStopPosition (LONGLONG *pStop)
virtual STDMETHODIMP GetTimeFormat (GUID *pFormat)
virtual STDMETHODIMP IsFormatSupported (const GUID *pFormat)
bool isStreamReady ()
virtual STDMETHODIMP IsUsingTimeFormat (const GUID *pFormat)
DECLARE_IUNKNOWN STDMETHODIMP NonDelegatingQueryInterface (REFIID riid, void **ppv)
virtual bool notifyStreamBaseTime (__int64 inStreamTime)
 OggDemuxPacketSourcePin (TCHAR *inObjectName, OggDemuxPacketSourceFilter *inParentFilter, CCritSec *inFilterLock, OggPacket *inIdentHeader, unsigned long inSerialNo)
virtual STDMETHODIMP QueryPreferredFormat (GUID *pFormat)
bool ReleaseDelegate ()
bool SetDelegate (IMediaSeeking *inDelegate)
void setIsStreamReady (bool inIsStreamReady)
virtual STDMETHODIMP SetPositions (LONGLONG *pCurrent, DWORD dwCurrentFlags, LONGLONG *pStop, DWORD dwStopFlags)
virtual STDMETHODIMP SetRate (double dRate)
virtual STDMETHODIMP SetTimeFormat (const GUID *pFormat)
virtual ~OggDemuxPacketSourcePin (void)

Static Public Attributes

const unsigned long NUM_PAGE_BUFFERS = 100

Protected Member Functions

virtual bool acceptStampedOggPacket (StampedOggPacket *inPacket)
virtual bool dispatchPacket (StampedOggPacket *inPacket)
BYTE * getIdentAsFormatBlock ()
unsigned long getIdentSize ()

Protected Attributes

bool mAcceptingData
COutputQueue * mDataQueue
IOggDecodermDecoderInterface
HRESULT mFilterHR
HRESULT mHR
OggPacketmIdentHeader
bool mIsStreamReady
unsigned long mNumBuffers
OggPacketiser mPacketiser
CCritSec * mPacketiserLock
IMediaSeeking * mSeekDelegate
DWORD mSeekingCap
unsigned long mSerialNo

Constructor & Destructor Documentation

OggDemuxPacketSourcePin::OggDemuxPacketSourcePin TCHAR *  inObjectName,
OggDemuxPacketSourceFilter inParentFilter,
CCritSec *  inFilterLock,
OggPacket inIdentHeader,
unsigned long  inSerialNo
 

Definition at line 34 of file OggDemuxPacketSourcePin.cpp.

References false, mPacketiser, mPacketiserLock, BasicSeekPassThrough::SetDelegate(), and OggPacketiser::setPacketSink().

Here is the call graph for this function:

OggDemuxPacketSourcePin::~OggDemuxPacketSourcePin void   )  [virtual]
 

Definition at line 80 of file OggDemuxPacketSourcePin.cpp.

References BasicSeekPassThrough::SetDelegate().

Here is the call graph for this function:


Member Function Documentation

bool OggDemuxPacketSourcePin::acceptOggPage OggPage inOggPage  )  [virtual]
 

All callers to acceptOggPage give away their pointer to this function. All methods implementing this interface are responsible for deleting this page. All callers should NULL their pointer immediately after calling to avoid reusing them.

Implements IOggCallback.

Definition at line 95 of file OggDemuxPacketSourcePin.cpp.

References OggPacketiser::acceptOggPage(), mAcceptingData, mPacketiser, and mPacketiserLock.

Here is the call graph for this function:

bool OggDemuxPacketSourcePin::acceptStampedOggPacket StampedOggPacket inPacket  )  [protected, virtual]
 

All callers to acceptStampedOggPacket give away their pointer to this function. All methods implementing this interface are responsible for deleting this page. All callers should NULL their pointer immediately after calling to avoid reusing them.

Implements IStampedOggPacketSink.

Definition at line 302 of file OggDemuxPacketSourcePin.cpp.

References dispatchPacket(), mDecoderInterface, mIsStreamReady, and IOggDecoder::showHeaderPacket().

Here is the call graph for this function:

HRESULT OggDemuxPacketSourcePin::BreakConnect  )  [virtual]
 

Definition at line 198 of file OggDemuxPacketSourcePin.cpp.

References mDataQueue.

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

Reimplemented in OggDemuxSourceFilter, and OggDemuxPacketSourceFilter.

Definition at line 125 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

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

Definition at line 159 of file OggDemuxPacketSourcePin.cpp.

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

Definition at line 204 of file OggDemuxPacketSourcePin.cpp.

References OggPacketiser::acceptOggPage(), OggPacket::clone(), FALSE, OggDemuxPacketSourceFilter::getMatchingBufferedPages(), mDataQueue, mDecoderInterface, mFilterHR, mIdentHeader, mIsStreamReady, mNumBuffers, mSerialNo, OggDemuxPacketSourceFilter::notifyPinConnected(), OggDemuxPacketSourceFilter::removeMatchingBufferedPages(), OggPacketiser::setPacketSink(), IOggDecoder::showHeaderPacket(), and TRUE.

Here is the call graph for this function:

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.

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

Definition at line 170 of file OggDemuxPacketSourcePin.cpp.

References mNumBuffers.

HRESULT OggDemuxPacketSourcePin::DeliverBeginFlush void   )  [virtual]
 

Definition at line 351 of file OggDemuxPacketSourcePin.cpp.

References mDataQueue.

Referenced by OggDemuxPacketSourceFilter::DeliverBeginFlush().

HRESULT OggDemuxPacketSourcePin::DeliverEndFlush void   )  [virtual]
 

Definition at line 339 of file OggDemuxPacketSourcePin.cpp.

References mDataQueue, mPacketiser, mPacketiserLock, and OggPacketiser::reset().

Referenced by OggDemuxPacketSourceFilter::DeliverEndFlush().

Here is the call graph for this function:

HRESULT OggDemuxPacketSourcePin::DeliverEndOfStream void   )  [virtual]
 

Definition at line 331 of file OggDemuxPacketSourcePin.cpp.

References mDataQueue.

Referenced by OggDemuxPacketSourceFilter::DeliverEOS().

HRESULT OggDemuxPacketSourcePin::DeliverNewSegment REFERENCE_TIME  inStart,
REFERENCE_TIME  inStop,
double  inRate
[virtual]
 

Definition at line 321 of file OggDemuxPacketSourcePin.cpp.

References mDataQueue.

Referenced by OggDemuxPacketSourceFilter::DeliverNewSegment().

bool OggDemuxPacketSourcePin::dispatchPacket StampedOggPacket inPacket  )  [protected, virtual]
 

Definition at line 248 of file OggDemuxPacketSourcePin.cpp.

References StampedOggPacket::endTime(), mDataQueue, OggPacket::packetData(), OggPacket::packetSize(), StampedOggPacket::startTime(), and TRUE.

Referenced by acceptStampedOggPacket().

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.

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

Reimplemented in OggDemuxSourceFilter, OggDemuxPacketSourceFilter, and OggMuxFilter.

Definition at line 234 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

IOggDecoder * OggDemuxPacketSourcePin::getDecoderInterface  ) 
 

Definition at line 121 of file OggDemuxPacketSourcePin.cpp.

References mDecoderInterface.

Referenced by OggDemuxPacketSourceFilter::notifyPinConnected().

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

Reimplemented in OggDemuxSourceFilter, and OggDemuxPacketSourceFilter.

Definition at line 211 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

__int64 OggDemuxPacketSourcePin::getGlobalBaseTime  )  [virtual]
 

Implements IOggOutputPin.

Definition at line 364 of file OggDemuxPacketSourcePin.cpp.

BYTE * OggDemuxPacketSourcePin::getIdentAsFormatBlock  )  [protected]
 

Definition at line 106 of file OggDemuxPacketSourcePin.cpp.

References mIdentHeader, and OggPacket::packetData().

Referenced by GetMediaType().

Here is the call graph for this function:

unsigned long OggDemuxPacketSourcePin::getIdentSize  )  [protected]
 

Definition at line 111 of file OggDemuxPacketSourcePin.cpp.

References mIdentHeader, and OggPacket::packetSize().

Referenced by GetMediaType().

Here is the call graph for this function:

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

Definition at line 137 of file OggDemuxPacketSourcePin.cpp.

References getIdentAsFormatBlock(), and getIdentSize().

Here is the call graph for this function:

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

Reimplemented in OggDemuxSourceFilter, OggDemuxPacketSourceFilter, 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, 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.

unsigned long OggDemuxPacketSourcePin::getSerialNo  ) 
 

Definition at line 116 of file OggDemuxPacketSourcePin.cpp.

Referenced by OggStreamMapper::getMatchingPin(), and OggDemuxPacketSourceFilter::notifyPinConnected().

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.

bool OggDemuxPacketSourcePin::isStreamReady  )  [inline]
 

Definition at line 68 of file OggDemuxPacketSourcePin.h.

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

Definition at line 65 of file OggDemuxPacketSourcePin.cpp.

bool OggDemuxPacketSourcePin::notifyStreamBaseTime __int64  inStreamTime  )  [virtual]
 

Implements IOggOutputPin.

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

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

void OggDemuxPacketSourcePin::setIsStreamReady bool  inIsStreamReady  )  [inline]
 

Definition at line 69 of file OggDemuxPacketSourcePin.h.

References mIsStreamReady.

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.


Member Data Documentation

bool OggDemuxPacketSourcePin::mAcceptingData [protected]
 

Definition at line 116 of file OggDemuxPacketSourcePin.h.

Referenced by acceptOggPage().

COutputQueue* OggDemuxPacketSourcePin::mDataQueue [protected]
 

Definition at line 113 of file OggDemuxPacketSourcePin.h.

Referenced by BreakConnect(), CompleteConnect(), DeliverBeginFlush(), DeliverEndFlush(), DeliverEndOfStream(), DeliverNewSegment(), and dispatchPacket().

IOggDecoder* OggDemuxPacketSourcePin::mDecoderInterface [protected]
 

Definition at line 110 of file OggDemuxPacketSourcePin.h.

Referenced by acceptStampedOggPacket(), CompleteConnect(), and getDecoderInterface().

HRESULT OggDemuxPacketSourcePin::mFilterHR [protected]
 

Definition at line 99 of file OggDemuxPacketSourcePin.h.

Referenced by CompleteConnect().

HRESULT BasicSeekPassThrough::mHR [protected, inherited]
 

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

Definition at line 76 of file BasicSeekPassThrough.h.

OggPacket* OggDemuxPacketSourcePin::mIdentHeader [protected]
 

Definition at line 109 of file OggDemuxPacketSourcePin.h.

Referenced by CompleteConnect(), getIdentAsFormatBlock(), and getIdentSize().

bool OggDemuxPacketSourcePin::mIsStreamReady [protected]
 

Definition at line 115 of file OggDemuxPacketSourcePin.h.

Referenced by acceptStampedOggPacket(), CompleteConnect(), and setIsStreamReady().

unsigned long OggDemuxPacketSourcePin::mNumBuffers [protected]
 

Definition at line 107 of file OggDemuxPacketSourcePin.h.

Referenced by CompleteConnect(), and DecideBufferSize().

OggPacketiser OggDemuxPacketSourcePin::mPacketiser [protected]
 

Definition at line 111 of file OggDemuxPacketSourcePin.h.

Referenced by acceptOggPage(), DeliverEndFlush(), and OggDemuxPacketSourcePin().

CCritSec* OggDemuxPacketSourcePin::mPacketiserLock [protected]
 

Definition at line 105 of file OggDemuxPacketSourcePin.h.

Referenced by acceptOggPage(), DeliverEndFlush(), and OggDemuxPacketSourcePin().

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

unsigned long OggDemuxPacketSourcePin::mSerialNo [protected]
 

Definition at line 103 of file OggDemuxPacketSourcePin.h.

Referenced by CompleteConnect().

const unsigned long OggDemuxPacketSourcePin::NUM_PAGE_BUFFERS = 100 [static]
 

Definition at line 64 of file OggDemuxPacketSourcePin.h.


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