筛选器开发人员的数据流

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

本部分详细介绍了数据如何通过筛选器图移动。 它侧重于使用 IMemInputPinIAsyncReader 接口的本地内存传输。 它适用于编写自己的自定义筛选器的开发人员。 有关如何Microsoft DirectShow 处理数据流的一般介绍,请参阅 Filter Graph 中的数据流。

大量数据在筛选器图中移动。 它大致分为两类:媒体数据和控制数据。 一般情况下,媒体数据在下游传输,并控制数据在上游传输。 媒体数据包括构成流的视频帧、音频示例、MPEG 数据包等,还包括刷新命令、流结束通知和其他随流一起传输的数据。 控制数据不是媒体流的一部分。 控制数据的示例包括质量控制请求和查找命令。

本节包含以下文章。

Quality-Control 管理

线程和关键部分

编写 DirectShow 筛选器