#include <OggDemuxPacketSourceFilter.h>
Inheritance diagram for OggDemuxPacketSourceFilter:


Public Types | |
| enum | eThreadCommands { THREAD_EXIT = 0, THREAD_PAUSE = 1, THREAD_RUN = 2 } |
Public Member Functions | |
| virtual bool | acceptOggPage (OggPage *inOggPage) |
| 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 *inCapabilities) |
| virtual STDMETHODIMP | GetCurFile (LPOLESTR *outFileName, AM_MEDIA_TYPE *outMediaType) |
| virtual STDMETHODIMP | GetCurrentPosition (LONGLONG *pCurrent) |
| virtual STDMETHODIMP | GetDuration (LONGLONG *outDuration) |
| virtual __int64 | getGlobalBaseTime () |
| vector< OggPage * > | getMatchingBufferedPages (unsigned long inSerialNo) |
| ULONG STDMETHODCALLTYPE | GetMiscFlags (void) |
| virtual CBasePin * | GetPin (int inPinNo) |
| virtual int | GetPinCount () |
| 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) |
| virtual STDMETHODIMP | Load (LPCOLESTR inFileName, const AM_MEDIA_TYPE *inMediaType) |
| DECLARE_IUNKNOWN STDMETHODIMP | NonDelegatingQueryInterface (REFIID riid, void **ppv) |
| virtual void | notifyPinConnected () |
| virtual bool | notifyStreamBaseTime (__int64 inStreamBaseTime) |
| OggDemuxPacketSourceFilter (void) | |
| STDMETHODIMP | Pause (void) |
| virtual STDMETHODIMP | QueryPreferredFormat (GUID *pFormat) |
| bool | ReleaseDelegate () |
| void | removeMatchingBufferedPages (unsigned long inSerialNo) |
| STDMETHODIMP | Run (REFERENCE_TIME tStart) |
| bool | SetDelegate (IMediaSeeking *inDelegate) |
| virtual STDMETHODIMP | SetPositions (LONGLONG *pCurrent, DWORD dwCurrentFlags, LONGLONG *pStop, DWORD dwStopFlags) |
| virtual STDMETHODIMP | SetRate (double dRate) |
| virtual STDMETHODIMP | SetTimeFormat (const GUID *pFormat) |
| STDMETHODIMP | Stop (void) |
| CCritSec * | streamLock () |
| virtual DWORD | ThreadProc (void) |
| virtual | ~OggDemuxPacketSourceFilter (void) |
Static Public Member Functions | |
| CUnknown *WINAPI | CreateInstance (LPUNKNOWN pUnk, HRESULT *pHr) |
Protected Member Functions | |
| HRESULT | DataProcessLoop () |
| void | DeliverBeginFlush () |
| void | DeliverEndFlush () |
| void | DeliverEOS () |
| void | DeliverNewSegment (REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate) |
| void | resetStream () |
| virtual HRESULT | SetUpPins () |
Protected Attributes | |
| vector< OggPage * > | mBufferedPages |
| IFilterDataSource * | mDataSource |
| CCritSec * | mDemuxLock |
| wstring | mFileName |
| __int64 | mGlobalBaseTime |
| HRESULT | mHR |
| bool | mJustReset |
| OggDataBuffer | mOggBuffer |
| OggPage * | mPendingPage |
| IMediaSeeking * | mSeekDelegate |
| DWORD | mSeekingCap |
| AutoOggChainGranuleSeekTable * | mSeekTable |
| bool | mSeenAllBOSPages |
| bool | mSeenPositiveGranulePos |
| CCritSec * | mSourceFileLock |
| CCritSec * | mStreamLock |
| OggStreamMapper * | mStreamMapper |
Static Protected Attributes | |
| const unsigned long | SETUP_BUFFER_SIZE = 24 |
|
|
Definition at line 57 of file OggDemuxPacketSourceFilter.h. |
|
|
Definition at line 106 of file OggDemuxPacketSourceFilter.cpp. References false, mDemuxLock, mSourceFileLock, mStreamLock, mStreamMapper, and true. Referenced by CreateInstance(). |
|
|
Definition at line 128 of file OggDemuxPacketSourceFilter.cpp. References IFilterDataSource::close(), and mDataSource. |
Here is the call graph for this function:

|
|
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 263 of file OggDemuxPacketSourceFilter.cpp. References OggStreamMapper::acceptOggPage(), OggPageHeader::GranulePos(), OggPage::header(), OggPageHeader::isBOS(), mBufferedPages, mSeenAllBOSPages, mSeenPositiveGranulePos, and mStreamMapper. |
Here is the call graph for this function:

|
|
Reimplemented from BasicSeekPassThrough. Definition at line 578 of file OggDemuxPacketSourceFilter.cpp. |
|
||||||||||||||||||||
|
Reimplemented from BasicSeekPassThrough. Definition at line 633 of file OggDemuxPacketSourceFilter.cpp. |
|
||||||||||||
|
Definition at line 62 of file OggDemuxPacketSourceFilter.cpp. References OggDemuxPacketSourceFilter(). |
Here is the call graph for this function:

