次の方法で共有


COutputQueue.COutputQueue コンストラクター

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ 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

1 つのバッチで配信するサンプルの最大数。

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 クラス