IMFSinkWriter::P laceMarker 方法 (mfreadwrite.h)

Places指定流中的标记。

语法

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

参数

[in] dwStreamIndex

流的从零开始的索引。

[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 参数。 这两个参数不直接相关。
 

如果安装了适用于 Windows Vista 的平台更新补充,则此接口在 Windows Vista 上可用。

要求

要求
最低受支持的客户端 适用于 Windows Vista 的 Windows 7、Windows Vista 和平台更新补充 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2 [桌面应用 |UWP 应用]
目标平台 Windows
标头 mfreadwrite.h

另请参阅

IMFSinkWriter

接收器编写器