|
|
Definition at line 485 of file OggDemuxPacketSourceFilter.cpp. References DeliverEOS(), OggDataBuffer::feed(), IFilterDataSource::isEOF(), mDataSource, mDemuxLock, mJustReset, mOggBuffer, mSourceFileLock, and IFilterDataSource::read(). Referenced by ThreadProc(). |
Here is the call graph for this function:

|
|
Definition at line 177 of file OggDemuxPacketSourceFilter.cpp. References OggDemuxPacketSourcePin::DeliverBeginFlush(), OggStreamMapper::getPinByIndex(), mStreamMapper, OggStreamMapper::numPins(), and resetStream(). Referenced by SetPositions(), and Stop(). |
Here is the call graph for this function:

|
|
Definition at line 191 of file OggDemuxPacketSourceFilter.cpp. References OggDemuxPacketSourcePin::DeliverEndFlush(), OggStreamMapper::getPinByIndex(), mStreamMapper, and OggStreamMapper::numPins(). Referenced by SetPositions(), and Stop(). |
Here is the call graph for this function:

|
|
Definition at line 216 of file OggDemuxPacketSourceFilter.cpp. References OggDemuxPacketSourcePin::DeliverEndOfStream(), OggStreamMapper::getPinByIndex(), mStreamMapper, OggStreamMapper::numPins(), and resetStream(). Referenced by DataProcessLoop(). |
Here is the call graph for this function:

|
||||||||||||||||
|
Definition at line 229 of file OggDemuxPacketSourceFilter.cpp. References OggDemuxPacketSourcePin::DeliverNewSegment(), OggStreamMapper::getPinByIndex(), mStreamMapper, and OggStreamMapper::numPins(). Referenced by SetPositions(). |
Here is the call graph for this function:

|
||||||||||||
|
Reimplemented from BasicSeekPassThrough. Definition at line 687 of file OggDemuxPacketSourceFilter.cpp. References AutoOggChainGranuleSeekTable::enabled(), AutoOggChainGranuleSeekTable::fileDuration(), and mSeekTable. |
Here is the call graph for this function:

|
|
Reimplemented from BasicSeekPassThrough. Definition at line 553 of file OggDemuxPacketSourceFilter.cpp. References AutoOggChainGranuleSeekTable::enabled(), and mSeekTable. |
Here is the call graph for this function:

|
||||||||||||
|
Definition at line 383 of file OggDemuxPacketSourceFilter.cpp. References mFileName, and outFileName. |
|
|
Reimplemented from BasicSeekPassThrough. Definition at line 626 of file OggDemuxPacketSourceFilter.cpp. |
|
|
Reimplemented from BasicSeekPassThrough. Definition at line 565 of file OggDemuxPacketSourceFilter.cpp. References AutoOggChainGranuleSeekTable::enabled(), AutoOggChainGranuleSeekTable::fileDuration(), and mSeekTable. |
Here is the call graph for this function:

|
|
Implements IOggBaseTime. Definition at line 741 of file OggDemuxPacketSourceFilter.cpp. |
|
|
Definition at line 342 of file OggDemuxPacketSourceFilter.cpp. References mBufferedPages. Referenced by OggDemuxPacketSourcePin::CompleteConnect(). |
|
|
Definition at line 439 of file OggDemuxPacketSourceFilter.cpp. |
|
|
Definition at line 374 of file OggDemuxPacketSourceFilter.cpp. References OggStreamMapper::getPinByIndex(), and mStreamMapper. Referenced by notifyPinConnected(). |
Here is the call graph for this function:

|
|
Definition at line 369 of file OggDemuxPacketSourceFilter.cpp. References mStreamMapper, and OggStreamMapper::numPins(). Referenced by notifyPinConnected(). |
Here is the call graph for this function:

|
||||||||||||
|
Reimplemented from BasicSeekPassThrough. Definition at line 681 of file OggDemuxPacketSourceFilter.cpp. |
|
|
Reimplemented from BasicSeekPassThrough. Definition at line 713 of file OggDemuxPacketSourceFilter.cpp. |
|
|
Reimplemented from BasicSeekPassThrough. Definition at line 707 of file OggDemuxPacketSourceFilter.cpp. |
|
|
Reimplemented from BasicSeekPassThrough. Definition at line 612 of file OggDemuxPacketSourceFilter.cpp. References AutoOggChainGranuleSeekTable::enabled(), AutoOggChainGranuleSeekTable::fileDuration(), and mSeekTable. |
Here is the call graph for this function:

