CBaseOutputPin 类

cbaseoutputpin 类层次结构

CBaseOutputPin 是实现输出引脚的抽象基类。

此类派生自 CBasePin。 它在以下方面不同于 CBasePin:

当引脚连接时,它会从输入引脚请求内存分配器。 如果失败,它将创建一个新的分配器对象。 输出引脚负责设置分配器属性。 它通过纯虚拟方法 CBaseOutputPin::D BufferSize 实现此操作。 在派生类中重写此方法。 如果输入引脚有任何缓冲区要求,则将其传递给 DecideBufferSize 方法。

调用 CBaseOutputPin::GetDeliveryBuffer 方法获取空媒体示例。 调用 CBaseOutputPin::D eliver 方法以在下游传递示例。

派生类必须重写纯虚拟 CBasePin::CheckMediaType 方法,以在引脚连接期间验证媒体类型。

受保护的成员变量 说明
m _ pAllocator 指向内存分配器指针。
m _ pInputPin 指向连接到此引脚的输入引脚的指针。
公共方法 说明
CBaseOutputPin 构造函数方法。
CompleteConnect 完成与输入引脚的连接。 虚拟。
DecideAllocator 选择内存分配器。 虚拟。
GetDeliveryBuffer 检索包含空缓冲区的媒体示例。 虚拟。
传送 将媒体示例传送给连接的输入引脚。 虚拟。
InitAllocator 创建内存分配器。 虚拟。
CheckConnect 确定引脚连接是否合适。
BreakConnect 从连接释放引脚。
可用 通知引脚筛选器现在处于活动状态。
非活动 通知引脚筛选器不再处于活动状态。
DeliverEndOfStream 将流尾通知传送给连接的输入引脚。虚拟。
DeliverBeginFlush 请求连接的输入引脚以开始刷新操作。 虚拟。
DeliverEndFlush 请求连接的输入引脚以结束刷新操作。 虚拟。
DeliverNewSegment 将新段通知传送给连接的输入引脚。 虚拟。
纯虚拟方法 说明
DecideBufferSize 设置缓冲区要求。
IPin 方法 说明
BeginFlush 开始刷新操作。
EndFlush 结束刷新操作。
EndOfStream 通知引脚不需要其他数据。

要求

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

Strmbase.lib (零售) ;
Str (sd.lib)