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 存储。 支持的属性包括:
- MF_SA_BUFFERS_PER_SAMPLE
- MF_SA_D3D11_BINDFLAGS
- MF_SA_D3D11_USAGE
- MF_SA_D3D11_SHARED
- MF_SA_D3D11_SHARED_WITHOUT_MUTEX
pMediaType
IMFMediaType,指定将为其分配样本的媒体类型。 样本分配器使用此参数来计算媒体样本所需的最小大小。
返回值
该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
S_OK | 方法成功。 |
MF_E_INVALIDMEDIATYPE | 媒体类型无效。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10,版本 2004 (10.0;内部版本 19041) |
最低受支持的服务器 | Windows Server 版本 2004 (10.0;内部版本 19041) |
标头 | mfidl.h |