CBaseOutputPin.DecideBufferSize 方法
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
方法 DecideBufferSize
设置缓冲区要求。
语法
virtual HRESULT DecideBufferSize(
IMemAllocator *pAlloc,
ALLOCATOR_PROPERTIES *ppropInputRequest
) = 0;
参数
-
pAlloc
-
指向分配器的 IMemAllocator 接口的指针。
-
ppropInputRequest
-
指向包含输入引脚缓冲区要求的 ALLOCATOR_PROPERTIES 结构的指针。 如果输入引脚没有任何要求,则调用方应在调用 方法之前将此结构的成员归零。
返回值
如果成功,则返回S_OK,或返回指示错误原因的 HRESULT 值。
备注
在派生类中重写此方法。 调用 IMemAllocator::SetProperties 方法来指定缓冲区要求。 通常,派生类将遵循输入引脚的缓冲区要求,但不是必需的。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|