CBaseVideoRenderer Class Reference

#include <renbase.h>

Inheritance diagram for CBaseVideoRenderer:

CBaseRenderer CBaseFilter CUnknown CBaseObject

List of all members.

Public Member Functions

 CBaseVideoRenderer (REFCLSID RenderClass, TCHAR *pName, LPUNKNOWN pUnk, HRESULT *phr)
 ~CBaseVideoRenderer ()
STDMETHODIMP SetSink (IQualityControl *piqc)
STDMETHODIMP Notify (IBaseFilter *pSelf, Quality q)
void OnRenderStart (IMediaSample *pMediaSample)
void OnRenderEnd (IMediaSample *pMediaSample)
void OnWaitStart ()
void OnWaitEnd ()
HRESULT OnStartStreaming ()
HRESULT OnStopStreaming ()
void ThrottleWait ()
void PreparePerformanceData (int trLate, int trFrame)
virtual void RecordFrameLateness (int trLate, int trFrame)
virtual void OnDirectRender (IMediaSample *pMediaSample)
virtual HRESULT ResetStreamingTimes ()
BOOL ScheduleSample (IMediaSample *pMediaSample)
HRESULT ShouldDrawSampleNow (IMediaSample *pMediaSample, REFERENCE_TIME *ptrStart, REFERENCE_TIME *ptrEnd)
virtual HRESULT SendQuality (REFERENCE_TIME trLate, REFERENCE_TIME trRealStream)
STDMETHODIMP JoinFilterGraph (IFilterGraph *pGraph, LPCWSTR pName)
HRESULT GetStdDev (int nSamples, int *piResult, LONGLONG llSumSq, LONGLONG iTot)
STDMETHODIMP get_FramesDroppedInRenderer (int *cFramesDropped)
STDMETHODIMP get_FramesDrawn (int *pcFramesDrawn)
STDMETHODIMP get_AvgFrameRate (int *piAvgFrameRate)
STDMETHODIMP get_Jitter (int *piJitter)
STDMETHODIMP get_AvgSyncOffset (int *piAvg)
STDMETHODIMP get_DevSyncOffset (int *piDev)
DECLARE_IUNKNOWN STDMETHODIMP NonDelegatingQueryInterface (REFIID riid, VOID **ppv)

Protected Attributes

int m_nNormal
BOOL m_bSupplierHandlingQuality
int m_trThrottle
int m_trRenderAvg
int m_trRenderLast
int m_tRenderStart
int m_trEarliness
int m_trTarget
int m_trWaitAvg
int m_trFrameAvg
int m_trDuration
REFERENCE_TIME m_trRememberStampForPerf
int m_cFramesDropped
int m_cFramesDrawn
LONGLONG m_iTotAcc
LONGLONG m_iSumSqAcc
REFERENCE_TIME m_trLastDraw
LONGLONG m_iSumSqFrameTime
LONGLONG m_iSumFrameTime
int m_trLate
int m_trFrame
int m_tStreamingStart


Detailed Description

Definition at line 187 of file renbase.h.


Constructor & Destructor Documentation

CBaseVideoRenderer::CBaseVideoRenderer ( REFCLSID  RenderClass,
TCHAR pName,
LPUNKNOWN  pUnk,
HRESULT *  phr 
)

Definition at line 1322 of file renbase.cpp.

References FALSE, MSR_REGISTER, and ResetStreamingTimes().

CBaseVideoRenderer::~CBaseVideoRenderer (  ) 

Definition at line 1358 of file renbase.cpp.

References ASSERT, and CBaseRenderer::m_dwAdvise.


Member Function Documentation

STDMETHODIMP CBaseVideoRenderer::SetSink ( IQualityControl *  piqc  ) 

Definition at line 1545 of file renbase.cpp.

References CBaseRenderer::m_pQSink.

STDMETHODIMP CBaseVideoRenderer::Notify ( IBaseFilter *  pSelf,
Quality  q 
)

