指定したストリームにマーカーを配置します。
構文
HRESULT PlaceMarker(
[in] DWORD dwStreamIndex,
[in] LPVOID pvContext
);
パラメーター
[in] dwStreamIndex
ストリームの 0 から始まるインデックス。
[in] pvContext
アプリケーション定義値へのポインター。 このパラメーターの値は、呼び出し元の IMFSinkWriterCallback::OnMarker コールバック メソッドの pvContext パラメーターで呼び出し元に返されます。 アプリケーションは、このデータに関連付けられているすべてのメモリ割り当てを担当します。 このパラメーターは NULL できます。
戻り値
このメソッドは HRESULT を返します。 使用できる値には、次の表に示す値が含まれますが、これらに限定されません。
| リターン コード | Description |
|---|---|
|
メソッドが成功しました。 |
|
要求が無効です。 |
注釈
このメソッドを使用するには、シンク ライターを作成するときに非同期コールバックを指定する必要があります。 それ以外の場合、メソッドは MF_E_INVALIDREQUESTを返します。 詳細については、 MF_SINK_WRITER_ASYNC_CALLBACKを参照してください。
マーカーを使用すると、メディア シンクがストリーム内のすべてのサンプルを特定のポイントまで消費したときに通知を受け取る方法が提供されます。 メディア シンクは、マーカーの前にあるすべてのサンプルを処理するまでマーカーを処理しません。 メディア シンクがマーカーを処理すると、シンク ライターはアプリケーションの OnMarker メソッドを呼び出します。 コールバックが呼び出されると、シンクがそのストリームの前のサンプルをすべて消費していることがわかります。
たとえば、中ストリームの書式を変更するには、書式が変更された時点で PlaceMarker を呼び出します。 OnMarker が呼び出されると、IMFSinkWriter::SetInputMediaType を呼び出して入力の種類を変更しても安全です (メディア シンクが動的な形式の変更をサポートしていると仮定します)。
内部的には、このメソッドはメディア シンクで IMFStreamSink::P laceMarker を呼び出します。
このインターフェイスは、Windows Vista のプラットフォーム更新プログラムの補足がインストールされている場合、Windows Vista で使用できます。
Requirements
| Requirement | 価値 |
|---|---|
| サポートされる最小クライアント | Windows Vista 用 Windows 7、Windows Vista およびプラットフォーム更新プログラムの補足 [デスクトップ アプリ |UWP アプリ] |
| サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ] |
| ターゲット プラットフォーム の | ウィンドウズ |
| Header | mfreadwrite.h |