다음을 통해 공유


CVideoTransformFilter 클래스

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

cvideotransformfilter 클래스 계층 구조

클래스는 CVideoTransformFilter 주로 AVI 압축 해제기 필터에 대한 기본 클래스로 설계되었습니다. 이 클래스는 CTransformFilter 클래스에 품질 제어에 대한 지원을 추가합니다. 필터의 Receive 메서드는 렌더러의 품질 메시지와 필터가 스트리밍하는 동안 수집하는 성능 측정값에 따라 프레임을 삭제하도록 결정할 수 있습니다.

필터가 프레임을 삭제하면 다음 키 프레임에 도달할 때까지 프레임을 계속 삭제합니다. MPEG 스트림의 경우 필터는 B 프레임과 P 프레임을 구분하지 않습니다.

보호된 멤버 변수 Description
m_bQualityChanged 필터가 프레임을 떨어뜨렸는지 여부를 나타냅니다.
m_bSkipping 필터가 현재 프레임을 삭제하고 있는지 여부를 나타냅니다.
m_itrAvgDecode 프레임을 디코딩하는 데 걸린 평균 시간입니다.
m_itrLate 샘플이 렌더러에 도착하는 지연을 나타냅니다.
m_nFramesSinceKeyFrame 필터가 마지막 키 프레임 이후 받은 프레임 수입니다.
m_nKeyFramePeriod 키 프레임 간에 관찰된 가장 큰 간격입니다.
m_nWaitForKey 삭제할 델타 프레임의 현재 최대 수입니다.
m_tDecodeStart 가장 최근 샘플을 디코딩하는 데 걸린 시간입니다.
Protected 메서드 Description
AbortPlayback 스트리밍 오류를 알리는 데 사용됩니다.
AlterQuality 품질 변경이 요청됨을 필터에 알 수 있습니다.
수신 미디어 샘플을 수신하고, 처리하고, 출력 샘플을 다운스트림 필터에 전달합니다.
ShouldSkipFrame 필터가 지정된 샘플을 삭제해야 하는지 여부를 결정합니다.
StartStreaming 필터가 일시 중지된 상태로 전환되면 호출됩니다.
Public 메서드 Description
CVideoTransformFilter 생성자 메서드입니다.
EndFlush 플러시 작업을 종료합니다.