FLACEncodeInputPin Class Reference

#include <FLACEncodeInputPin.h>

Inheritance diagram for FLACEncodeInputPin:

Inheritance graph
[legend]
Collaboration diagram for FLACEncodeInputPin:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 FLACEncodeInputPin (AbstractTransformFilter *inParentFilter, CCritSec *inFilterLock, AbstractTransformOutputPin *inOutputPin, vector< CMediaType * > inAcceptableMediaTypes)
virtual ~FLACEncodeInputPin (void)
virtual ::FLAC__StreamEncoderWriteStatus write_callback (const FLAC__byte buffer[], unsigned bytes, unsigned samples, unsigned current_frame)
virtual void metadata_callback (const ::FLAC__StreamMetadata *metadata)
virtual HRESULT SetMediaType (const CMediaType *inMediaType)
virtual STDMETHODIMP EndOfStream (void)
DECLARE_IUNKNOWN STDMETHODIMP NonDelegatingQueryInterface (REFIID riid, void **ppv)
virtual HRESULT BreakConnect ()
virtual HRESULT CompleteConnect (IPin *inReceivePin)
virtual HRESULT CheckMediaType (const CMediaType *inMediaType)
virtual HRESULT GetMediaType (int inPosition, CMediaType *outMediaType)
virtual STDMETHODIMP Receive (IMediaSample *pSample)
virtual STDMETHODIMP BeginFlush ()
virtual STDMETHODIMP EndFlush ()
virtual STDMETHODIMP NewSegment (REFERENCE_TIME inStartTime, REFERENCE_TIME inStopTime, double inRate)
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 Member Functions

virtual HRESULT TransformData (unsigned char *inBuf, long inNumBytes)
virtual bool ConstructCodec ()
virtual void DestroyCodec ()
virtual bool SetSampleParams (IMediaSample *outMediaSample, unsigned long inDataSize, REFERENCE_TIME *inStartTime, REFERENCE_TIME *inEndTime)

Protected Attributes

HRESULT mHR
WAVEFORMATEX * mWaveFormat
bool mTweakedHeaders
FLACHeaderTweaker mHeaderTweaker
bool mBegun
__int64 mUptoFrame
AbstractTransformOutputPinmOutputPin
AbstractTransformFiltermParentFilter
vector< CMediaType * > mAcceptableMediaTypes
CCritSec * mStreamLock
IMediaSeeking * mSeekDelegate
DWORD mSeekingCap

Static Protected Attributes

const short SIZE_16_BITS = 2
const signed short SINT_MAX = 32767
const signed short SINT_MIN = -32768

Friends

class AbstractTransformOutputPin

Constructor & Destructor Documentation

FLACEncodeInputPin::FLACEncodeInputPin AbstractTransformFilter inParentFilter,
CCritSec *  inFilterLock,
AbstractTransformOutputPin inOutputPin,
vector< CMediaType * >  inAcceptableMediaTypes
 

Definition at line 35 of file FLACEncodeInputPin.cpp.

References false.

FLACEncodeInputPin::~FLACEncodeInputPin void   )  [virtual]
 

Definition at line 47 of file FLACEncodeInputPin.cpp.

References DestroyCodec().

Here is the call graph for this function:


Member Function Documentation

STDMETHODIMP AbstractTransformInputPin::BeginFlush  )  [virtual, inherited]
 

Reimplemented in FLACDecodeInputPin.

Definition at line 149 of file AbstractTransformInputPin.cpp.

References AbstractTransformOutputPin::DeliverBeginFlush(), AbstractTransformFilter::mOutputPin, and AbstractTransformInputPin::mParentFilter.

Referenced by FLACDecodeInputPin::BeginFlush().

Here is the call graph for this function:

HRESULT AbstractTransformInputPin::BreakConnect  )  [virtual, inherited]
 

Definition at line 61 of file AbstractTransformInputPin.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 AbstractTransformInputPin::CheckMediaType const CMediaType *  inMediaType  )  [virtual, inherited]
 

Definition at line 127 of file AbstractTransformInputPin.cpp.

References AbstractTransformInputPin::mAcceptableMediaTypes.

HRESULT AbstractTransformInputPin::CompleteConnect IPin *  inReceivePin  )  [virtual, inherited]
 

Definition at line 68 of file AbstractTransformInputPin.cpp.

References BasicSeekPassThrough::SetDelegate().

Here is the call graph for this function:

bool FLACEncodeInputPin::ConstructCodec  )  [protected, virtual]
 

