CSourceStream 클래스
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
CSourceStream 클래스는 CSource 필터 클래스에 대한 출력 핀을 제공합니다.
이 클래스를 사용하는 방법에 대한 자세한 내용은 CSource를 참조하세요. 이 클래스는 PIN에서 데이터를 스트리밍하기 위한 작업자 스레드를 제공하는 CAMThread 클래스를 상속합니다. CSourceStream 클래스는 다음 도우미 메서드를 구현하여 요청을 스레드로 보냅니다.
- CSourceStream::Exit
- CSourceStream::Init
- CSourceStream::P ause
- CSourceStream::Run
- CSourceStream::Stop
스레드에 대한 첫 번째 요청은 Init여야 합니다. Exit 요청은 스레드를 종료합니다. 실제로 핀의 CSourceStream::Active 및 CSourceStream::Inactive 메서드가 필요에 따라 호출하기 때문에 이러한 메서드를 직접 호출할 필요가 없습니다.
클래스는 다음과 같은 몇 가지 "처리기" 메서드도 제공합니다.
기본 클래스에서는 아무 작업도 수행하지 않지만 파생 클래스는 재정의할 수 있습니다.
보호된 멤버 변수 | Description |
---|---|
m_pFilter | 이 핀을 포함하는 필터에 대한 포인터입니다. |
Protected 메서드 | Description |
OnThreadCreate | 스트리밍 스레드가 초기화될 때 호출됩니다. 가상. |
OnThreadDestroy | 스트리밍 스레드가 종료되려고 할 때 호출됩니다. 가상. |
OnThreadStartPlay | CSourceStream::D oBufferProcessingLoop 메서드의 시작 부분에 호출됩니다. 가상. |
Active | 필터가 현재 활성 상태임을 핀에 알 수 있습니다. |
비활성 | 필터가 더 이상 활성화되지 않음을 핀에 알깁니다. |
GetRequest | 다음 스레드 요청을 기다립니다. |
CheckRequest | 차단 없이 스레드 요청이 있는지 확인합니다. |
ThreadProc | 스레드 프로시저. 가상. |
DoBufferProcessingLoop | 미디어 데이터를 생성하고 다운스트림 입력 핀에 전달합니다. 가상. |
CheckMediaType | 핀이 특정 미디어 형식을 허용하는지 여부를 확인합니다. 가상. |
GetMediaType | 기본 설정 미디어 형식을 검색합니다. 가상. |
Public 메서드 | Description |
CSourceStream | 생성자 메서드입니다. |
~ CSourceStream | 소멸자 메서드입니다. 가상. |
Init | 스트리밍 스레드를 초기화합니다. |
종료 | 스트리밍 스레드가 종료되도록 신호를 보냅니다. |
실행 | 스트리밍 스레드가 실행되도록 신호를 보냅니다. |
일시 중지 | 스트리밍 스레드가 활성화되도록 신호를 보냅니다. |
Stop | 스트리밍 스레드가 중지되도록 신호를 보냅니다. |
순수 가상 메서드 | Description |
FillBuffer | 미디어 샘플을 데이터로 채웁니다. |
IPin 메서드 | Description |
QueryId | 핀의 식별자를 검색합니다. |
요구 사항
요구 사항 | 값 |
---|---|
헤더 |
|
라이브러리 |
|