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

CBaseOutputPin 클래스

CBaseOutputPin 클래스의 계층

CBaseOutputPin 클래스는 출력 핀을 처리 하는 추상 base class이다.

이 클래스는 CBasePin 로부터 파생한다. 이하의 면에서 CBasePin 와는 다르다.

핀이 접속 할 때 입력 핀의 메모리 할당자를 요구한다. 그것이 실패 하면, 새로운 할당자 개체를 생성 한다. 할당자 프로퍼티의 설정은 출력 핀이 실시할 필요가 있다. 순수 가상 메서드 CBaseOutputPin::DecideBufferSize 를 통해 이것을 실시한다. 상속 클래스로 이 메서드를 오버라이드(override) 하는 것. 입력 핀에 버퍼 요구가 있는 경우는, 그 요구를 DecideBufferSize 메서드에 건네준다.

공백의 미디어 샘플을 얻어오려면 CBaseOutputPin::GetDeliveryBuffer 메서드를 호출하는 것. 샘플을 다운 스트림에 출력하려면 CBaseOutputPin::Deliver 메서드를 호출하는 것.

상속 클래스는 순수 가상 메서드 CBasePin::CheckMediaType 를 오버라이드(override) 해, 핀 접속시에 미디어 타입을 확인할 필요가 있다.

요건

헤더 : Amfilter.h 로 선언해, Streams.h 를 인클루드 한다.

라이브러리 : Strmbase.lib (리테일 빌드) 또는 Strmbasd.lib (디버그 빌드).

프로텍트 멤버 변수  
m_pAllocator 메모리 할당자의 포인터.
m_pInputPin 이 핀에 접속되고 있는 입력 핀의 포인터.
퍼블릭 메서드  
CBaseOutputPin 생성자 메서드.
DecideAllocator 메모리 할당자를 선택한다. 가상.
GetDeliveryBuffer 빈 버퍼를 가지는 미디어 샘플을 얻어온다. 가상.
Deliver 접속되고 있는 입력 핀에 미디어 샘플을 출력한다. 가상.
InitAllocator 메모리 할당자를 생성. 가상.
CheckConnect 핀 접속이 적절한가 어떤가를 확인한다.
BreakConnect 접속으로부터 핀을 릴리즈 한다.
Active 필터가 현재 액티브한 것을 핀에 통지한다.
Inactive 필터가 액티브한 것은 없어진 것을 핀에 통지한다.
DeliverEndOfStream 접속되고 있는 입력 핀에 엔드 오브 스트림 통지를 출력한다. 가상.
DeliverBeginFlush 접속되고 있는 입력 핀에 플래시 처리의 시작을 요구한다. 가상.
DeliverEndFlush 접속되고 있는 입력 핀에 플래시 처리의 종료를 요구한다. 가상.
DeliverNewSegment 접속되고 있는 입력 핀에 신세그먼트(segment) 통지를 출력한다. 가상.
순수 가상 메서드  
DecideBufferSize 버퍼 요구를 설정한다.
IPin 메서드  
BeginFlush 플래시 처리를 시작 한다.
EndFlush 플래시 처리를 종료한다.
EndOfStream 추가의 데이터가 없는 것을 핀에 통지한다.

↑TOP