CRenderedInputPin 클래스
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
CRenderedInputPin 클래스는 렌더러에서 입력 핀을 구현하기 위한 기본 클래스입니다. 이 클래스는 CBaseRenderer 클래스에서 파생되지 않는 렌더러 필터용으로 설계되었습니다. ( CBaseRenderer 에서 파생되는 필터는 입력 핀에 CRendererInputPin 클래스를 사용해야 합니다.)
이 클래스를 사용하려면 적어도 다음을 수행해야 합니다.
- CRenderedInputPin을 상속하는 새 핀 클래스를 선언합니다.
- 핀 클래스에서 스트리밍 잠금을 유지할 중요한 섹션 개체를 선언합니다. 이 목적을 위해 CCritSec 클래스를 사용할 수 있습니다. 자세한 내용은 스레드 및 중요 섹션을 참조하세요.
- CRenderedInputPin::EndOfStream을 재정의하여 스트리밍 잠금을 유지합니다.
- IMemInputPin::Receive, CBasePin::CheckMediaType 및 CBasePin::GetMediaType 메서드를 구현합니다.
- 필터에서 CBaseFilter::GetPin을 구현하여 핀 클래스의 instance 반환합니다.
둘 이상의 입력 핀이 있는 렌더러에서 이 클래스를 사용할 수 있습니다. 이 클래스는 CBaseInputPin 클래스를 상속합니다.
보호된 멤버 변수 | Description |
---|---|
m_bAtEndOfStream | 스트림의 끝에 도달했는지 여부를 나타냅니다. |
m_bCompleteNotified | 핀이 필터 그래프 관리자에 EC_COMPLETE 이벤트를 보냈는지 여부를 나타냅니다. |
Public 메서드 | Description |
활성 | 필터가 현재 활성 상태임을 핀에 알 수 있습니다. |
CRenderedInputPin | 생성자 메서드입니다. |
실행 | 필터가 실행 중임을 핀에 알 수 있습니다. |
IPin 메서드 | Description |
EndFlush | 플러시 작업을 종료합니다. |
EndOfStream | 필터가 새 실행 명령을 받을 때까지 추가 데이터가 필요하지 않음을 핀에 알릴 수 있습니다. |
요구 사항
요구 사항 | 값 |
---|---|
헤더 |
|
라이브러리 |
|