Share via


Inyección de fotogramas

De forma predeterminada, en AVStream, un solicitante adquiere marcos vacíos de un asignador y los coloca en una cola. A continuación, el minidriver rellena los fotogramas mediante el procesamiento centrado en patillas o el procesamiento centrado en filtros. Los fotogramas se mueven a través de un transporte al siguiente objeto del circuito, completando finalmente el circuito y volviendo al solicitante. A continuación, AVStream reutiliza los fotogramas.

Los minicontroladores pueden invalidar este comportamiento predeterminado mediante el modo de inyección. En el modo de inyección, el minidriver es responsable de colocar fotogramas en el circuito. Los fotogramas se propagan alrededor del circuito de la manera predeterminada. Cuando los fotogramas vuelven al objeto AVStream donde se iniciaron, AVStream llama a una rutina AVStrMiniFrameReturn proporcionada por minidriver.

En esta rutina, el minidriver podría desasignar por ejemplo el marco, completar el trabajo pendiente en el retorno del marco, o rellenar y volver a expulsar el marco.

Para establecer el modo de inyección, el minidriver llama a KsPinRegisterFrameReturnCallback y proporciona un puntero a su rutina AVStrMiniFrameReturn .

No llame aKsPinRegisterFrameReturnCallbacka menos que el filtro esté en estado de detención.

Para insertar fotogramas en el circuito, llame a KsPinSubmitFrame o KsPinSubmitFrameMdl.

En el diagrama siguiente se muestra un conjunto de filtros AVStream compuesto por un filtro de origen, un filtro de transformación en lugar y un filtro de representación con los marcos de inserción de origen.

diagrama que ilustra un conjunto de filtros avstream.