Compartir a través de


Inyección de fotogramas

De forma predeterminada, en AVStream, un solicitante adquiere fotogramas vacíos de un asignador y los coloca en una cola. A continuación, el minidriver rellena los fotogramas mediante el procesamiento centrado en anclajes 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 minidrivers 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 forma 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 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 a KsPinRegisterFrameReturnCallback a 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.