Compartir a través de


Implementación de clase de vídeo USB

El controlador de clase de vídeo USB (UVC) proporcionado por Microsoft (usbvideo.sys) es un minidriver AVStream centrado en patillas. Crea un generador de filtros para cada instancia de dispositivo compatible con la clase de vídeo USB enumerada por el sistema operativo. El controlador también crea un generador de patillas para cada terminal de entrada o salida en el dispositivo, con el miembro DataFlow de la estructura KSPIN_DESCRIPTOR establecida en el valor pertinente.

El controlador USB Video Class usa la topología de dispositivo interna notificada por los descriptores de dispositivo para construir un gráfico de topología de streaming de kernel (KS) formado por filtros, nodos y conexiones.

En función del número y los tipos de controles admitidos por el dispositivo, la clase de vídeo USB notifica dinámicamente los conjuntos de propiedades filter, pin y node a través de las tablas de automatización KS en los descriptores de pin y filtro AVStream.

En función de los formatos de datos admitidos por cada punto de conexión de datos de imagen o vídeo en el dispositivo, USB Video Class informa de la lista correspondiente de intervalos de datos KS admitidos y un controlador de intersección de datos en el descriptor de patilla AVStream respectivo. El controlador usb de clase de vídeo exporta la información a través del módulo proxy de streaming de kernel .

El controlador USB Video Class también admite la sincronización de secuencias de audio/vídeo; usbvideo.sys puede servir como reloj maestro KS y agregar marcas de tiempo a muestras de vídeo. La especificación de clase de vídeo USB incluye detalles sobre cómo el hardware debe proporcionar información de tiempo al controlador de clase.

Para comunicarse con la clase de vídeo USB, los clientes en modo de usuario llaman a las interfaces DirectShow o Media Foundation. Estas interfaces son contenedores de interfaz COM definidos por el proxy de streaming del kernel como complementos. Consulte la documentación de Microsoft Windows SDK para obtener más información sobre Media Foundation.