FFDShowVideoStream Class Reference

#include <FFDShowVideoStream.h>

Inheritance diagram for FFDShowVideoStream:

Inheritance graph
[legend]
Collaboration diagram for FFDShowVideoStream:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual bool acceptOggPage (OggPage *inOggPage)
virtual bool AddPin ()
virtual bool createFormatBlock ()
virtual CMediaType * createMediaType (GUID inMajorType, GUID inSubType, GUID inFormatType, unsigned long inFormatSize, BYTE *inFormatBlock)
virtual bool deliverCodecHeaders ()
virtual bool dispatchPacket (StampedOggPacket *inPacket)
 FFDShowVideoStream (OggPage *inOggPage, OggDemuxSourceFilter *inOwningFilter, bool inAllowSeek)
void flush (unsigned short inNumPacketsToIgnore)
void flush ()
virtual unsigned long getBufferSize ()
virtual LONGLONG getCurrentPos ()
virtual BYTE * getFormatBlock ()
virtual unsigned long getFormatBlockSize ()
virtual GUID getFormatGUID ()
virtual GUID getMajorTypeGUID ()
virtual unsigned long getNumBuffers ()
virtual OggDemuxSourcePingetPin ()
virtual wstring getPinName ()
virtual GUID getSubtypeGUID ()
virtual bool InitCodec (StampedOggPacket *inOggPacket)
virtual unsigned long numCodecHeaders ()
unsigned long serialNo ()
void setAllowDispatch (bool inAllowDispatch)
virtual void setLastEndGranPos (__int64 inGranPos)
void setSendExcess (bool inSendExcess)
void setSerialNo (unsigned long inSerialNo)
bool streamReady ()
virtual ~FFDShowVideoStream (void)

Protected Member Functions

virtual bool acceptStampedOggPacket (StampedOggPacket *inPacket)
virtual bool processDataPacket (StampedOggPacket *inPacket)
virtual bool processHeaderPacket (StampedOggPacket *inPacket)

Protected Attributes

bool mAllowDispatch
bool mAllowSeek
StreamHeadersmCodecHeaders
vector< StampedOggPacket * > mExcessPackets
VIDEOINFOHEADER * mFFDShowVideoFormatBlock
bool mFirstRun
DWORD mFourCCCode
LONGLONG mGranuleOffset
StampedOggPacketmHeaderPack
__int64 mLastEndGranulePos
LONGLONG mLastKnownTimeBase
__int64 mLastStartGranulePos
LONGLONG mLastTimeStamp
GUID mMediaSubTypeGUID
signed long mNumHeadersNeeded
OggDemuxSourceFiltermOwningFilter
OggPacketiser mPacketiser
wstring mPinName
bool mSendExcess
unsigned long mSerialNo
OggDemuxSourcePinmSourcePin
CCritSec * mStreamLock
bool mStreamReady

Static Protected Attributes

const unsigned long FFDSHOW_VIDEO_BUFFER_SIZE = 1024*512*3
const unsigned long FFDSHOW_VIDEO_NUM_BUFFERS = 50

Constructor & Destructor Documentation

FFDShowVideoStream::FFDShowVideoStream OggPage inOggPage,
OggDemuxSourceFilter inOwningFilter,
bool  inAllowSeek
 

Definition at line 37 of file FFDShowVideoStream.cpp.

References OggPage::getStampedPacket(), and InitCodec().

Here is the call graph for this function:

FFDShowVideoStream::~FFDShowVideoStream void   )  [virtual]
 

Definition at line 48 of file FFDShowVideoStream.cpp.


Member Function Documentation

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

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 228 of file OggStream.cpp.

References OggPacketiser::acceptOggPage(), OggPageHeader::GranulePos(), OggPage::header(), OggPageHeader::isBOS(), OggStream::mLastEndGranulePos, OggStream::mLastStartGranulePos, OggStream::mOwningFilter, OggStream::mPacketiser, and OggDemuxSourceFilter::mSeekTimeBase.

Here is the call graph for this function:

bool OggStream::acceptStampedOggPacket StampedOggPacket inPacket  )  [protected, virtual, inherited]
 

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 89 of file OggStream.cpp.

