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

CBaseControlVideo 클래스

CBaseControlVideo 클래스의 계층

CBaseControlVideo 클래스는,IBasicVideo 듀얼 인터페이스를 처리 해, 범용 비디오 윈도우의 비디오의 프로퍼티를 제어한다. 일반적으로,CBaseControlVideo 개체는, 디스플레이상의 윈도우에 비디오를 드로잉(Drawing) 하는 비디오 렌더러이다.

CBaseControlVideo 클래스는 프로퍼티와 메서드의 양쪽 모두를 지원 한다. 프로퍼티는, 많은 오토메이션 콘트롤러 (Microsoft® Visual Basic® programming environment 등)로부터쪽이 용이하게 액세스 할 수 있다. 다만, 처리에 따라서는, 애플리케이션으로 복수의 프로퍼티를 동시에 변경할 수 있는 기능이 필요하게 된다. 이 때문에, 복수의 관련하는 프로퍼티를 변경할 수 있는 메서드가 제공되고 있다.

CBaseControlVideo 가 많은 멤버 함수에서는, 비디오 렌더러가 필터 그래프에 접속되고 있을 필요가 있다. 접속되지 않은 경우, 멤버 함수는 VFW_E_NOT_CONNECTED 를 돌려준다. 접속과 절단을 반복해도, 비디오 렌더러로 설정한 프로퍼티는 유효하다. 모든 애플리케이션으로, 프레젠테이션을 시작 하기 전에 렌더러의 프로퍼티를 리셋 한 것을 확인할 필요가 있다.

비디오를 처리하는 경우, 애플리케이션은 사용하는 비디오의 부분을 선택할 수 있다. 이 부분은,CBaseControlVideo 개체가 제어하는 전송원 직사각형이다. CBaseControlVideo 는, 애플리케이션이 전송원 직사각형을 설정 및 취득할 수 있도록(듯이) 한다. CBaseControlVideo 가 사용하는 모든 직사각형에서는, Microsoft Win32® 프로그래밍으로 사용되는 상, 좌, 우, 하는 아니고, 상, 좌, 폭, 높이가 사용된다. 전송원 직사각형을 설정하고 있지 않는 경우, 그 전송원 직사각형의 프로퍼티는 풀 사이즈의 네이티브 비디오 사이즈를 돌려준다.

프로텍트 데이터 멤버

m_pFilter 소유하는 미디어 필터의 포인터.
m_pInterfaceLock 외부적으로 정의되는 크리티컬 섹션.
m_pPin 접속의 미디어 타입의 제어.

멤버 함수

CBaseControlVideo CBaseControlVideo 개체를 생성 한다.
CopyImage 비디오 이미지의 메모리 복사를 생성 한다.
GetImageSize 비디오 이미지의 사이즈 정보를 얻어온다.
SetControlVideoPin 이 개체가 동기 해야 하는 핀을 설정한다.

오버라이드(override) 가능한 멤버 함수

CheckSourceRect 전송원 직사각형이 유효한지 어떤지를 조사한다.
CheckTargetRect 목적지 직사각형이 유효한지 어떤지를 조사한다.
GetSourceRect 현재 비디오의 전송원 직사각형을 얻어온다 (순수 가상).
GetStaticImage 메모리 버퍼내의 현재 이미지를 돌려준다 (순수 가상).
GetTargetRect 현재 비디오의 목적지 직사각형을 얻어온다 (순수 가상).
GetVideoFormat 비디오 포맷을 포함한 VIDEOINFOHEADER 구조체를 얻어온다.
IsDefaultSourceRect 렌더러가 디폴트의 전송원 직사각형을 사용하고 있는지를 조사한다 (순수 가상).
IsDefaultTargetRect 렌더러가 디폴트의 목적지 직사각형을 사용하고 있는지를 조사한다 (순수 가상).
OnUpdateRectangles 전송원 또는 목적지 직사각형이 변경되면 호출된다.
OnVideoSizeChange EC_VIDEO_SIZE_CHANGED 를 애플리케이션에 건네준다.
SetDefaultSourceRect 디폴트의 비디오의 전송원 직사각형을 설정한다 (순수 가상).
SetDefaultTargetRect 디폴트의 비디오의 목적지 직사각형을 설정한다 (순수 가상).
SetSourceRect 현재 비디오의 전송원 직사각형을 설정한다 (순수 가상).
SetTargetRect 현재 목적지 직사각형을 설정한다 (순수 가상).

처리 되는 IBasicVideo 메서드

get_AvgTimePerFrame 프레임마다 대략의 평균 시간을 얻어온다.
get_BitErrorRate 대략의 비트 에러 레이트를 얻어온다.
get_BitRate 비디오의 대략의 bit rate를 얻어온다.
GetCurrentImage 현재 이미지의 메모리 렌더링을 얻어온다.
get_DestinationHeight 현재 목적지 직사각형의 높이를 얻어온다.
get_DestinationLeft 현재 목적지 직사각형의 왼쪽의 좌표를 얻어온다.
GetDestinationPosition 현재 목적지의 위치를 얻어온다.
get_DestinationTop 현재 목적지 직사각형 상의 좌표를 얻어온다.
get_DestinationWidth 현재 목적지 직사각형의 폭을 얻어온다.
get_SourceHeight 현재 전송원 직사각형의 높이를 얻어온다.
get_SourceLeft 현재 전송원 직사각형의 왼쪽의 좌표를 얻어온다.
GetSourcePosition 현재 전송원 위치를 얻어온다.
get_SourceTop 현재 전송원 직사각형 상의 좌표를 얻어온다.
get_SourceWidth 현재 전송원 직사각형의 폭을 얻어온다.
get_VideoHeight 네이티브 비디오의 높이를 얻어온다.
GetVideoPaletteEntries 비디오의 팔레트 엔트리의 범위를 얻어온다.
GetVideoSize 네이티브 비디오의 폭과 높이를 얻어온다.
get_VideoWidth 네이티브 비디오의 폭을 얻어온다.
IsUsingDefaultDestination 렌더러가 디폴트 목적지 윈도우를 사용하고 있는지 아닌지 조사한다.
IsUsingDefaultSource 렌더러가 디폴트 전송원 윈도우를 사용하고 있는지 아닌지 조사한다.
put_DestinationHeight 목적지 직사각형의 높이를 설정한다.
put_DestinationLeft 목적지 직사각형의 왼쪽의 좌표를 설정한다.
put_DestinationTop 목적지 직사각형 상의 좌표를 설정한다.
put_DestinationWidth 목적지 직사각형의 폭을 설정한다.
put_SourceHeight 전송원 직사각형의 높이를 설정한다.
put_SourceLeft 전송원 직사각형의 왼쪽 좌표를 설정한다.
put_SourceTop 전송원 직사각형 상의 좌표를 설정한다.
put_SourceWidth 전송원 직사각형의 폭을 설정한다.
SetDefaultDestinationPosition 디폴트의 목적지의 위치를 다시 설정한다.
SetDefaultSourcePosition 디폴트의 전송원 위치를 다시 설정한다.
SetDestinationPosition 목적지 직사각형의 위치를 설정한다.
SetSourcePosition 전송원 직사각형의 위치를 설정한다.

↑TOP