CBaseInputPin 类

[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayerIMFMediaEngine媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

cbaseinputpin 类层次结构

CBaseInputPin 是用于实现输入引脚的抽象基类。 此类除了 CBasePin 提供的 IPin 接口支持外,还添加了对 IMemInputPin 接口的支持。

若要使用此类,请派生一个新类并至少重写以下方法:

根据引脚的功能,可能需要替代 或 CBasePin 中的其他CBaseInputPin方法。

受保护的成员变量 说明
m_pAllocator 指向内存分配器的指针。
m_bReadOnly 指示分配器是否生成只读媒体样本的标志。
m_bFlushing 指示引脚当前是否正在刷新的标志。
m_SampleProps 最新示例的属性。
公共方法 说明
CBaseInputPin 构造函数方法。
~CBaseInputPin 析构函数方法。
BreakConnect 从连接中释放引脚。
IsReadOnly 查询分配器是否使用只读媒体示例。
IsFlushing 查询筛选器当前是否正在刷新。
CheckStreaming 确定引脚是否可以接受样本。 虚拟。
PassNotify 将质量控制消息传递给相应的对象。
非活动 通知引脚筛选器不再处于活动状态。 虚拟。
SampleProps 检索最新示例的属性。
IPin 方法 说明
BeginFlush 开始刷新操作。
EndFlush 结束刷新操作。
IMemInputPin 方法 说明
GetAllocator 检索此引脚建议的内存分配器。
NotifyAllocator 指定连接的分配器。
GetAllocatorRequirements 检索输入引脚请求的分配器属性。
接收 接收流中的下一个媒体示例。
ReceiveMultiple 接收流中的多个样本。
ReceiveCanBlock 确定是否阻止对 CBaseInputPin::Receive 方法的调用。
IQualityControl 方法 说明
通知 接收质量控制消息。

要求

要求
标头
Amfilter.h (包括 Streams.h)

Strmbase.lib (零售版本) ;
Strmbasd.lib (调试生成)