次の方法で共有


IKsInterfaceHandler::KsProcessMediaSamples メソッド (ksproxy.h)

KsProcessMediaSamples メソッドは、メディア サンプルを処理します。

構文

HRESULT KsProcessMediaSamples(
  [in]      IKsDataTypeHandler *KsDataTypeHandler,
  [in]      IMediaSample       **SampleList,
  [in, out] PLONG              SampleCount,
  [in]      KSIOOPERATION      IoOperation,
  [out]     PKSSTREAM_SEGMENT  *StreamSegment
);

パラメーター

[in] KsDataTypeHandler

SampleList に記載されているメディアの種類を処理するデータ型ハンドラーの IKsDataTypeHandler インターフェイスへのポインター。 このデータ型ハンドラーには、ストリーミングされるメディアの種類に関する特定の情報があります。

[in] SampleList

処理するメディア サンプルの一覧の IMediaSample インターフェイスへのポインターの配列を含むバッファーへのポインター。

[in, out] SampleCount

SampleList のリスト内のサンプルの数を最初に含む変数へのポインター。戻り値として、処理されたサンプルの実際の数を受け取ります。

[in] IoOperation

I/O 操作の種類を示す 値。 この値には、KSIOOPERATION 列挙型の次のいずれかの値を指定できます。

説明
KsIoOperation_Write ストリームにデータを書き込みます。
KsIoOperation_Read ストリームからデータを読み取ります。

[out] StreamSegment

カーネル モードのピンに送信されるストリーム セグメントのヘッダー情報を含む KSSTREAM_SEGMENT 構造体へのポインターを受け取るバッファーへのポインター。

戻り値

成功した場合は NOERROR を返します。それ以外の場合は、エラー コードを返します。

注釈

KsProcessMediaSamples メソッドは、以前に割り当てられたフィルター ピンの間でサンプルを移動します。 ストリーム ヘッダーは、ストリーム セグメント内の各メディア サンプルを表すために初期化されます。 入力と出力 (I/O) が実行され、待機項目の数が増加し、プロキシ I/O スレッドが完了を待機します。

KsProcessMediaSamples メソッドは、受信した IKsDataTypeHandler インターフェイスの KsQueryExtendedSize メソッドを呼び出して、拡張ヘッダーのサイズを取得します。 拡張ヘッダー サイズが指定されていない場合、 KsProcessMediaSamplesIKsDataTypeHandler インターフェイスへのポインターを破棄します。 拡張ヘッダー サイズが指定されている場合、 KsProcessMediaSamples は、メディア サンプルの処理が完了するまで IKsDataTypeHandler インターフェイスへのポインターを保持します。 KsProcessMediaSamples メソッドは、適切なヘッダー サイズでストリーム ヘッダーを割り当てます。 メディア サンプルごとに、 KsProcessMediaSamples はヘッダーの初期化、データ ポインターのコピー、タイム スタンプの設定などを行います。 その後、各サンプルがサンプル リストに追加されます。 書き込み操作の場合、サンプルは参照カウントをインクリメントすることによって保持されます。

IMediaSample の詳細については、Microsoft Windows SDKドキュメントを参照してください。

要件

要件
対象プラットフォーム デスクトップ
Header ksproxy.h (Ksproxy.h を含む)

こちらもご覧ください

IKsDataTypeHandler

IKsDataTypeHandler::KsQueryExtendedSize

KSSTREAM_SEGMENT