Share via


CSourceStream 클래스

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

csourcestream 클래스 계층 구조

CSourceStream 클래스는 CSource 필터 클래스에 대한 출력 핀을 제공합니다.

이 클래스를 사용하는 방법에 대한 자세한 내용은 CSource를 참조하세요. 이 클래스는 PIN에서 데이터를 스트리밍하기 위한 작업자 스레드를 제공하는 CAMThread 클래스를 상속합니다. CSourceStream 클래스는 다음 도우미 메서드를 구현하여 요청을 스레드로 보냅니다.

스레드에 대한 첫 번째 요청은 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 핀의 식별자를 검색합니다.

요구 사항

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

추가 정보

원본 필터 작성