COutputQueue.COutputQueue 생성자

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

생성자 메서드입니다.

구문

COutputQueue(
   IPin    *pInputPin,
   HRESULT *phr,
   BOOL    bAuto = TRUE,
   BOOL    bQueue = TRUE,
   LONG    lBatchSize = 1,
   BOOL    bBatchExact = FALSE,
   LONG    lListSize = DEFAULTCACHE,
   DWORD   dwPriority = THREAD_PRIORITY_NORMAL
);

매개 변수

pInputPin

입력 핀의 IPin 인터페이스에 대한 포인터입니다. 개체는 이 핀에 샘플을 전달합니다.

Phr

HRESULT 반환 코드에 대한 포인터입니다. 이 메서드를 호출하기 전에 값을 S_OK 설정합니다. 반환 시 phr 은 메서드의 성공 또는 실패를 나타내는 값을 받습니다.

bAuto

개체가 큐를 만들 시기를 결정하는지 여부를 지정하는 플래그입니다. TRUE이면 입력 핀이 차단될 수 있는 경우에만 개체가 큐를 만듭니다. FALSE인 경우 bQueue 매개 변수는 큐를 만들지 여부를 지정합니다.

bQueue

bAutoTRUE이면 이 매개 변수는 무시됩니다. bAutoFALSE이면 이 플래그는 큐를 만들지 여부를 지정합니다.

lBatchSize

한 일괄 처리로 제공할 최대 샘플 수입니다.

bBatchExact

정확한 일괄 처리 크기를 사용할지 여부를 지정하는 플래그입니다. TRUE이면 개체가 lBatchSize 샘플을 기다린 후 입력 핀에 전달합니다. FALSE이면 개체가 샘플을 받을 때 샘플을 전달합니다.

lListSize

큐의 캐시 크기입니다. 기본값 DEFAULTCACHE는 CBaseList 클래스에 대해 정의된 상수입니다.

dwPriority

샘플을 제공하는 스레드의 우선 순위입니다.

설명

bAutoTRUE이면 개체는 다운스트림 핀에서 IMemInputPin::ReceiveCanBlock 메서드를 호출합니다. ReceiveCanBlock이 S_OK 반환하는 경우(IMemInputPin::Receive 호출에서 핀이 차단될 수 있음) 개체는 샘플을 배달하기 위한 스레드를 만듭니다. 그렇지 않으면 스레드를 만들지 않습니다.

bAutoFALSE이면 bQueue 값에 따라 스레드를 만들지 여부가 결정됩니다.

개체가 스레드를 만드는 경우 COutputQueue::m_hThread 멤버 변수에 스레드 핸들을 할당합니다. 스레드 프로시저는 COutputQueue::InitialThreadProc이고 스레드 매개 변수는 이에 대한 포인터입니다. 또한 개체는 COutputQueue::m_List 멤버 변수에 의해 제공되는 샘플을 보유하기 위한 큐를 만듭니다.

요구 사항

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

추가 정보

COutputQueue 클래스