DirectShow DirectShow 레퍼런스 DirectShow base class base class 레퍼런스 CAMSchedule [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
CAMSchedule 클래스는, 기준 클럭의 스케줄을 처리 한다.
요건
헤더: Dsschedule.h 로 선언해, Streams.h 를 인클루드 한다.
라이브러리: Strmbase.lib (리테일 빌드) 또는 Strmbasd.lib (디버그 빌드).
퍼블릭 메서드 | |
CAMSchedule | 생성자 메서드. |
~CAMSchedule | 소멸자 메서드. 가상. |
GetAdviseCount | 보류 상태의 아드바이즈 요구의 수를 얻어온다. |
GetNextAdviseTime | 다음의 아드바이즈 요구의 타임을 얻어온다. |
AddAdvisePacket | 보류 상태의 요구 리스트에 아드바이즈 요구를 추가한다. |
Unadvise | 아드바이즈 요구를 삭제한다. |
Advise | 특정의 타임 또는 그 이전에 스케줄 된, 모든 요구를 디스패치 한다. |
GetEvent | 이벤트 핸들을 얻어온다. 이것은, 다음의 아드바이즈타임의 변경을 통지하기 위해서 사용된다. |
주의
이 헬퍼-개체는, 기준 클럭의 아드바이즈 요구의 리스트를 유지한다. CBaseReferenceClock 클래스는, 이 개체를 사용해 아드바이즈 요구의 스케줄링을 돕는다. 클럭은, 이 개체를 다음과 같이 사용한다.
스텝 2 에서는, 이벤트가 신호 상태가 되는지, 또는 기다리는 타임 아웃이 발생한다. 이벤트가 신호 상태가 되었을 경우, 새로운 요구가 리스트의 선두에 추가된 것을 의미한다. 워커 thread는 새로운 타임 아웃값을 계산해야 한다. 한편, 기다리는 타임 아웃이 발생했을 경우는 아드바이즈 요구의 기한이 지나고 있어 디스패치 되지 않으면 안 되는 것을 의미한다. 어느 경우도 스텝 5 의 Advise 의 호출에 의해 처리를 한다.