次の方法で共有


IMFSinkWriter::P laceMarker メソッド (mfreadwrite.h)

指定したストリームにマーカーを配置します。

構文

HRESULT PlaceMarker(
  [in] DWORD  dwStreamIndex,
  [in] LPVOID pvContext
);

パラメーター

[in] dwStreamIndex

ストリームの 0 から始まるインデックス。

[in] pvContext

アプリケーション定義値へのポインター。 このパラメーターの値は、呼び出し元の IMFSinkWriterCallback::OnMarker コールバック メソッドの pvContext パラメーターで呼び出し元に返されます。 アプリケーションは、このデータに関連付けられているすべてのメモリ割り当てを担当します。 このパラメーターは NULL できます。

戻り値

このメソッドは HRESULT を返します。 使用できる値には、次の表に示す値が含まれますが、これらに限定されません。

リターン コード Description
S_OK
メソッドが成功しました。
MF_E_INVALIDREQUEST
要求が無効です。

注釈

このメソッドを使用するには、シンク ライターを作成するときに非同期コールバックを指定する必要があります。 それ以外の場合、メソッドは MF_E_INVALIDREQUESTを返します。 詳細については、 MF_SINK_WRITER_ASYNC_CALLBACKを参照してください。

マーカーを使用すると、メディア シンクがストリーム内のすべてのサンプルを特定のポイントまで消費したときに通知を受け取る方法が提供されます。 メディア シンクは、マーカーの前にあるすべてのサンプルを処理するまでマーカーを処理しません。 メディア シンクがマーカーを処理すると、シンク ライターはアプリケーションの OnMarker メソッドを呼び出します。 コールバックが呼び出されると、シンクがそのストリームの前のサンプルをすべて消費していることがわかります。

たとえば、中ストリームの書式を変更するには、書式が変更された時点で PlaceMarker を呼び出します。 OnMarker が呼び出されると、IMFSinkWriter::SetInputMediaType を呼び出して入力の種類を変更しても安全です (メディア シンクが動的な形式の変更をサポートしていると仮定します)。

内部的には、このメソッドはメディア シンクで IMFStreamSink::P laceMarker を呼び出します。

手記IMFSinkWriter::P laceMarker メソッドの pvContext パラメーターは、IMFStreamSink::P laceMarker メソッドの pvarContextValue パラメーターに渡されません。 これら 2 つのパラメーターは直接関連していません。
 

このインターフェイスは、Windows Vista のプラットフォーム更新プログラムの補足がインストールされている場合、Windows Vista で使用できます。

Requirements

Requirement 価値
サポートされる最小クライアント Windows Vista 用 Windows 7、Windows Vista およびプラットフォーム更新プログラムの補足 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ]
ターゲット プラットフォーム ウィンドウズ
Header mfreadwrite.h

こちらも参照ください

IMFSinkWriter

シンク ライター