DirectShow DirectShow 레퍼런스 DirectShow base class base class 레퍼런스 CBaseVideoRenderer [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
CBaseVideoRenderer base class는, 비디오 렌더러 필터를 구축하기 위해서 사용된다.
프로텍트 데이터 멤버
m_bDrawLateFrames | 프레임이 드롭 되지 않는 것을 통지하는 플래그. 디버그 전용. 이것은 동기를 파기한다. |
m_bSupplierHandlingQuality | TRUE 는 품질 컨트롤 메시지가 처리되는 것을 나타낸다. 이것에 의해, 렌더러는 프레임 자체가 드롭 할 때까지 대기해, 사프라이야가 프레임을 드롭 한 직후에 다음의 프레임을 표시할 수가 있다. |
m_cFramesDrawn | 스트리밍이 시작 된 후에 드로잉(Drawing) 된 프레임의 합계수. |
m_cFramesDropped | 스트리밍이 시작 된 후, 렌더러로 드롭 된 누적 프레임수. 프레임은 업 스트림에서도 드롭 할 수 있다. 그 경우, 프레임은 렌더러로 인식되지 않는다. |
m_idDecision | ShouldDrawSampleNow 의 결정 코드의 MSR_id. |
m_idDuration | 프레임의 시간폭의 MSR_id. |
m_idFrameAccuracy | 프레임이 지연 한 시간의 퍼포먼스 로그 식별자 (밀리 세컨드 단위). |
m_idFrameAvg | 동기 및 품질 컨트롤로 사용되는 평균 프레임 시간의 퍼포먼스 로그 식별자. |
m_idQualityRate | 요구된 품질 레이트의 MSR_id. |
m_idQualityTime | 요구된 품질 타임의 MSR_id. |
m_idRenderAvg | 기록된 평균 렌더러 시간의 퍼포먼스 로그 식별자. |
m_idSchLateTime | 스케줄시의 프레임의 지연을 나타내는 MSR_id. |
m_idSendQuality | 통지의 타이밍의 MSR_id (사용되지 않는다). |
m_idTimeStamp | 프레임의 |
m_idWait | 기록된 대기 시간의 퍼포먼스 로그 식별자 (사용되지 않는다). |
m_idWaitReal | 실제의 대기 시간의 퍼포먼스 로그 식별자. |
m_iSumFrameTime | 프레임간의 시간의 합계. 프로퍼티 페이지로 필요하게 된다. |
m_iSumSqAcc | 프로퍼티 페이지로 필요한 정밀도 (밀리 세컨드 단위)의 2 승의 합계. |
m_iSumSqFrameTime | 프레임간의 시간의 2 승의 합계. 프로퍼티 페이지로 필요하게 된다. |
m_iTotAcc | 프로퍼티 페이지로 필요한 정밀도 (밀리 세컨드 단위)의 합계. |
m_nNormal | 스케줄 된 시간에 드로잉(Drawing) 되는 연속하는 프레임의 수. 부의 수는, 프레임이 렌더러에 의해 드롭 된 것을 나타낸다. |
m_trDuration | 마지막 프레임의 시간폭 (시작 타임과 종료 타임의 차이). |
m_trEarliness | 프레임이 드롭 되었을 경우에, 어느 정도 빨리 프레임을 재생할 수 있을까. |
m_trFrame | 마지막에 기록된 프레임간의 시간. 통계적 측정으로 사용된다. |
m_trFrameAvg | |
m_trLastDraw | 전의 프레임의 시간. 프레임간의 시간의 참조로 사용된다. |
m_trLate | 현재의 프레임이 지연 할 시간. 통계적 측정으로 사용된다. |
m_trRenderAvg | 프레임이 비트 블록 전송을 실행하기 위해서 걸리는 시간. |
m_trRenderLast | 마지막 프레임의 비트 블록 전송의 시간. |
m_trRenderLast | 비트 블록 전송을 시작 할 시간. m_trRenderLast 를 얻어오기 위해 사용된다. |
m_trThrottle | 각 프레임을 렌더링 한 후에 삽입하는 시간. 보통, 오디오의 품질을 향상시켰을 때에 사용되어 이것을 실시하기 위해서(때문에) 비디오의 퍼포먼스를 저하시킬 필요가 있다. |
m_trWaitAvg | 기준 타임의 단위에서의 평균 대기 시간. |
m_tStreamingStart | 프로퍼티 페이지의 통계로 사용된다. 현재의 스트리밍 처리의 시작 타임, 또는 현재 스트리밍을 하지 않은 경우는 전의 스트리밍 처리의 시작 타임을 나타낸다. |
멤버 함수
CBaseVideoRenderer | CBaseVideoRenderer 개체를 생성 한다. |
GetStdDev | 프레임마다 통계로서 각 프레임의 예정 시간과 실제로 렌더링 된 시간과의 표준 편차를 예측한다. |
PreparePerformanceData | 현재의 프레임의 m_trLate 및 m_trFrame 의 값을 설정한다. |
ThrottleWait | 각 프레임의 뒤에 대기 시간을 삽입한다. |
오버라이드(override) 가능한 멤버 함수
JoinFilterGraph | 필터가 필터 그래프로부터 삭제되었을 때에,EC_WINDOW_DESTROYED 이벤트 통지를 송신한다. |
OnDirectRender | 동기 및 품질 컨트롤을 제어하는 타이밍 정보를 수집한다. |
OnRenderEnd | 품질 컨트롤 및 동기의 정보를 기록한다. |
OnRenderStart | 품질 컨트롤 및 동기의 정보를 기록한다. |
OnStartStreaming | 스트리밍을 제어하는 모든 시간을 리셋 한다. |
OnStopStreaming | 프로퍼티 페이지의 리포트용으로 시간을 수정하기 위해서, 스트리밍의 마지막에 호출된다. |
OnWaitEnd | 대기 시간의 종료시에 호출된다. 퍼포먼스 로그 전용. |
OnWaitStart | 대기하고 있던 시간으로 대기하고 있지 않았던 시간을 갱신한다. 퍼포먼스 로그 전용. |
RecordFrameLateness | 렌더링이 어느 정도 늦지 않고에 행해졌는지를 기록해, 프로퍼티 페이지의 통계 정보를 수집한다. |
ResetStreamingTimes | 스트리밍을 제어하는 모든 시간을 리셋 한다. |
ScheduleSample | 클럭을 사용해 아드바이즈린크를 설정한다. |
SendQuality | 사프라이야가 품질에 관해서 실행하는 처리를 나타내는 품질 메시지를 송신한다. |
ShouldDrawSampleNow | 클럭을 사용해 타이머의 아드바이즈린크를 설정하지 않고 , 비디오를 예정대로에 드로잉(Drawing) 할지 어떨지를 판단한다. |
처리 되는 IQualProp 메서드
get_AvgFrameRate | 스트리밍이 시작 된 후의 평균 frame rate를, 100 초 쯤의 프레임수단위로 얻어온다. |
get_AvgSyncOffset | 각 프레임의 예정 시간과 실제로 렌더링 된 시간의 사이의 평균 시간을 밀리 세컨드 단위로 얻어온다. 이것은, 스트리밍이 시작 된 후, 모든 프레임에 적용된다. |
get_DevSyncOffset | 스트리밍이 시작 된 후의 모든 프레임에 대해, 각 프레임의 예정 시간과 실제로 렌더링 된 시간의 사이의 밀리 세컨드 단위의 시간의 표준 편차를 얻어온다. |
get_FramesDrawn | 스트리밍의 시작 후에 드로잉(Drawing) 된 프레임수를 얻어온다. |
get_FramesDroppedInRenderer | 렌더러에 의해 드롭 된 프레임수를 얻어온다. 프레임은 업 스트림에서도 드롭 할 수 있다. |
get_Jitter | 각 프레임과 다음의 프레임의 사이의 밀리 세컨드 단위의 시간에 대해 표준 편차를 얻어온다. 이것은, 스트리밍이 시작 된 후, 모든 프레임에 적용된다. |
처리 되는 IQualityControl 메서드
Notify | 품질의 변경이 요구된 것을 수신자에게 통지한다. |
SetSink | 품질 메시지를 받아들이는 IQualityControl 개체를 설정한다. |