DirectShow DirectShow 레퍼런스 DirectShow base class base class 레퍼런스 CBaseFilter   [목차열람] [주소복사] [슬롯비우기]
CBaseFilter 클래스
 
Microsoft DirectX 9.0

CBaseFilter 클래스

CBaseFilter 클래스의 계층

CBaseFilter 클래스는, 필터를 처리 하는 추상 클래스이다. 이 클래스를 사용해 필터를 처리 하려면 , 최저한다음의 스텝을 실행해야 한다.

CSource ,CBaseRenderer ,CTransformFilter 등의 몇개의 base class가 CBaseFilter 로부터 파생한다. 보통,CBaseFilter 를 직접 사용하는 것보다도, 이러한 클래스의 1 개를 지정해 필터를 처리 하는 쪽이 간단하다.

요건

헤더: Amfilter.h 로 선언해, Streams.h 를 인클루드 한다.

라이브러리: Strmbase.lib (리테일 빌드) 또는 Strmbasd.lib (디버그 빌드).

프로텍트 멤버 변수  
m_State 필터의 현재 상태.
m_pClock 필터의 기준 클럭의 포인터.
m_tStart 스트림 타임 0 에 대응하는 기준 타임.
m_clsid 필터의 클래스 식별자 (CLSID).
m_pLock 상태 변경을 계속하기 위해서 사용하는 크리티컬 섹션의 포인터.
m_pName 필터명.
m_pGraph 필터 그래프 매니저의 포인터.
m_pSink 필터 그래프 매니저의 IMediaEventSink 인터페이스의 포인터.
m_PinVersion 이 필터의 일련의 핀의 현재의 버전.
퍼블릭 메서드  
CBaseFilter 생성자 메서드.
~CBaseFilter 소멸자 메서드.
StreamTime 현재의 스트림 타임을 얻어온다. 가상.
IsActive 필터가 현재 액티브 (실행중 또는 포즈) 화도인지를 조사한다.
IsStopped 필터가 현재 정지하고 있을지 어떨지를 조사한다.
NotifyEvent 이벤트 통지를 필터 그래프 매니저에 보낸다.
GetFilterGraph 필터 그래프 매니저의 포인터를 얻어온다.
ReconnectPin 기존의 핀 접속을 해제해, 지정한 미디어 핀을 사용해, 같은 핀에 그것을 재접속한다.
GetPinVersion 이 필터의 일련의 핀의 버전 번호를 얻어온다. 가상.
IncrementPinVersion 일련의 핀의 버전수를 인크리먼트(increment) 한다.
GetSetupData 필터의 등록 데이터를 얻어온다. 가상.
순수 가상 메서드  
GetPinCount 핀의 수를 얻어온다.
GetPin 핀을 얻어온다.
IPersist 메서드  
GetClassID 클래스 식별자를 얻어온다.
IMediaFilter 메서드  
GetState 필터 상태 (실행중, 정지, 포즈)를 얻어온다.
SetSyncSource 필터의 기준 클럭을 설정한다.
GetSyncSource 필터가 사용하고 있는 기준 클럭을 얻어온다.
Stop 필터를 정지한다.
Pause 필터를 포즈 한다.
Run 필터를 실행한다.
IBaseFilter 메서드  
EnumPins 필터의 핀을 열거한다.
FindPin 지정한 식별자로 핀을 얻어온다.
QueryFilterInfo 필터에 대한 정보를 얻어온다.
JoinFilterGraph 필터 그래프에 참가한 것, 또는 필터 그래프로부터 멀어진 것을 필터에 통지한다.
QueryVendorInfo 벤더 정보를 포함한 캐릭터 라인을 얻어온다.
IAMovieSetup 메서드  
Register 레지스트리에 필터를 추가한다.
Unregister 레지스트리로부터 필터를 삭제한다.

↑TOP