Buscando

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

Los filtros admiten la búsqueda a través de la interfaz IMediaSeeking . La aplicación consulta el Administrador de gráficos de filtros para IMediaSeeking y lo usa para emitir comandos seek. El Administrador de gráficos de filtros distribuye cada comando seek a todos los filtros del representador en el gráfico. Cada representador pasa el comando ascendente, a través de las patillas de salida de los filtros ascendentes, hasta que alcanza un filtro que puede ejecutar la búsqueda. Normalmente, un filtro de origen o un filtro de analizador, como el divisor AVI, lleva a cabo la operación de búsqueda.

Cuando un filtro realiza una operación de búsqueda, vacía los datos pendientes. El resultado es minimizar la latencia de los comandos seek, ya que los datos existentes se vacían del gráfico. Después de un comando seek, el tiempo de transmisión se restablece a cero.

En el diagrama siguiente se muestra la secuencia de eventos.

secuencia de eventos

Si un filtro de analizador tiene más de un pin de salida, normalmente designa uno de ellos para aceptar comandos seek. Los demás patillas rechazan o omiten los comandos de búsqueda que reciben. De esta manera, el analizador mantiene sincronizadas todas sus secuencias. Sin embargo, todas las patillas de salida deben implementar IMediaSeeking::GetCapabilities e IMediaSeeking::CheckCapabilities para devolver las funcionalidades de búsqueda del filtro. Esto garantiza que Filter Graph Manager devuelva el valor correcto a la aplicación.

La interfaz IMediaPosition ha quedado en desuso para los filtros. Los clientes de Automatización todavía necesitan usar esta interfaz en filter Graph Manager, ya que IMediaSeeking no es compatible con la automatización, pero Filter Graph Manager traduce todas las llamadas IMediaPosition a llamadas IMediaSeeking .

Lavado

Hora y reloj en DirectShow