IMFVideoCaptureSampleAllocator::InitializeCaptureSampleAllocator 方法 (mfidl.h)

使用与视频捕获方案相关的参数初始化示例分配器。

语法

HRESULT InitializeCaptureSampleAllocator(
  DWORD         cbSampleSize,
  DWORD         cbCaptureMetadataSize,
  DWORD         cbAlignment,
  DWORD         cMinimumSamples,
  IMFAttributes *pAttributes,
  IMFMediaType  *pMediaType
);

参数

cbSampleSize

指定样本大小的 DWORD(以字节为单位)。 分配器使用的实际样本大小是 pMediaType 和 cbSampleSize 所需的最大大小。

cbCaptureMetadataSize

指定捕获元数据大小的 DWORD(以字节为单位)。 仅适用于想要在捕获的帧中包含其他元数据的调用方。 除了元数据有效负载本身的大小外,元数据大小还应包括 KSCAMERA_METADATA_ITEMHEADER 的大小。

cbAlignment

指定缓冲区对齐大小(以字节为单位)的 DWORD。 默认对齐大小和最小对齐大小为 4KB。 小于 4KB 的自定义对齐大小将被视为 4KB。

cMinimumSamples

指定最小预分配样本数的 DWORD。 如果分配器无法预先分配指定的最小样本数,则此方法将失败。

pAttributes

可选。 具有示例分配器的其他配置属性的 IMFAttributes 存储。 支持的属性包括:

pMediaType

IMFMediaType,指定将为其分配样本的媒体类型。 样本分配器使用此参数来计算媒体样本所需的最小大小。

返回值

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

返回代码 说明
S_OK 方法成功。
MF_E_INVALIDMEDIATYPE 媒体类型无效。

要求

要求
最低受支持的客户端 Windows 10,版本 2004 (10.0;内部版本 19041)
最低受支持的服务器 Windows Server 版本 2004 (10.0;内部版本 19041)
标头 mfidl.h