CBaseInputPin.ReceiveMultiple 方法
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
方法 ReceiveMultiple
接收样本数组。 此方法实现 IMemInputPin::ReceiveMultiple 方法。
语法
HRESULT ReceiveMultiple(
IMediaSample **pSamples,
long nSamples,
long *nSamplesProcessed
);
参数
-
pSamples
-
IMediaSample 指针数组的地址,大小为 nSamples。
-
nSamples
-
要处理的示例数。
-
nSamplesProcessed
-
指向接收已处理样本数的变量的指针。
返回值
返回 HRESULT 值。 可能的值包括下表中列出的值。
返回代码 | 说明 |
---|---|
|
成功。 |
|
Pin 当前正在刷新;示例被拒绝。 |
|
NULL 指针参数。 |
|
媒体类型无效。 |
|
发生运行时错误。 |
|
引脚已停止。 |
备注
此方法的行为类似于 CBaseInputPin::Receive 方法,但接收样本数组。 在基类中,方法循环访问 数组,并为每个示例调用 Receive 。 如果筛选器可以比一次处理一批样本更高效地处理一批样本,请重写此函数。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|