|
|
Reimplemented from BasicSeekPassThrough. Definition at line 608 of file OggDemuxPacketSourceFilter.cpp. |
|
|
Reimplemented from BasicSeekPassThrough. Definition at line 585 of file OggDemuxPacketSourceFilter.cpp. |
|
|
Reimplemented from BasicSeekPassThrough. Definition at line 720 of file OggDemuxPacketSourceFilter.cpp. |
|
||||||||||||
|
Definition at line 395 of file OggDemuxPacketSourceFilter.cpp. References mFileName, and SetUpPins(). |
Here is the call graph for this function:

|
||||||||||||
|
Definition at line 71 of file OggDemuxPacketSourceFilter.cpp. |
|
Here is the call graph for this function:

|
|
Definition at line 734 of file OggDemuxPacketSourceFilter.cpp. References mGlobalBaseTime. |
|
|
Definition at line 150 of file OggDemuxPacketSourceFilter.cpp. References THREAD_RUN. |
|
|
Reimplemented from BasicSeekPassThrough. Definition at line 599 of file OggDemuxPacketSourceFilter.cpp. |
|
|
|
Definition at line 352 of file OggDemuxPacketSourceFilter.cpp. References mBufferedPages. Referenced by OggDemuxPacketSourcePin::CompleteConnect(). |
|
|
Definition at line 237 of file OggDemuxPacketSourceFilter.cpp. References IFilterDataSource::clear(), OggDataBuffer::clearData(), IFilterDataSource::close(), DataSourceFactory::createDataSource(), mDataSource, mDemuxLock, mFileName, mJustReset, mOggBuffer, mSourceFileLock, IFilterDataSource::open(), and IFilterDataSource::seek(). Referenced by DeliverBeginFlush(), and DeliverEOS(). |
Here is the call graph for this function:

|
|
Definition at line 142 of file OggDemuxPacketSourceFilter.cpp. |
|
|
||||||||||||||||||||
|
Reimplemented from BasicSeekPassThrough. Definition at line 637 of file OggDemuxPacketSourceFilter.cpp. References DeliverBeginFlush(), DeliverEndFlush(), DeliverNewSegment(), AutoOggChainGranuleSeekTable::enabled(), AutoOggChainGranuleSeekTable::fileDuration(), mDataSource, mSeekTable, mSourceFileLock, IFilterDataSource::seek(), AutoOggChainGranuleSeekTable::seekPos(), and OggGranuleSeekTable::tSeekPair. |
Here is the call graph for this function:

|
|
Reimplemented from BasicSeekPassThrough. Definition at line 701 of file OggDemuxPacketSourceFilter.cpp. |
|
|
Reimplemented from BasicSeekPassThrough. Definition at line 604 of file OggDemuxPacketSourceFilter.cpp. |
|
Here is the call graph for this function:

|
|
Definition at line 164 of file OggDemuxPacketSourceFilter.cpp. References DeliverBeginFlush(), DeliverEndFlush(), and THREAD_EXIT. |
Here is the call graph for this function:

|
|
Definition at line 114 of file OggDemuxPacketSourceFilter.h. |
|
|
Definition at line 445 of file OggDemuxPacketSourceFilter.cpp. References DataProcessLoop(), THREAD_EXIT, and THREAD_RUN. |
Here is the call graph for this function:

|
|
Definition at line 145 of file OggDemuxPacketSourceFilter.h. Referenced by acceptOggPage(), getMatchingBufferedPages(), and removeMatchingBufferedPages(). |
|
|
Definition at line 148 of file OggDemuxPacketSourceFilter.h. Referenced by DataProcessLoop(), resetStream(), SetPositions(), SetUpPins(), and ~OggDemuxPacketSourceFilter(). |
|
|
Definition at line 137 of file OggDemuxPacketSourceFilter.h. Referenced by DataProcessLoop(), OggDemuxPacketSourceFilter(), resetStream(), and SetUpPins(). |
|
|
Definition at line 140 of file OggDemuxPacketSourceFilter.h. Referenced by GetCurFile(), Load(), notifyPinConnected(), resetStream(), and SetUpPins(). |
|
|
Definition at line 157 of file OggDemuxPacketSourceFilter.h. Referenced by notifyStreamBaseTime(). |
|
|
Reimplemented in FLACEncodeInputPin, OggRawAudioInserterInputPin, SpeexEncodeInputPin, TheoraEncodeInputPin, VorbisDecodeInputPin, VorbisEncodeInputPin, OggMuxFilter, AbstractTransformInputPin, and AbstractTransformOutputPin. Definition at line 76 of file BasicSeekPassThrough.h. |
|
|
Definition at line 154 of file OggDemuxPacketSourceFilter.h. Referenced by DataProcessLoop(), and resetStream(). |
|
|
Definition at line 147 of file OggDemuxPacketSourceFilter.h. Referenced by DataProcessLoop(), resetStream(), and SetUpPins(). |
|
|
Definition at line 144 of file OggDemuxPacketSourceFilter.h. |
|
|
|
Definition at line 77 of file |