IMFASFMultiplexer::P rocessSample メソッド (wmcontainer.h)
マルチプレクサーに入力サンプルを配信します。
構文
HRESULT ProcessSample(
[in] WORD wStreamNumber,
[in] IMFSample *pISample,
[in] LONGLONG hnsTimestampAdjust
);
パラメーター
[in] wStreamNumber
サンプルが属するストリームのストリーム番号。
[in] pISample
入力サンプルの IMFSample インターフェイスへのポインター。 入力サンプルには、ASF データ パケットに変換するメディア データが含まれています。 可能であれば、このサンプルのタイム スタンプは正確である必要があります。
[in] hnsTimestampAdjust
サンプルのタイム スタンプに適用する調整。 このパラメーターは、呼び出し元が pISample のサンプル時間をシフトする場合に使用されます。 タイム スタンプを先にプッシュする場合は正、タイム スタンプをプッシュバックする必要がある場合は負の値にする必要があります。 このタイム スタンプは pISample のサンプル時間に追加され、結果の時間は元のサンプル時間ではなくマルチプレクサによって使用されます。 調整が必要ない場合は、この値を 0 に設定します。
戻り値
このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。
リターン コード | 説明 |
---|---|
|
メソッドが成功しました。 |
|
マルチプレクサーからの取得を待機しているパケットが多すぎます。 IMFASFMultiplexer::GetNextPacket を呼び出してパケットを取得します。 |
|
処理されたサンプルは、ASF ContentInfo オブジェクトのストリームに指定されている帯域幅の制限に違反しています。 このエラーが生成されると、サンプルは削除されます。 |
|
wStreamNumber で渡された値が無効です。 |
|
入力メディア サンプルのプレゼンテーション時間は、送信時間よりも前です。 |
注釈
アプリケーションは サンプルを ProcessSample に渡し、ASF マルチプレクサーは ASF パケットに配置する準備ができるまで内部的にキューに入れます。 IMFASFMultiplexer::GetNextPacket を呼び出して ASF データ パケットを取得します。
ProcessSample を呼び出すたびに、ループ内で GetNextPacket を呼び出して、使用可能なすべてのデータ パケットを取得します。 コード例については、「 新しい ASF データ パケットの生成」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wmcontainer.h |
Library | Mfuuid.lib |