Compartir a través de


Controlar el final de la secuencia en códecs AVStream

Cuando un MFT de HW recibe una muestra con un conjunto de marcas de fin de secuencia (EOS), establece KSSTREAM_HEADER_OPTIONSF_ENDOFSTREAM en el miembro OptionsFlag de la estructura KSSTREAM_HEADER que corresponde a esa muestra.

Después de que el minidriver reciba un KSSTREAM_POINTER con la marca KSSTREAM_HEADER_OPTIONSF_ENDOFSTREAM establecida en StreamHeader.OptionsFlag, el pin de entrada no recibirá ningún puntero de flujo de entrada nuevo hasta que el minidriver establezca KSSTREAM_HEADER_OPTIONSF_ENDOFSTREAM en un puntero de flujo de salida.

Antes de que el minidriver establezca KSSTREAM_HEADER_OPTIONSF_ENDOFSTREAM en un puntero de flujo de salida, debe generar tantos fotogramas de salida como sea posible con entradas disponibles actualmente.

A continuación, el minidriver debe borrar cualquier información almacenada en caché relacionada con los punteros de flujo procesados previamente, además de los datos asociados a estos punteros de flujo. A continuación, el minidriver debe establecer KSSTREAM_HEADER_OPTIONSF_ENDOFSTREAM en el pin de salida.

El minidriver debe tratar los nuevos punteros de flujo de entrada que llegan posteriormente como parte de una nueva secuencia. Una excepción es si la EOS se produce como resultado de una discontinuidad en la secuencia multimedia. Si este es el caso, el puntero de flujo recién llegado tendría KSSTREAM_HEADER_OPTIONSF_DATADISCONTINUITY o KSSTREAM_HEADER_OPTIONSF_TIMEDISCONTINUITY, o ambos, marcas establecidas en KSSTREAM_HEADER. OpcionesFlags. Si los punteros de flujo con uno de estos indicadores establecidos llegan al pin de entrada, el minidriver debe establecer las mismas marcas en el puntero de flujo del pin de salida correspondiente.