Compartir a través de


Especificar tramas de asignador en códecs AVStream

Por lo general, los requisitos del asignador de un pin KS determinan el tamaño físico de los búferes de streaming proporcionados por AVStream.

Sin embargo, dado que los pines de entrada simplemente pasan muestras de nivel inferior, los requisitos de tamaño del búfer especificados en el KSALLOCATOR_FRAMING_EX de un pin de entrada (KS_FRAMING_ITEM. PhysicalRange) no se usan. El controlador todavía debe determinar el tamaño del marco de entrada después de establecer el tipo de medio y ajustar sus estructuras internas en consecuencia.

Aunque los controladores no pueden influir en el tamaño del marco en los pines de entrada, el número máximo de fotogramas pendientes (KS_FRAMING_ITEM. Frames) depende de los requisitos del asignador del pin. Para un flujo de datos suave entre componentes de streaming y menos problemas, se recomienda que los filtros de codificador y descodificador tengan pins de entrada y salida que admitan un mínimo de tres fotogramas pendientes.

Además de proporcionar información de marco de asignador en el KSPIN_DESCRIPTOR_EX en el momento de la inicialización del dispositivo, el controlador también debe actualizar la estructura KSALLOCATOR_FRAMING_EX pertinente. Esta actualización debe basarse en el tipo de medio de conexión del pin en la rutina de devolución de llamada AVStrMiniPinSetDataFormat proporcionada por el proveedor.