다음을 통해 공유


COutputQueue.ThreadProc 메서드

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

메서드는 ThreadProc 큐에서 샘플을 검색하고 입력 핀에 전달합니다.

구문

DWORD ThreadProc();

매개 변수

이 메서드에는 매개 변수가 없습니다.

반환 값

0을 반환합니다.

설명

COutputQueue::InitialThreadProc 메서드는 기본 스레드 루프를 구현하는 이 메서드를 호출합니다. 루프 내에서 메서드는 다음 단계를 수행합니다.

  1. 큐에 대한 샘플을 검색합니다.
  2. 샘플이 컨트롤 메시지인 경우 스레드는 컨트롤 작업을 실행합니다. 그렇지 않으면 샘플을 COutputQueue::m_ppSamples 배열에 배치합니다.
  3. 배열이 가득 차거나 COutputQueue::m_bBatchExactFALSE인 경우 스레드는 IMemInputPin::ReceiveMultiple 메서드를 호출하여 샘플을 제공합니다.
  4. 큐에 샘플이 없으면 스레드는 COutputQueue::m_hSem 세마포에서 대기합니다.

COutputQueue::m_bTerminate 멤버 변수가 TRUE가 되면 스레드가 종료됩니다.

요구 사항

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

추가 정보

COutputQueue 클래스