OggMuxInputPin Class Reference

#include <OggMuxInputPin.h>

Inheritance diagram for OggMuxInputPin:

Inheritance graph
[legend]
Collaboration diagram for OggMuxInputPin:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 OggMuxInputPin (OggMuxFilter *inParentFilter, CCritSec *inFilterLock, HRESULT *inHR, OggMuxStream *inMuxStream)
virtual ~OggMuxInputPin (void)
DECLARE_IUNKNOWN STDMETHODIMP NonDelegatingQueryInterface (REFIID riid, void **ppv)
virtual HRESULT GetMediaType (int inPosition, CMediaType *outMediaType)
 Gets an indexed media type, that this pin will accept.
virtual HRESULT CheckMediaType (const CMediaType *inMediaType)
 Checks whether this pin will accepted the proposed media type.
virtual HRESULT SetMediaType (const CMediaType *inMediaType)
 Notification that this media type has been selected for the connection.
STDMETHODIMP Receive (IMediaSample *inSample)
 Receives a sample from an upstream filter.
virtual STDMETHODIMP EndOfStream ()
 Notification that the stream has ended.
virtual HRESULT CompleteConnect (IPin *inReceivePin)
 Notification that the output pin of an upstream filter has connected.
virtual HRESULT BreakConnect ()
 Notification the output pin of an upstream filter has been disconnected.
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)

Protected Attributes

OggMuxFiltermParentFilter
bool mNeedsFLACHeaderTweak
bool mNeedsFLACHeaderCount
OggPaginator mPaginator
OggMuxStreammMuxStream
IMediaSeeking * mSeekDelegate
HRESULT mHR
DWORD mSeekingCap

Constructor & Destructor Documentation

OggMuxInputPin::OggMuxInputPin OggMuxFilter inParentFilter,
CCritSec *  inFilterLock,
HRESULT *  inHR,
OggMuxStream inMuxStream
 

Definition at line 34 of file OggMuxInputPin.cpp.

References false, OggPaginatorSettings::mMaxPageSize, OggPaginatorSettings::mMinPageSize, mMuxStream, mPaginator, OggPaginatorSettings::mSerialNo, OggPaginator::setPageCallback(), and OggPaginator::setParameters().

Here is the call graph for this function:

OggMuxInputPin::~OggMuxInputPin void   )  [virtual]
 

Definition at line 67 of file OggMuxInputPin.cpp.


Member Function Documentation

HRESULT OggMuxInputPin::BreakConnect  )  [virtual]
 

Notification the output pin of an upstream filter has been disconnected.

Definition at line 301 of file OggMuxInputPin.cpp.

References BasicSeekPassThrough::ReleaseDelegate().

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.

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

Checks whether this pin will accepted the proposed media type.

Definition at line 175 of file OggMuxInputPin.cpp.

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

Notification that the output pin of an upstream filter has connected.

Reimplemented in AnxMuxInputPin.

Definition at line 287 of file OggMuxInputPin.cpp.

References OggMuxFilter::addAnotherPin(), mMuxStream, mParentFilter, BasicSeekPassThrough::SetDelegate(), and OggMuxStream::setIsActive().

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.

Definition at line 246 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

STDMETHODIMP OggMuxInputPin::EndOfStream  )  [virtual]
 

Notification that the stream has ended.

Definition at line 312 of file OggMuxInputPin.cpp.

References OggPaginator::finishStream(), mMuxStream, mPaginator, mParentFilter, OggMuxFilter::mStreamLock, and OggMuxStream::setIsEOS().

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 OggMuxInputPin::GetMediaType int  inPosition,
CMediaType *  outMediaType
[virtual]
 

Gets an indexed media type, that this pin will accept.

Definition at line 141 of file OggMuxInputPin.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 OggMuxInputPin::NonDelegatingQueryInterface REFIID  riid,
void **  ppv
 

Definition at line 72 of file OggMuxInputPin.cpp.

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

Reimplemented in OggDemuxSourceFilter.

Definition at line 171 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

STDMETHODIMP OggMuxInputPin::Receive IMediaSample *  inSample  ) 
 

Receives a sample from an upstream filter.

Definition at line 207 of file OggMuxInputPin.cpp.

References OggPaginator::acceptStampedOggPacket(), StampedOggPacket::clone(), FLACMetadataSplitter::getHeader(), FLACMetadataSplitter::loadMetadata(), mNeedsFLACHeaderCount, mNeedsFLACHeaderTweak, mPaginator, mParentFilter, OggMuxFilter::mStreamLock, FLACMetadataSplitter::numHeaders(), OggPacket::packetData(), and OggPaginator::setNumHeaders().

Here is the call graph for this function:

bool BasicSeekPassThrough::ReleaseDelegate  )  [inherited]
 

Definition at line 75 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

Referenced by AbstractTransformOutputPin::BreakConnect(), AbstractTransformInputPin::BreakConnect(), 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(), CompleteConnect(), AnxMuxInputPin::CompleteConnect(), TheoraDecodeOutputPin::CompleteConnect(), TheoraDecodeInputPin::CompleteConnect(), NativeFLACSourcePin::NativeFLACSourcePin(), OggDemuxSourcePin::OggDemuxSourcePin(), OggMuxFilter::OggMuxFilter(), NativeFLACSourcePin::~NativeFLACSourcePin(), and OggMuxFilter::~OggMuxFilter().

HRESULT OggMuxInputPin::SetMediaType const CMediaType *  inMediaType  )  [virtual]
 

Notification that this media type has been selected for the connection.

Reimplemented in AnxMuxInputPin.

Definition at line 84 of file OggMuxInputPin.cpp.

References sTheoraFormatBlock::frameRateDenominator, sTheoraFormatBlock::frameRateNumerator, sCMMLFormatBlock::granuleDenominator, sCMMLFormatBlock::granuleNumerator, sTheoraFormatBlock::maxKeyframeInterval, mMuxStream, mNeedsFLACHeaderCount, mNeedsFLACHeaderTweak, mPaginator, sFLACFormatBlock::samplesPerSec, sSpeexFormatBlock::samplesPerSec, sVorbisFormatBlock::samplesPerSec, OggMuxStream::setConversionParams(), OggPaginator::setNumHeaders(), and OggMuxStream::setNumHeaders().

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.


Member Data Documentation

HRESULT BasicSeekPassThrough::mHR [protected, inherited]
 

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

Definition at line 76 of file BasicSeekPassThrough.h.

OggMuxStream* OggMuxInputPin::mMuxStream [protected]
 

Definition at line 88 of file OggMuxInputPin.h.

Referenced by CompleteConnect(), EndOfStream(), OggMuxInputPin(), and SetMediaType().

bool OggMuxInputPin::mNeedsFLACHeaderCount [protected]
 

Definition at line 85 of file OggMuxInputPin.h.

Referenced by Receive(), and SetMediaType().

bool OggMuxInputPin::mNeedsFLACHeaderTweak [protected]
 

Definition at line 84 of file OggMuxInputPin.h.

Referenced by Receive(), and SetMediaType().

OggPaginator OggMuxInputPin::mPaginator [protected]
 

Definition at line 87 of file OggMuxInputPin.h.

Referenced by EndOfStream(), OggMuxInputPin(), Receive(), and SetMediaType().

OggMuxFilter* OggMuxInputPin::mParentFilter [protected]
 

Definition at line 82 of file OggMuxInputPin.h.

Referenced by CompleteConnect(), EndOfStream(), and Receive().

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


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