References OggStream::AddPin(), OggStream::deliverCodecHeaders(), OggStream::mFirstRun, OggStream::mNumHeadersNeeded, OggStream::processDataPacket(), and OggStream::processHeaderPacket().

Here is the call graph for this function:

bool OggStream::AddPin  )  [virtual, inherited]
 

Reimplemented in CMMLStream.

Definition at line 197 of file OggStream.cpp.

References OggStream::createFormatBlock(), OggStream::createMediaType(), OggStream::getBufferSize(), OggStream::getFormatBlock(), OggStream::getFormatBlockSize(), OggStream::getFormatGUID(), OggStream::getMajorTypeGUID(), OggStream::getNumBuffers(), OggStream::getPinName(), OggStream::getSubtypeGUID(), OggStream::mAllowSeek, OggStream::mCodecHeaders, OggStream::mOwningFilter, OggStream::mSourcePin, and OggStream::mStreamReady.

Referenced by OggStream::acceptStampedOggPacket().

Here is the call graph for this function:

bool FFDShowVideoStream::createFormatBlock  )  [virtual]
 

Implements OggStream.

Definition at line 99 of file FFDShowVideoStream.cpp.

References iLE_Math::CharArrToInt64(), iLE_Math::charArrToULong(), mFFDShowVideoFormatBlock, mHeaderPack, and OggPacket::packetData().

Here is the call graph for this function:

CMediaType * OggStream::createMediaType GUID  inMajorType,
GUID  inSubType,
GUID  inFormatType,
unsigned long  inFormatSize,
BYTE *  inFormatBlock
[virtual, inherited]
 

Definition at line 159 of file OggStream.cpp.

Referenced by OggStream::AddPin(), and CMMLStream::AddPin().

bool FFDShowVideoStream::deliverCodecHeaders  )  [virtual]
 

Reimplemented from OggStream.

Definition at line 82 of file FFDShowVideoStream.cpp.

References dispatchPacket(), StreamHeaders::getPacket(), and StreamHeaders::numPackets().

Here is the call graph for this function:

bool FFDShowVideoStream::dispatchPacket StampedOggPacket inPacket  )  [virtual]
 

Reimplemented from OggStream.

Definition at line 175 of file FFDShowVideoStream.cpp.

References OggStream::dispatchPacket(), mFFDShowVideoFormatBlock, mGranuleOffset, mLastKnownTimeBase, mLastTimeStamp, OggPacket::packetData(), OggPacket::packetSize(), and StampedOggPacket::startTime().

Referenced by deliverCodecHeaders().

Here is the call graph for this function:

void OggStream::flush unsigned short  inNumPacketsToIgnore  )  [inherited]
 

Definition at line 187 of file OggStream.cpp.

References OggStream::mPacketiser, OggStream::mStreamLock, OggPacketiser::reset(), and OggPacketiser::setNumIgnorePackets().

Here is the call graph for this function:

void OggStream::flush  )  [inherited]
 

Definition at line 179 of file OggStream.cpp.

References OggStream::mPacketiser, OggStream::mStreamLock, and OggPacketiser::reset().

Referenced by OggDemuxSourceFilter::DeliverEndFlush(), and OggStreamMapper::toStartOfData().

Here is the call graph for this function:

unsigned long FFDShowVideoStream::getBufferSize  )  [virtual]
 

Implements OggStream.

Definition at line 239 of file FFDShowVideoStream.cpp.

LONGLONG FFDShowVideoStream::getCurrentPos  )  [virtual]
 

Implements OggStream.

Definition at line 232 of file FFDShowVideoStream.cpp.

BYTE * FFDShowVideoStream::getFormatBlock  )  [virtual]
 

Implements OggStream.

Definition at line 213 of file FFDShowVideoStream.cpp.

unsigned long FFDShowVideoStream::getFormatBlockSize  )  [virtual]
 

Implements OggStream.

Definition at line 221 of file FFDShowVideoStream.cpp.

GUID FFDShowVideoStream::getFormatGUID  )  [virtual]
 

Implements OggStream.

Definition at line 225 of file FFDShowVideoStream.cpp.

GUID FFDShowVideoStream::getMajorTypeGUID  )  [virtual]
 

Implements OggStream.

Definition at line 218 of file FFDShowVideoStream.cpp.

