CRenderedInputPin 类
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
CRenderedInputPin 类是用于在呈现器上实现输入引脚的基类。 此类适用于不从 CBaseRenderer 类派生的呈现器筛选器。 派生自 CBaseRenderer 的 (筛选器应将 CRendererInputPin 类用于输入 pin.)
若要使用此类,必须至少执行以下操作:
- 声明继承 CRenderedInputPin 的新固定类。
- 在固定类中,声明一个关键节对象来保存流式处理锁。 为此,可以使用 CCritSec 类。 有关详细信息,请参阅 线程和关键部分。
- 重写 CRenderedInputPin::EndOfStream 以保留流式处理锁。
- 实现 IMemInputPin::Receive、 CBasePin::CheckMediaType 和 CBasePin::GetMediaType 方法。
- 在筛选器中,实现 CBaseFilter::GetPin 以返回固定类的实例。
可以在具有多个输入引脚的呈现器中使用此类。 此类继承 CBaseInputPin 类。
受保护的成员变量 | 说明 |
---|---|
m_bAtEndOfStream | 指示是否已到达流的末尾。 |
m_bCompleteNotified | 指示引脚是否已将 EC_COMPLETE 事件发送到 Filter Graph 管理器。 |
公共方法 | 说明 |
活动 | 通知引脚筛选器现在处于活动状态。 |
CRenderedInputPin | 构造函数方法。 |
运行 | 通知引脚筛选器现在正在运行。 |
IPin 方法 | 说明 |
EndFlush | 结束刷新操作。 |
EndOfStream | 通知引脚,在筛选器收到新的运行命令之前,预期不会有其他数据。 |
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|