Implements AbstractTransformInputPin.

Definition at line 90 of file FLACEncodeInputPin.cpp.

References FLACEncodeFilter::mFLACFormatBlock, mWaveFormat, sFLACFormatBlock::numBitsPerSample, sFLACFormatBlock::numChannels, and sFLACFormatBlock::sampleRate.

Referenced by SetMediaType().

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.

void FLACEncodeInputPin::DestroyCodec  )  [protected, virtual]
 

Implements AbstractTransformInputPin.

Definition at line 109 of file FLACEncodeInputPin.cpp.

Referenced by ~FLACEncodeInputPin().

STDMETHODIMP AbstractTransformInputPin::EndFlush  )  [virtual, inherited]
 

Definition at line 155 of file AbstractTransformInputPin.cpp.

References AbstractTransformOutputPin::DeliverEndFlush(), AbstractTransformFilter::mOutputPin, and AbstractTransformInputPin::mParentFilter.

Here is the call graph for this function:

STDMETHODIMP FLACEncodeInputPin::EndOfStream void   )  [virtual]
 

Reimplemented from AbstractTransformInputPin.

Definition at line 250 of file FLACEncodeInputPin.cpp.

References AbstractTransformInputPin::EndOfStream().

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

Definition at line 170 of file AbstractTransformInputPin.cpp.

References AbstractTransformInputPin::mAcceptableMediaTypes.

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.

void FLACEncodeInputPin::metadata_callback const ::FLAC__StreamMetadata *  metadata  )  [virtual]
 

Definition at line 244 of file FLACEncodeInputPin.cpp.

STDMETHODIMP AbstractTransformInputPin::NewSegment REFERENCE_TIME  inStartTime,
REFERENCE_TIME  inStopTime,
double  inRate
[virtual, inherited]
 

Reimplemented in FLACDecodeInputPin, SpeexDecodeInputPin, and VorbisDecodeInputPin.

Definition at line 162 of file AbstractTransformInputPin.cpp.

References AbstractTransformOutputPin::DeliverNewSegment(), AbstractTransformFilter::mOutputPin, AbstractTransformInputPin::mParentFilter, and AbstractTransformInputPin::mStreamLock.

Referenced by VorbisDecodeInputPin::NewSegment(), SpeexDecodeInputPin::NewSegment(), and FLACDecodeInputPin::NewSegment().

Here is the call graph for this function:

STDMETHODIMP AbstractTransformInputPin::NonDelegatingQueryInterface REFIID  riid,
void **  ppv
[inherited]
 

Reimplemented in FLACDecodeInputPin, SpeexDecodeInputPin, and VorbisDecodeInputPin.

Definition at line 49 of file AbstractTransformInputPin.cpp.

Referenced by AbstractTransformOutputPin::CompleteConnect(), and VorbisDecodeInputPin::NonDelegatingQueryInterface().

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

Reimplemented in OggDemuxSourceFilter.

Definition at line 171 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

STDMETHODIMP AbstractTransformInputPin::Receive IMediaSample *  pSample  )  [virtual, inherited]
 

Definition at line 100 of file AbstractTransformInputPin.cpp.

References AbstractTransformInputPin::mStreamLock, and AbstractTransformInputPin::TransformData().

Referenced by SpeexDecodeInputPin::SpeexDecoded(), SpeexEncodeInputPin::SpeexEncoded(), VorbisDecodeInputPin::VorbisDecoded(), and VorbisEncodeInputPin::VorbisEncoded().

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

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

Implements AbstractTransformInputPin.

Definition at line 256 of file FLACEncodeInputPin.cpp.

References ConstructCodec(), and mWaveFormat.

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.

bool AbstractTransformInputPin::SetSampleParams IMediaSample *  outMediaSample,
unsigned long  inDataSize,
REFERENCE_TIME *  inStartTime,
REFERENCE_TIME *  inEndTime
[protected, virtual, inherited]
 

Definition at line 88 of file AbstractTransformInputPin.cpp.

References FALSE, and TRUE.

Referenced by TheoraEncodeInputPin::deliverData(), SpeexDecodeInputPin::SpeexDecoded(), SpeexEncodeInputPin::SpeexEncoded(), VorbisDecodeInputPin::VorbisDecoded(), VorbisEncodeInputPin::VorbisEncoded(), and write_callback().

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

Reimplemented in OggDemuxSourceFilter.

Definition at line 189 of file BasicSeekPassThrough.cpp.