unsigned long FFDShowVideoStream::getNumBuffers  )  [virtual]
 

Implements OggStream.

Definition at line 236 of file FFDShowVideoStream.cpp.

OggDemuxSourcePin * OggStream::getPin  )  [virtual, inherited]
 

Definition at line 154 of file OggStream.cpp.

Referenced by OggDemuxSourceFilter::DeliverBeginFlush(), OggDemuxSourceFilter::DeliverEndFlush(), OggDemuxSourceFilter::DeliverEOS(), OggDemuxSourceFilter::DeliverNewSegment(), and OggDemuxSourceFilter::GetPin().

wstring FFDShowVideoStream::getPinName  )  [virtual]
 

Implements OggStream.

Definition at line 94 of file FFDShowVideoStream.cpp.

GUID FFDShowVideoStream::getSubtypeGUID  )  [virtual]
 

Implements OggStream.

Definition at line 228 of file FFDShowVideoStream.cpp.

bool FFDShowVideoStream::InitCodec StampedOggPacket inOggPacket  )  [virtual]
 

Implements OggStream.

Definition at line 54 of file FFDShowVideoStream.cpp.

References StreamHeaders::addPacket(), StampedOggPacket::clone(), StreamHeaders::mCodecType, mFourCCCode, mHeaderPack, mMediaSubTypeGUID, mPinName, OggPacket::packetData(), and StringHelper::toWStr().

Referenced by FFDShowVideoStream().

Here is the call graph for this function:

unsigned long OggStream::numCodecHeaders  )  [virtual, inherited]
 

Definition at line 174 of file OggStream.cpp.

References OggStream::mCodecHeaders, and StreamHeaders::numPackets().

Here is the call graph for this function:

bool OggStream::processDataPacket StampedOggPacket inPacket  )  [protected, virtual, inherited]
 

Definition at line 141 of file OggStream.cpp.

References OggStream::dispatchPacket().

Referenced by OggStream::acceptStampedOggPacket().

Here is the call graph for this function:

bool OggStream::processHeaderPacket StampedOggPacket inPacket  )  [protected, virtual, inherited]
 

Reimplemented in FLACStream, and OggFLAC_1_0_Stream.

Definition at line 126 of file OggStream.cpp.

References StreamHeaders::addPacket(), OggStream::mCodecHeaders, and OggStream::mNumHeadersNeeded.

Referenced by OggStream::acceptStampedOggPacket().

Here is the call graph for this function:

unsigned long OggStream::serialNo  )  [inherited]
 

Definition at line 83 of file OggStream.cpp.

void OggStream::setAllowDispatch bool  inAllowDispatch  )  [inherited]
 

Definition at line 86 of file OggStream.cpp.

References OggStream::mAllowDispatch.

Referenced by OggStreamMapper::setAllowDispatch().

void OggStream::setLastEndGranPos __int64  inGranPos  )  [virtual, inherited]
 

Reimplemented in CMMLStream, FLACStream, OggFLAC_1_0_Stream, SpeexStream, TheoraStream, and VorbisStream.

Definition at line 223 of file OggStream.cpp.

References OggStream::mLastEndGranulePos.

Referenced by OggDemuxSourceFilter::SetPositions().

void OggStream::setSendExcess bool  inSendExcess  )  [inherited]
 

Definition at line 259 of file OggStream.cpp.

References OggStream::mSendExcess.

Referenced by OggDemuxSourceFilter::resetStream(), and OggDemuxSourceFilter::SetPositions().

void OggStream::setSerialNo unsigned long  inSerialNo  )  [inherited]
 

Definition at line 279 of file OggStream.cpp.

References OggStream::mSerialNo.

bool OggStream::streamReady  )  [inherited]
 

Definition at line 78 of file OggStream.cpp.

Referenced by OggStreamMapper::isReady().


Member Data Documentation

const unsigned long FFDShowVideoStream::FFDSHOW_VIDEO_BUFFER_SIZE = 1024*512*3 [static, protected]
 

Definition at line 64 of file FFDShowVideoStream.h.

const unsigned long FFDShowVideoStream::FFDSHOW_VIDEO_NUM_BUFFERS = 50 [static, protected]
 

Definition at line 63 of file FFDShowVideoStream.h.

bool OggStream::mAllowDispatch [protected, inherited]
 

