Eventos
19 nov, 23 - 21 nov, 23
Obtenga la ventaja competitiva que necesita con soluciones eficaces de inteligencia artificial y nube al asistir a Microsoft Ignite online.
Regístrese ahoraEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.
Análisis de datos multimedia
Si el filtro analiza los datos multimedia, no confíe en encabezados u otros datos autodescriptivos en el contenido. Por ejemplo, no confíe en los valores de tamaño que aparecen en fragmentos RIFF de AVI o paquetes MPEG. Entre los ejemplos comunes de este tipo de error se incluyen los siguientes:
Otra clase común de errores implica no validar las descripciones de formato que se encuentran en el contenido. Por ejemplo:
Durante la conexión de patillas, un filtro debe comprobar que todas las estructuras de formato tienen un formato correcto y contienen valores razonables. Si no es así, rechace la conexión. En el código que valida la estructura de formato, tenga especial cuidado con respecto al desbordamiento aritmético. Por ejemplo, en un BITMAPINFOHEADER, el ancho y el alto son valores largos de 32 bits, pero el tamaño de la imagen (que es una función del producto de los dos) es solo un valor DWORD .
Si el formato de los datos del origen es mayor que el búfer asignado, no trunca los datos de origen para copiarlos en el búfer. Si lo hace, puede crear una estructura cuyo tamaño implícito sea mayor que su tamaño real. Por ejemplo, un encabezado de mapa de bits podría especificar una tabla de paletas que ya no existe. En su lugar, reasigna el búfer o simplemente produce un error en la conexión.
Errores durante el streaming
Cuando se ejecuta el grafo, si el filtro recibe contenido con formato incorrecto, debe finalizar la transmisión por secuencias. Haga lo siguiente:
Dar formato a los cambios
Existen varios mecanismos para que los filtros cambien los formatos de la secuencia media. Cada uno de ellos implica más de un paso, lo que crea el potencial de aceptaciones falsas. Si el filtro obtiene una solicitud para un cambio de formato dinámico, debe rechazar la solicitud o, de lo contrario, respetar el nuevo formato cuando llegue. De forma similar, nunca cambie los formatos a menos que el otro filtro acepte. Para obtener más información, vea Cambios de formato dinámico.
Eventos
19 nov, 23 - 21 nov, 23
Obtenga la ventaja competitiva que necesita con soluciones eficaces de inteligencia artificial y nube al asistir a Microsoft Ignite online.
Regístrese ahora