Definition at line 1553 of file renbase.cpp.

References m_trThrottle.

void CBaseVideoRenderer::OnRenderStart ( IMediaSample *  pMediaSample  )  [virtual]

Reimplemented from CBaseRenderer.

Definition at line 1522 of file renbase.cpp.

References m_tRenderStart, m_trFrame, m_trLate, and RecordFrameLateness().

void CBaseVideoRenderer::OnRenderEnd ( IMediaSample *  pMediaSample  )  [virtual]

Reimplemented from CBaseRenderer.

Definition at line 1529 of file renbase.cpp.

References AVGPERIOD, m_tRenderStart, m_trRenderAvg, m_trRenderLast, and ThrottleWait().

void CBaseVideoRenderer::OnWaitStart (  )  [virtual]

Reimplemented from CBaseRenderer.

Definition at line 1406 of file renbase.cpp.

References MSR_START.

void CBaseVideoRenderer::OnWaitEnd (  )  [virtual]

Reimplemented from CBaseRenderer.

Definition at line 1411 of file renbase.cpp.

References CBaseFilter::m_pClock, m_trRememberStampForPerf, MSR_STOP, and PreparePerformanceData().

HRESULT CBaseVideoRenderer::OnStartStreaming (  )  [virtual]

Reimplemented from CBaseRenderer.

Definition at line 1394 of file renbase.cpp.

References ResetStreamingTimes().

HRESULT CBaseVideoRenderer::OnStopStreaming (  )  [virtual]

Reimplemented from CBaseRenderer.

Definition at line 1400 of file renbase.cpp.

References m_tStreamingStart.

void CBaseVideoRenderer::ThrottleWait (  ) 

Definition at line 1498 of file renbase.cpp.

References DbgLog, LOG_TRACE, m_trThrottle, and MSR_INTEGER.

Referenced by OnDirectRender(), and OnRenderEnd().

void CBaseVideoRenderer::PreparePerformanceData ( int  trLate,
int  trFrame 
)

Definition at line 1445 of file renbase.cpp.

References m_trFrame, and m_trLate.

Referenced by OnWaitEnd(), and ShouldDrawSampleNow().

void CBaseVideoRenderer::RecordFrameLateness ( int  trLate,
int  trFrame 
) [virtual]

void CBaseVideoRenderer::OnDirectRender ( IMediaSample *  pMediaSample  )  [virtual]

HRESULT CBaseVideoRenderer::ResetStreamingTimes (  )  [virtual]

BOOL CBaseVideoRenderer::ScheduleSample ( IMediaSample *  pMediaSample  )  [virtual]

Reimplemented from CBaseRenderer.

Definition at line 2019 of file renbase.cpp.

References BOOL, FALSE, m_cFramesDropped, CBaseRenderer::ScheduleSample(), and TRUE.

HRESULT CBaseVideoRenderer::ShouldDrawSampleNow ( IMediaSample *  pMediaSample,
REFERENCE_TIME *  ptrStart,
REFERENCE_TIME *  ptrEnd 
) [virtual]

HRESULT CBaseVideoRenderer::SendQuality ( REFERENCE_TIME  trLate,
REFERENCE_TIME  trRealStream 
) [virtual]

STDMETHODIMP CBaseVideoRenderer::JoinFilterGraph ( IFilterGraph *  pGraph,
LPCWSTR  pName 
)

Reimplemented from CBaseFilter.

Definition at line 2187 of file renbase.cpp.

References CBaseFilter::JoinFilterGraph(), CBaseFilter::m_pGraph, and CBaseFilter::NotifyEvent().

HRESULT CBaseVideoRenderer::GetStdDev ( int  nSamples,
int *  piResult,
LONGLONG  llSumSq,
LONGLONG  iTot 
)

STDMETHODIMP CBaseVideoRenderer::get_FramesDroppedInRenderer ( int *  cFramesDropped  ) 

