#include <renbase.h>

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 |
Definition at line 187 of file renbase.h.
| 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 | ( | ) |
| STDMETHODIMP CBaseVideoRenderer::SetSink | ( | IQualityControl * | piqc | ) |
| STDMETHODIMP CBaseVideoRenderer::Notify | ( | IBaseFilter * | pSelf, | |
| Quality | q | |||
| ) |
| 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] |
Definition at line 1451 of file renbase.cpp.
References ASSERT, m_cFramesDrawn, m_iSumFrameTime, m_iSumSqAcc, m_iSumSqFrameTime, m_iTotAcc, and MSR_INTEGER.
Referenced by OnDirectRender(), and OnRenderStart().
| void CBaseVideoRenderer::OnDirectRender | ( | IMediaSample * | pMediaSample | ) | [virtual] |
Definition at line 1510 of file renbase.cpp.
References m_trFrame, m_trLate, m_trRenderAvg, m_trRenderLast, RecordFrameLateness(), and ThrottleWait().
| HRESULT CBaseVideoRenderer::ResetStreamingTimes | ( | ) | [virtual] |
Definition at line 1363 of file renbase.cpp.
References m_cFramesDrawn, m_cFramesDropped, m_iSumFrameTime, m_iSumSqAcc, m_iSumSqFrameTime, m_iTotAcc, m_nNormal, m_trDuration, m_trEarliness, m_tRenderStart, m_trFrame, m_trFrameAvg, m_trLastDraw, m_trLate, m_trRememberStampForPerf, m_trRenderAvg, m_trRenderLast, m_trTarget, m_trThrottle, m_trWaitAvg, and m_tStreamingStart.
Referenced by CBaseVideoRenderer(), and OnStartStreaming().
| 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] |
Reimplemented from CBaseRenderer.
Definition at line 1718 of file renbase.cpp.
References ASSERT, AVGPERIOD, BOOL, E_FAIL, FALSE, hr, HRESULT, m_bSupplierHandlingQuality, m_nNormal, CBaseFilter::m_pClock, m_trDuration, m_trEarliness, m_trFrameAvg, m_trLastDraw, m_trRememberStampForPerf, m_trRenderAvg, m_trWaitAvg, MSR_INTEGER, PreparePerformanceData(), S_FALSE, S_OK, SendQuality(), TimeDiff(), TRUE, and UNITS.
| HRESULT CBaseVideoRenderer::SendQuality | ( | REFERENCE_TIME | trLate, | |
| REFERENCE_TIME | trRealStream | |||
| ) | [virtual] |
Definition at line 1599 of file renbase.cpp.
References ASSERT, CBasePin::GetConnected(), hr, HRESULT, CBaseRenderer::m_pInputPin, CBaseRenderer::m_pQSink, m_trFrameAvg, m_trRenderAvg, m_trWaitAvg, MSR_INTEGER, NULL, S_FALSE, and UNITS.
Referenced by ShouldDrawSampleNow().
| 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 | |||
| ) |
Definition at line 2116 of file renbase.cpp.
References ASSERT, CheckPointer, isqrt(), llMulDiv(), LONG, CBaseRenderer::m_InterfaceLock, CBaseFilter::m_pClock, and NULL.
Referenced by get_DevSyncOffset(), and get_Jitter().
| 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 | ) |
Definition at line 2051 of file renbase.cpp.
References ASSERT, CheckPointer, CBaseRenderer::m_bStreaming, m_cFramesDrawn, CBaseRenderer::m_InterfaceLock, and m_tStreamingStart.
| 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 | ) |
Definition at line 2073 of file renbase.cpp.
References CheckPointer, m_cFramesDrawn, CBaseRenderer::m_InterfaceLock, m_iTotAcc, CBaseFilter::m_pClock, and NULL.
| 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().
int CBaseVideoRenderer::m_nNormal [protected] |
Definition at line 210 of file renbase.h.
Referenced by ResetStreamingTimes(), and ShouldDrawSampleNow().
BOOL CBaseVideoRenderer::m_bSupplierHandlingQuality [protected] |
int CBaseVideoRenderer::m_trThrottle [protected] |
Definition at line 243 of file renbase.h.
Referenced by Notify(), ResetStreamingTimes(), and ThrottleWait().
int CBaseVideoRenderer::m_trRenderAvg [protected] |
Definition at line 248 of file renbase.h.
Referenced by OnDirectRender(), OnRenderEnd(), ResetStreamingTimes(), SendQuality(), and ShouldDrawSampleNow().
int CBaseVideoRenderer::m_trRenderLast [protected] |
Definition at line 249 of file renbase.h.
Referenced by OnDirectRender(), OnRenderEnd(), and ResetStreamingTimes().
int CBaseVideoRenderer::m_tRenderStart [protected] |
Definition at line 250 of file renbase.h.
Referenced by OnRenderEnd(), OnRenderStart(), and ResetStreamingTimes().
int CBaseVideoRenderer::m_trEarliness [protected] |
Definition at line 257 of file renbase.h.
Referenced by ResetStreamingTimes(), and ShouldDrawSampleNow().
int CBaseVideoRenderer::m_trTarget [protected] |
int CBaseVideoRenderer::m_trWaitAvg [protected] |
Definition at line 272 of file renbase.h.
Referenced by ResetStreamingTimes(), SendQuality(), and ShouldDrawSampleNow().
int CBaseVideoRenderer::m_trFrameAvg [protected] |
Definition at line 279 of file renbase.h.
Referenced by ResetStreamingTimes(), SendQuality(), and ShouldDrawSampleNow().
int CBaseVideoRenderer::m_trDuration [protected] |
Definition at line 280 of file renbase.h.
Referenced by ResetStreamingTimes(), and ShouldDrawSampleNow().
REFERENCE_TIME CBaseVideoRenderer::m_trRememberStampForPerf [protected] |
Definition at line 300 of file renbase.h.
Referenced by OnWaitEnd(), ResetStreamingTimes(), and ShouldDrawSampleNow().
int CBaseVideoRenderer::m_cFramesDropped [protected] |
Definition at line 314 of file renbase.h.
Referenced by get_FramesDroppedInRenderer(), ResetStreamingTimes(), and ScheduleSample().
int CBaseVideoRenderer::m_cFramesDrawn [protected] |
Definition at line 315 of file renbase.h.
Referenced by get_AvgFrameRate(), get_AvgSyncOffset(), get_DevSyncOffset(), get_FramesDrawn(), get_Jitter(), RecordFrameLateness(), and ResetStreamingTimes().
LONGLONG CBaseVideoRenderer::m_iTotAcc [protected] |
Definition at line 319 of file renbase.h.
Referenced by get_AvgSyncOffset(), get_DevSyncOffset(), RecordFrameLateness(), and ResetStreamingTimes().
LONGLONG CBaseVideoRenderer::m_iSumSqAcc [protected] |
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().
LONGLONG CBaseVideoRenderer::m_iSumSqFrameTime [protected] |
Definition at line 324 of file renbase.h.
Referenced by get_Jitter(), RecordFrameLateness(), and ResetStreamingTimes().
LONGLONG CBaseVideoRenderer::m_iSumFrameTime [protected] |
Definition at line 325 of file renbase.h.
Referenced by get_Jitter(), RecordFrameLateness(), and ResetStreamingTimes().
int CBaseVideoRenderer::m_trLate [protected] |
Definition at line 332 of file renbase.h.
Referenced by OnDirectRender(), OnRenderStart(), PreparePerformanceData(), and ResetStreamingTimes().
int CBaseVideoRenderer::m_trFrame [protected] |
Definition at line 333 of file renbase.h.
Referenced by OnDirectRender(), OnRenderStart(), PreparePerformanceData(), and ResetStreamingTimes().
int CBaseVideoRenderer::m_tStreamingStart [protected] |
Definition at line 335 of file renbase.h.
Referenced by get_AvgFrameRate(), OnStopStreaming(), and ResetStreamingTimes().
1.5.6