DirectShow DirectShow 레퍼런스 인터페이스 IOverlay [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
IOverlay 인터페이스는, 비디오를 올바른 윈도우 위치에 배치한 상태로, 필터로부터 비디오 메모리에 직접 기입하기 위해서(때문에) 필요한 정보를 제공한다. 이 인터페이스는, 비디오 렌더러의 입력 핀상에 처리 되어 업 스트림 필터 (주로 비데오디컴프레서)의 IOverlayNotify 메서드를 호출해, 비디오 윈도우에의 변경을 통지하는 것으로써, 그 필터와 통신한다.
이 인터페이스는, DirectDraw® 의 오버레이 능력과는 무관하다. Microsoft 의 비디오 렌더러는,IMemInputPin 인터페이스를 통해서 받은 데이터를, DirectDraw 오버레이를 사용해 드로잉(Drawing) 한다 (다만 이용 가능한 경우). 이 인터페이스는,IMemInputPin 대신에 사용되어 렌더러의 드로잉(Drawing) 능력을 우회도로 하지만, 디스플레이의 그 외 프로퍼티의 통지를 받을 필요가 있는, 모든 업 스트림 필터에, 통지의 지원을 제공하는 것을 목적으로 하고 있다.
IOverlay 인터페이스와 IOverlayNotify 인터페이스의 제휴의 더 자세한 정보는, 「IOverlayNotify 」의 레퍼런스 페이지를 참조할것.
렌더링 윈도우에의 변경의 비동기 통지의 더 자세한 정보는, 「IOverlayNotify2 인터페이스」를 참조할것.
이 인터페이스는, Microsoft® DirectShow® 비디오 렌더링 필터에 처리 된다. 또, 필요에 따라서, 대체 비디오 렌더링 필터에 처리 할 수도 있다. 그 경우에는, 이 인터페이스를 처리 해, frame buffer에 직접 기입하는 필터, 또는 오버레이를 배치하려고 하는 필터에, 비디오를 어디에 표시하면 좋은가를 알린다. 이 인터페이스를 처리 하려면 , 비디오 프로퍼티의 변경의 통지도 포함해 드로잉(Drawing)를 실시하고 있는 필터의 IOverlayNotify 인터페이스 또는 IOverlayNotify2 인터페이스의 메서드를 사용할 준비가, 렌더러로 할 수 있고 있을 필요가 있다.
DirectShow 의 윈도우 베이스의 렌더러는,IMemInputPin 인터페이스와 IOverlay 인터페이스의 양쪽 모두를 지원 한다. 이것들 2 개의 인터페이스는 서로 배타이다. 필터에서는, 접속중에 서브 타입이 MEDIASUBTYPE_Overlay 의 미디어 타입을 제공하는 것에 의해,IOverlay
비디오 오버레이의 프로퍼티를 제어할 필요가 있어, 비디오 데이터 자체의 표시를 처리하려고 하는 업 스트림 필터로부터는, 이 함수의 메서드를 사용하는 것. 이 메서드는, 보통, 비디오 하드웨어에의 대체 접속을 가지는 하드웨어 비디오 디코더로 사용된다.
IOverlay 인터페이스는,IUnknown 로부터 계승하는 메서드 이외에 이하의 메서드도 공개한다.
메서드 | 설명 |
GetPalette | 현재의 팔레트를 얻어온다. |
SetPalette | 팔레트를 설정한다. |
GetDefaultColorKey | 디폴트의 컬러 키를 얻어온다. |
GetColorKey | 현재 액티브한 컬러 키의 식별자를 돌려준다. |
SetColorKey | 컬러 키를 변경한다. |
GetWindowHandle | 윈도우 핸들을 돌려준다. |
GetClipList | 클립 리스트를 얻어온다. |
GetVideoPosition | 현재의 비디오의 전송원직사각형 및 목적지 직사각형을 얻어온다. |
Advise | 오버레이 이벤트용의 아드바이즈린크를 설정한다. |
Unadvise | 아드바이즈린크를 종료한다. |