Definition at line 2035 of file renbase.cpp.

References CheckPointer, m_cFramesDropped, and CBaseRenderer::m_InterfaceLock.

STDMETHODIMP CBaseVideoRenderer::get_FramesDrawn ( int *  pcFramesDrawn  ) 

Definition at line 2043 of file renbase.cpp.

References CheckPointer, m_cFramesDrawn, and CBaseRenderer::m_InterfaceLock.

STDMETHODIMP CBaseVideoRenderer::get_AvgFrameRate ( int *  piAvgFrameRate  ) 

STDMETHODIMP CBaseVideoRenderer::get_Jitter ( int *  piJitter  ) 

Definition at line 2162 of file renbase.cpp.

References GetStdDev(), m_cFramesDrawn, m_iSumFrameTime, and m_iSumSqFrameTime.

STDMETHODIMP CBaseVideoRenderer::get_AvgSyncOffset ( int *  piAvg  ) 

STDMETHODIMP CBaseVideoRenderer::get_DevSyncOffset ( int *  piDev  ) 

Definition at line 2152 of file renbase.cpp.

References GetStdDev(), m_cFramesDrawn, m_iSumSqAcc, and m_iTotAcc.

STDMETHODIMP CBaseVideoRenderer::NonDelegatingQueryInterface ( REFIID  riid,
VOID **  ppv 
)

Definition at line 2174 of file renbase.cpp.

References GetInterface(), and CBaseRenderer::NonDelegatingQueryInterface().


Member Data Documentation

Definition at line 210 of file renbase.h.

Referenced by ResetStreamingTimes(), and ShouldDrawSampleNow().

Definition at line 219 of file renbase.h.

Referenced by ShouldDrawSampleNow().

Definition at line 243 of file renbase.h.

Referenced by Notify(), ResetStreamingTimes(), and ThrottleWait().

Definition at line 249 of file renbase.h.

Referenced by OnDirectRender(), OnRenderEnd(), and ResetStreamingTimes().

Definition at line 250 of file renbase.h.

Referenced by OnRenderEnd(), OnRenderStart(), and ResetStreamingTimes().

Definition at line 257 of file renbase.h.

Referenced by ResetStreamingTimes(), and ShouldDrawSampleNow().

Definition at line 267 of file renbase.h.

Referenced by ResetStreamingTimes().

Definition at line 272 of file renbase.h.

Referenced by ResetStreamingTimes(), SendQuality(), and ShouldDrawSampleNow().

Definition at line 279 of file renbase.h.

Referenced by ResetStreamingTimes(), SendQuality(), and ShouldDrawSampleNow().

Definition at line 280 of file renbase.h.

Referenced by ResetStreamingTimes(), and ShouldDrawSampleNow().

Definition at line 300 of file renbase.h.

Referenced by OnWaitEnd(), ResetStreamingTimes(), and ShouldDrawSampleNow().

Definition at line 314 of file renbase.h.

Referenced by get_FramesDroppedInRenderer(), ResetStreamingTimes(), and ScheduleSample().

Definition at line 320 of file renbase.h.

Referenced by get_DevSyncOffset(), RecordFrameLateness(), and ResetStreamingTimes().

REFERENCE_TIME CBaseVideoRenderer::m_trLastDraw [protected]

Definition at line 323 of file renbase.h.

Referenced by ResetStreamingTimes(), and ShouldDrawSampleNow().

Definition at line 324 of file renbase.h.

Referenced by get_Jitter(), RecordFrameLateness(), and ResetStreamingTimes().

Definition at line 325 of file renbase.h.

Referenced by get_Jitter(), RecordFrameLateness(), and ResetStreamingTimes().

Definition at line 335 of file renbase.h.

Referenced by get_AvgFrameRate(), OnStopStreaming(), and ResetStreamingTimes().


The documentation for this class was generated from the following files:

Generated on Sun May 25 00:20:37 2008 by  doxygen 1.5.6