Compartir a través de


Ejemplo de filtro infTee

[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.

Descripción

El filtro InfTee proporciona una implementación de ejemplo del filtro DirectShow Infinite Pin Tee . El filtro tiene un pin de entrada y un número dinámico de patillas de salida. Todas las muestras multimedia enviadas al filtro se entregan simultáneamente desde todos los pines de salida.

Este filtro aparece en GraphEdit bajo el nombre "Sample Infinite Pin Tee", para distinguirlo del filtro estándar Infinite Pin Tee que se proporciona en DirectShow.

Uso

Dado que este filtro no cambia los datos que recibe, todas las patillas deben aceptar el mismo tipo de medio. Durante el proceso de conexión, el filtro podría volver a conectar algunos pines para que los tipos multimedia coincidan.

Los datos que llegan al pin de entrada no se copian antes de enviarlos a los pines de salida. El filtro también garantiza que los datos se entreguen a los filtros de bajada, para garantizar que ambas salidas reciban un servicio puntual. En concreto, si una de las salidas puede bloquearse en la función miembro COutputQueue::Receive , el tee pone en marcha un subproceso para entregar el ejemplo. Si no hubiera ningún subproceso para entregar el ejemplo, el subproceso que entrega la muestra al pin de entrada de tee podría pasar los datos a un filtro de bajada; en ese momento, podría bloquearse, mantener los datos del otro filtro de bajada durante largos períodos de tiempo.

Descarga del ejemplo

Para descargar los ejemplos del SDK de DirectShow, instale la versión más reciente de Windows SDK.

Este ejemplo se instala en la siguiente ruta de acceso: [SDK Root]\Samples\Multimedia\DirectShow\Filters\InfTee.

Ejemplos de DirectShow