다음을 통해 공유


CBaseInputPin 클래스

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

cbaseinputpin 클래스 계층 구조

클래스는 CBaseInputPin 입력 핀을 구현하기 위한 추상 기본 클래스입니다. 이 클래스는 CBasePin에서 제공하는 IPin 인터페이스 지원 외에도 IMemInputPin 인터페이스에 대한 지원을 추가합니다.

이 클래스를 사용하려면 새 클래스를 파생시키고 적어도 다음 메서드를 재정의합니다.

핀의 기능에 따라 또는 CBasePin에서 CBaseInputPin 추가 메서드를 재정의해야 할 수 있습니다.

보호된 멤버 변수 Description
m_pAllocator 메모리 할당자에 대한 포인터입니다.
m_bReadOnly 할당자가 읽기 전용 미디어 샘플을 생성하는지 여부를 나타내는 플래그입니다.
m_bFlushing 핀이 현재 플러시되고 있는지 여부를 나타내는 플래그입니다.
m_SampleProps 가장 최근 샘플의 속성입니다.
Public 메서드 Description
CBaseInputPin 생성자 메서드입니다.
~CBaseInputPin 소멸자 메서드입니다.
BreakConnect 연결에서 핀을 해제합니다.
Isreadonly 할당자가 읽기 전용 미디어 샘플을 사용하는지 여부를 쿼리합니다.
IsFlushing 필터가 현재 플러시되고 있는지 여부를 쿼리합니다.
CheckStreaming 핀이 샘플을 수락할 수 있는지 여부를 결정합니다. 가상.
PassNotify 품질 제어 메시지를 적절한 개체에 전달합니다.
비활성 필터가 더 이상 활성화되지 않음을 핀에 알깁니다. 가상.
SampleProps 가장 최근 샘플의 속성을 검색합니다.
IPin 메서드 Description
BeginFlush 플러시 작업을 시작합니다.
EndFlush 플러시 작업을 종료합니다.
IMemInputPin 메서드 Description
GetAllocator 이 핀에서 제안한 메모리 할당자를 검색합니다.
NotifyAllocator 연결에 대한 할당자를 지정합니다.
GetAllocatorRequirements 입력 핀에서 요청한 할당자 속성을 검색합니다.
수신 스트림에서 다음 미디어 샘플을 받습니다.
ReceiveMultiple 스트림에서 여러 샘플을 받습니다.
ReceiveCanBlock CBaseInputPin::Receive 메서드에 대한 호출이 차단될 수 있는지 여부를 결정합니다.
IQualityControl 메서드 Description
알림 품질 제어 메시지를 받습니다.

요구 사항

요구 사항
헤더
Amfilter.h(Streams.h 포함)
라이브러리
Strmbase.lib(소매 빌드);
Strmbasd.lib(디버그 빌드)