USB 视频类实现
Microsoft 提供的 USB 视频类 (UVC) 驱动程序 (usbvideo.sys) 是一个以引脚为中心的 AVStream 微型驱动程序。 它为操作系统枚举的每个符合 USB 视频类的设备实例创建筛选器工厂。 驱动程序还会为设备上的每个输入或输出终端创建一个引脚工厂,并将 KSPIN_DESCRIPTOR 结构的 DataFlow 成员设置为相关值。
USB 视频类驱动程序使用设备描述符报告的内部设备拓扑来构造由筛选器、节点和连接组成的内核流式处理 (KS) 拓扑图。
根据设备支持的控件的数量和类型,USB 视频类通过 AVStream 筛选器和引脚描述符中的 KS 自动化表动态报告筛选器、引脚和节点属性集。
根据设备上的每个视频或静态图像数据终结点支持的数据格式,USB 视频类报告相应的支持的 KS 数据范围列表以及相应的 AVStream 引脚描述符中的数据交集处理程序。 USB 视频类驱动程序通过 内核流式处理代理 模块导出信息。
USB 视频类驱动程序还支持音频/视频流同步;usbvideo.sys 可用作 KS 主时钟,并为视频示例添加时间戳。 USB 视频类规范包括有关硬件应如何向类驱动程序提供计时信息的详细信息。
若要与 USB 视频类通信,用户模式客户端将调用 DirectShow 或 Media Foundation 接口。 这些接口是由内核流式处理代理定义为插件的 COM 接口包装器。有关媒体基础的详细信息,请参阅Microsoft Windows SDK文档。