次の方法で共有


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

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

構文

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

パラメーター

[in] dwStreamIndex

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

[in] pvContext

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

戻り値

このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。

リターン コード 説明
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 で使用できます。

要件

要件
サポートされている最小のクライアント Windows Vista 用 Windows 7、Windows Vista およびプラットフォーム更新プログラムの補足 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー mfreadwrite.h

こちらもご覧ください

IMFSinkWriter

シンク ライター