Subprocesos y secciones críticas
[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.
En esta sección se describe el subproceso en filtros DirectShow y los pasos que debe seguir para evitar bloqueos o interbloqueos en un filtro personalizado.
Los ejemplos de esta sección usan pseudocódigo para ilustrar el código que necesitará escribir. Se supone que un filtro personalizado usa clases derivadas de las clases base directShow, como se indica a continuación:
- CMyInputPin: derivado de CBaseInputPin.
- CMyOutputPin: derivado de CBaseOutputPin.
- CMyFilter: derivado de CBaseFilter.
- CMyInputAllocator: asignador del pin de entrada, derivado de CMemAllocator. No todos los filtros necesitan un asignador personalizado. Para muchos filtros, la clase CMemAllocator es suficiente.
Esta sección contiene los temas siguientes.
- Secuencias y subprocesos de aplicación
- Pausando
- Recepción y entrega de ejemplos
- Entrega del final de la secuencia
- Vaciado de datos
- Stopping (Deteniéndose)
- Obtención de búferes
- Subprocesos de streaming y el Administrador de gráficos de filtros
- Resumen de subprocesos de filtro
Temas relacionados