DirectShow DirectShow 레퍼런스 DirectShow base class base class 레퍼런스 CBaseOutputPin [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
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 | 추가의 데이터가 없는 것을 핀에 통지한다. |