[与此页面关联的功能 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 | 通知引脚,在筛选器收到新的运行命令之前,预期不会有其他数据。 |
要求
| 要求 | 值 |
|---|---|
| 标头 |
|
| 库 |
|