References BasicSeekPassThrough::mSeekDelegate.

HRESULT FLACEncodeInputPin::TransformData unsigned char *  inBuf,
long  inNumBytes
[protected, virtual]
 

Implements AbstractTransformInputPin.

Definition at line 55 of file FLACEncodeInputPin.cpp.

References mBegun, FLACEncodeFilter::mFLACFormatBlock, sFLACFormatBlock::numBitsPerSample, and sFLACFormatBlock::numChannels.

FLAC__StreamEncoderWriteStatus FLACEncodeInputPin::write_callback const FLAC__byte  buffer[],
unsigned  bytes,
unsigned  samples,
unsigned  current_frame
 

Definition at line 118 of file FLACEncodeInputPin.cpp.

References FLACHeaderTweaker::acceptHeader(), FLACHeaderTweaker::getHeader(), AbstractTransformOutputPin::mDataQueue, mHeaderTweaker, mTweakedHeaders, mUptoFrame, FLACHeaderTweaker::numNewHeaders(), OggPacket::packetData(), OggPacket::packetSize(), and AbstractTransformInputPin::SetSampleParams().

Here is the call graph for this function:


Friends And Related Function Documentation

friend class AbstractTransformOutputPin [friend, inherited]
 

Definition at line 57 of file AbstractTransformInputPin.h.


Member Data Documentation

vector<CMediaType*> AbstractTransformInputPin::mAcceptableMediaTypes [protected, inherited]
 

Definition at line 103 of file AbstractTransformInputPin.h.

Referenced by AbstractTransformInputPin::CheckMediaType(), AbstractTransformInputPin::GetMediaType(), and AbstractTransformInputPin::~AbstractTransformInputPin().

bool FLACEncodeInputPin::mBegun [protected]
 

Definition at line 77 of file FLACEncodeInputPin.h.

Referenced by TransformData().

FLACHeaderTweaker FLACEncodeInputPin::mHeaderTweaker [protected]
 

Definition at line 75 of file FLACEncodeInputPin.h.

Referenced by write_callback().

HRESULT FLACEncodeInputPin::mHR [protected]
 

Reimplemented from AbstractTransformInputPin.

Definition at line 72 of file FLACEncodeInputPin.h.

AbstractTransformOutputPin* AbstractTransformInputPin::mOutputPin [protected, inherited]
 

Definition at line 101 of file AbstractTransformInputPin.h.

Referenced by SpeexDecodeInputPin::SpeexDecoded(), SpeexEncodeInputPin::SpeexEncoded(), VorbisDecodeInputPin::VorbisDecoded(), and VorbisEncodeInputPin::VorbisEncoded().

AbstractTransformFilter* AbstractTransformInputPin::mParentFilter [protected, inherited]
 

Definition at line 102 of file AbstractTransformInputPin.h.

Referenced by AbstractTransformInputPin::BeginFlush(), AbstractTransformInputPin::EndFlush(), AbstractTransformInputPin::EndOfStream(), and AbstractTransformInputPin::NewSegment().

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

CCritSec* AbstractTransformInputPin::mStreamLock [protected, inherited]
 

Definition at line 106 of file AbstractTransformInputPin.h.

Referenced by AbstractTransformInputPin::AbstractTransformInputPin(), AbstractTransformInputPin::EndOfStream(), AbstractTransformInputPin::NewSegment(), and AbstractTransformInputPin::Receive().

bool FLACEncodeInputPin::mTweakedHeaders [protected]
 

Definition at line 74 of file FLACEncodeInputPin.h.

Referenced by write_callback().

__int64 FLACEncodeInputPin::mUptoFrame [protected]
 

Definition at line 79 of file FLACEncodeInputPin.h.

Referenced by write_callback().

WAVEFORMATEX* FLACEncodeInputPin::mWaveFormat [protected]
 

Definition at line 73 of file FLACEncodeInputPin.h.

Referenced by ConstructCodec(), and SetMediaType().

const signed short AbstractTransformInputPin::SINT_MAX = 32767 [static, protected, inherited]
 

Definition at line 88 of file AbstractTransformInputPin.h.

const signed short AbstractTransformInputPin::SINT_MIN = -32768 [static, protected, inherited]
 

Definition at line 89 of file AbstractTransformInputPin.h.

const short AbstractTransformInputPin::SIZE_16_BITS = 2 [static, protected, inherited]
 

Definition at line 87 of file AbstractTransformInputPin.h.


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