DirectShow DirectShow 레퍼런스 DirectShow base class base class 레퍼런스 CImageAllocator [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
CImageAllocator 클래스는, GDI DIB (장치에 의존하지 않는 비트 맵)를 관리하는 할당자를 처리 한다. 이 클래스는 CBaseAllocator 클래스로부터 파생한다. CImageSample 클래스를 사용해 처리 되는 미디어 샘플을 생성 한다.
할당자는 접속된 2 개의 핀에 의해 공유되지만, 항상 접속안의 어느쪽이든 1 개의 필터에 의해 소유된다. CImageAllocator 를 사용하는 필터는, 할당자가 그 필터 자신으로 제공한 것인가, 다른 필터로 제공된 것인지를 추적할 필요가 있다. 필터 자신이 할당자를 제공했을 경우는, 오너 필터는, 그 할당자로부터의 모든 미디어 샘플이 CImageSample 개체이라고 상정할 수 있다. 그 때문에,CImageSample 개체를 사용해 DIB 에 관한 정보를 취득할 수 있다. 이 정보는 DIBDATA 구조체에 저장 된다.
오너 필터는, 미디어 타입이 변화할 때마다,NotifyMediaType 를 호출할 필요가 있다.
요건
헤더: Winutil.h 로 선언해, Streams.h 를 인클루드 한다.
라이브러리: Strmbase.lib (리테일 빌드) 또는 Strmbasd.lib (디버그 빌드).
프로텍트 멤버 변수 | 설명 |
m_pFilter | 오너 필터의 포인터. |
m_pMediaType | 현재의 미디어 타입의 포인터. |
프로텍트 메서드 | |
Alloc | 버퍼에 메모리를 할당한다. |
CheckSizes | 현재의 미디어 타입에 대해서 할당자 프로퍼티를 체크한다. |
CreateDIB | DIB 를 생성 한다. |
CreateImageSample | 미디어 샘플을 생성 한다. 가상. |
Free | 버퍼 메모리를 릴리즈 한다. |
퍼블릭 메서드 | |
CImageAllocator | 생성자 메서드. |
NotifyMediaType | 현재의 미디어 타입을 개체에 통지한다. |
IMemAllocator 메서드 | |
SetProperties | 할당하는 버퍼의 수와 각 버퍼의 사이즈를 지정한다. |
참조