Definition at line 116 of file OggStream.h.

Referenced by OggStream::setAllowDispatch().

bool OggStream::mAllowSeek [protected, inherited]
 

Definition at line 115 of file OggStream.h.

Referenced by OggStream::AddPin().

StreamHeaders* OggStream::mCodecHeaders [protected, inherited]
 

Definition at line 108 of file OggStream.h.

Referenced by OggStream::AddPin(), OggStream::deliverCodecHeaders(), OggStream::numCodecHeaders(), and OggStream::processHeaderPacket().

vector<StampedOggPacket*> OggStream::mExcessPackets [protected, inherited]
 

Definition at line 109 of file OggStream.h.

VIDEOINFOHEADER* FFDShowVideoStream::mFFDShowVideoFormatBlock [protected]
 

Definition at line 65 of file FFDShowVideoStream.h.

Referenced by createFormatBlock(), and dispatchPacket().

bool OggStream::mFirstRun [protected, inherited]
 

Definition at line 113 of file OggStream.h.

Referenced by OggStream::acceptStampedOggPacket().

DWORD FFDShowVideoStream::mFourCCCode [protected]
 

Definition at line 66 of file FFDShowVideoStream.h.

Referenced by InitCodec().

LONGLONG FFDShowVideoStream::mGranuleOffset [protected]
 

Definition at line 73 of file FFDShowVideoStream.h.

Referenced by dispatchPacket().

StampedOggPacket* FFDShowVideoStream::mHeaderPack [protected]
 

Definition at line 69 of file FFDShowVideoStream.h.

Referenced by createFormatBlock(), and InitCodec().

__int64 OggStream::mLastEndGranulePos [protected, inherited]
 

Definition at line 118 of file OggStream.h.

Referenced by OggStream::acceptOggPage(), and OggStream::setLastEndGranPos().

LONGLONG FFDShowVideoStream::mLastKnownTimeBase [protected]
 

Definition at line 72 of file FFDShowVideoStream.h.

Referenced by dispatchPacket().

__int64 OggStream::mLastStartGranulePos [protected, inherited]
 

Definition at line 119 of file OggStream.h.

Referenced by OggStream::acceptOggPage().

LONGLONG FFDShowVideoStream::mLastTimeStamp [protected]
 

Definition at line 71 of file FFDShowVideoStream.h.

Referenced by dispatchPacket().

GUID FFDShowVideoStream::mMediaSubTypeGUID [protected]
 

Definition at line 67 of file FFDShowVideoStream.h.

Referenced by InitCodec().

signed long OggStream::mNumHeadersNeeded [protected, inherited]
 

Definition at line 111 of file OggStream.h.

Referenced by OggStream::acceptStampedOggPacket(), and OggStream::processHeaderPacket().

OggDemuxSourceFilter* OggStream::mOwningFilter [protected, inherited]
 

Definition at line 122 of file OggStream.h.

Referenced by OggStream::acceptOggPage(), and OggStream::AddPin().

OggPacketiser OggStream::mPacketiser [protected, inherited]
 

Definition at line 106 of file OggStream.h.

Referenced by OggStream::acceptOggPage(), OggStream::flush(), and OggStream::OggStream().

wstring FFDShowVideoStream::mPinName [protected]
 

Definition at line 68 of file FFDShowVideoStream.h.

Referenced by InitCodec().

bool OggStream::mSendExcess [protected, inherited]
 

Definition at line 114 of file OggStream.h.

Referenced by OggStream::setSendExcess().

unsigned long OggStream::mSerialNo [protected, inherited]
 

Definition at line 110 of file OggStream.h.

Referenced by OggStream::OggStream(), and OggStream::setSerialNo().

OggDemuxSourcePin* OggStream::mSourcePin [protected, inherited]
 

Definition at line 121 of file OggStream.h.

Referenced by OggStream::AddPin(), and OggStream::dispatchPacket().

CCritSec* OggStream::mStreamLock [protected, inherited]
 

Definition at line 123 of file OggStream.h.

Referenced by OggStream::flush(), and OggStream::OggStream().

bool OggStream::mStreamReady [protected, inherited]
 

Definition at line 112 of file OggStream.h.

Referenced by OggStream::AddPin().


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