DirectShow DirectShow 레퍼런스 DirectShow base class base class 레퍼런스 CSourceStream [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
CSourceStream 클래스는,CSource 필터 클래스의 출력 핀을 제공한다.
이 클래스의 사용법의 더 자세한 정보는, 「CSource 」를 참조할것. 이 클래스는, 핀으로부터의 스트리밍 데이터에 워커 thread를 제공하는 CAMThread 클래스를 계승한다. CSourceStream 클래스는, 다음의 헬퍼-메서드를 처리 해, thread에 요구를 보낸다.
thread에의 최초의 요구는,Init 가 아니면 안 된다. Exit 요구에 의해, thread가 종료한다. 실제로는, 이러한 어느 메서드도 직접 호출할 필요는 없다. 이것은, 핀의 CSourceStream::Active 메서드와 CSourceStream::Inactive 메서드가, 필요에 따라서 메서드를 호출하기 때문에 있다.
이 클래스는, 다음에 나타내는 몇개의 "핸들러" 메서드도 제공한다.
이러한 메서드는, base class에서는 아무것도 처리를 실시하지 않지만, 상속 클래스에서는 그것들을 오버라이드(override) 할 수 있다.
요건
헤더 : Source.h 내에서 선언해, Streams.h 를 인클루드 한다.
라이브러리 : Strmbase.lib (리테일 빌드) 또는 Strmbasd.lib (디버그 빌드)를 사용한다.
프로텍트 멤버 변수 | |
m_pFilter | 이 핀이 포함되어 있는 필터의 포인터. |
프로텍트 메서드 | |
OnThreadCreate | 스트리밍 thread가 초기화되었을 때 호출된다. 가상. |
OnThreadDestroy | 스트리밍 thread가 머지않아 종료할 경우에 호출된다. 가상. |
OnThreadStartPlay | CSourceStream::DoBufferProcessingLoop 메서드의 처리가 시작 되었을 때 호출된다. 가상. |
Active | 필터가 현재 액티브한 것을 핀에 통지한다. |
Inactive | 필터가 액티브한 것은 없어진 것을 핀에 통지한다. |
GetRequest | 다음의 thread 요구를 기다린다. |
CheckRequest | 블록 하지 않고 , thread 요구가 있을지 어떨지를 조사한다. |
ThreadProc | thread 프로시저. 가상. |
DoBufferProcessingLoop | 미디어 데이터를 생성해, 다운 스트림의 입력 핀에 제공한다. 가상. |
CheckMediaType | 핀이 특정의 미디어 타입을 받아들일지 어떨지를 조사한다. 가상. |
GetMediaType | 우선 미디어 타입을 얻어온다. 가상. |
퍼블릭 메서드 | |
CSourceStream | 생성자 메서드. |
~CSourceStream | 소멸자 메서드. 가상. |
Init | 스트리밍 thread를 초기화한다. |
Exit | 스트리밍 thread에 종료하도록(듯이) 통지한다. |
Run | 스트리밍 thread에 실행하도록(듯이) 통지한다. |
Pause | 스트리밍 thread에 액티브하게 되도록(듯이) 통지한다. |
Stop | 스트리밍 thread에 정지하도록(듯이) 통지한다. |
순수 가상 메서드 | |
FillBuffer | 미디어 샘플에 데이터를 묻는다. |
IPin 메서드 | |
QueryId | 핀의 식별자를 얻어온다. |