线程和关键部分
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
本部分介绍 DirectShow 筛选器中的线程处理,以及避免自定义筛选器崩溃或死锁应采取的步骤。
本节中的示例使用伪代码来说明需要编写的代码。 他们假设自定义筛选器使用派生自 DirectShow 基类的类,如下所示:
- CMyInputPin:派生自 CBaseInputPin。
- CMyOutputPin:派生自 CBaseOutputPin。
- CMyFilter:派生自 CBaseFilter。
- CMyInputAllocator:输入引脚的分配器,派生自 CMemAllocator。 并非每个筛选器都需要自定义分配器。 对于许多筛选器, CMemAllocator 类就足够了。
本部分包含以下主题。
相关主题