CBaseControlVideo 클래스
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
CBaseControlVideo 클래스는 IBasicVideo 인터페이스를 구현하고 일반 비디오 창의 비디오 속성을 제어합니다. 일반적으로 CBaseControlVideo 개체는 디스플레이의 창에 비디오를 그리는 비디오 렌더러입니다.
많은 CBaseControlVideo 멤버 함수는 비디오 렌더러가 필터 그래프에 연결되어야 합니다. 연결되지 않은 경우 멤버 함수는 VFW_E_NOT_CONNECTED 반환합니다. 비디오 렌더러에 설정된 속성은 연속 연결과 연결 끊김 사이에 유지됩니다. 모든 애플리케이션은 프레젠테이션을 시작하기 전에 렌더러 속성을 다시 설정해야 합니다.
비디오로 작업할 때 애플리케이션은 사용할 비디오의 일부를 선택할 수 있습니다. 이 부분은 CBaseControlVideo 개체가 제어하는 원본 사각형입니다. CBaseControlVideo 를 사용하면 애플리케이션에서 원본 사각형을 설정하고 검색할 수 있습니다. CBaseControlVideo에서 사용하는 모든 사각형은 오른쪽 및 아래쪽 값이 아닌 너비 및 높이 값을 사용합니다. 원본 사각형이 설정되지 않은 경우 원본 사각형의 속성은 전체 네이티브 비디오 크기를 반환합니다.
보호된 데이터 멤버 | Description |
---|---|
m_pFilter | 소유 미디어 필터에 대한 포인터입니다. |
m_pInterfaceLock | 외부에서 정의된 중요 섹션입니다. |
m_pPin | 연결에 대한 미디어 형식을 제어합니다. |
멤버 함수 | Description |
CBaseControlVideo | CBaseControlVideo 개체를 생성합니다. |
CopyImage | 비디오 이미지의 메모리 복사본을 만듭니다. |
GetImageSize | 비디오 이미지 크기 정보를 검색합니다. |
SetControlVideoPin | 이 개체가 동기화되어야 하는 핀을 설정합니다. |
재정의 가능한 멤버 함수 | Description |
CheckSourceRect | 원본 사각형이 유효한지 여부를 확인합니다. |
CheckTargetRect | 대상 사각형이 유효한지 여부를 확인합니다. |
GetSourceRect | 현재 원본 비디오 사각형(순수 가상)을 검색합니다. |
GetStaticImage | 메모리 버퍼(순수 가상)의 현재 이미지를 반환합니다. |
GetTargetRect | 현재 대상 비디오 사각형(순수 가상)을 검색합니다. |
GetVideoFormat | 비디오 형식을 포함하는 VIDEOINFOHEADER 구조를 검색합니다. |
IsDefaultSourceRect | 렌더러가 기본 원본 사각형(순수 가상)을 사용하는지 여부를 확인합니다. |
IsDefaultTargetRect | 렌더러가 기본 대상 사각형(순수 가상)을 사용하는지 확인합니다. |
OnUpdateRectangles | 원본 또는 대상 사각형이 변경되면 호출합니다. |
OnVideoSizeChange | 애플리케이션에 EC_VIDEO_SIZE_CHANGED 전달합니다. |
SetDefaultSourceRect | 기본 원본 비디오 사각형(순수 가상)을 설정합니다. |
SetDefaultTargetRect | 기본 대상 비디오 사각형(순수 가상)을 설정합니다. |
SetSourceRect | 현재 원본 비디오 사각형(순수 가상)을 설정합니다. |
SetTargetRect | 현재 대상 사각형(순수 가상)을 설정합니다. |
IBasicVideo 메서드 | Description |
get_AvgTimePerFrame | 프레임당 대략적인 평균 시간을 검색합니다. |
get_BitErrorRate | 대략적인 비트 오류율을 검색합니다. |
get_BitRate | 비디오에 대한 대략적인 비트 속도를 검색합니다. |
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 | 원본 사각형 위치를 설정합니다. |
추가 정보