IMFMediaSink::GetCharacteristics 方法 (mfidl.h)

获取媒体接收器的特征。

语法

HRESULT GetCharacteristics(
  [out] DWORD *pdwCharacteristics
);

参数

[out] pdwCharacteristics

接收零个或多个标志的按位 OR 。 定义了以下标志:

含义
MEDIASINK_FIXED_STREAMS
0x00000001
媒体接收器具有固定数量的流。 它不支持 IMFMediaSink::AddStreamSinkIMFMediaSink::RemoveStreamSink 方法。 此标志是应用程序的提示。
MEDIASINK_CANNOT_MATCH_CLOCK
0x00000002
媒体接收器无法将速率与外部时钟匹配。

为获得最佳结果,应将此媒体接收器用作演示时钟的时间源。 如果使用任何其他时间源,则媒体接收器无法将速率与时钟匹配,结果 (较差,例如故障) 。

应谨慎使用此标志,因为它限制了管道的配置方式。

有关演示时钟的详细信息,请参阅 Presentation Clock

MEDIASINK_RATELESS
0x00000004
媒体接收器是无速率的。 它尽可能快地使用样本,并且不会将自身同步到演示时钟。

大多数存档接收器都是无速率的。

MEDIASINK_CLOCK_REQUIRED
0x00000008
媒体接收器需要一个演示时钟。 演示时钟是通过调用媒体接收器的 IMFMediaSink::SetPresentationClock 方法设置的。

此标志已过时,因为所有媒体接收器都必须支持 SetPresentationClock 方法,即使媒体接收器 (忽略时钟,就像在无速率媒体接收器) 中一样。

MEDIASINK_CAN_PREROLL
0x00000010
媒体接收器可以在演示时钟开始前接受预滚动样本。 媒体接收器公开 IMFMediaSinkPreroll 接口。
MEDIASINK_REQUIRE_REFERENCE_MEDIATYPE
0x00000020
第一个流接收器 (索引 0) 是引用流。 引用流必须具有媒体类型,然后才能在其他流接收器上设置媒体类型。

返回值

该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。

返回代码 说明
S_OK
方法成功。
MF_E_SHUTDOWN
已调用媒体接收器的 Shutdown 方法。

注解

介质接收器的特征在接收器的整个生命周期内都是固定的。

要求

要求
最低受支持的客户端 Windows Vista [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2008 [桌面应用 | UWP 应用]
目标平台 Windows
标头 mfidl.h
Library Mfuuid.lib

另请参阅

IMFMediaSink

媒体接收器