Compartilhar via


Especificando enquadramento de alocador em codecs AVStream

Em geral, os requisitos do alocador de um pin KS determinam o tamanho físico dos buffers de streaming fornecidos pelo AVStream.

No entanto, como os pinos de entrada apenas passam amostras downstream, os requisitos de tamanho do buffer especificados no KSALLOCATOR_FRAMING_EX de um pino de entrada (KS_FRAMING_ITEM. PhysicalRange) não são usados. O driver ainda deve determinar o tamanho do quadro de entrada depois que o tipo de mídia for definido e ajustar suas estruturas internas adequadamente.

Embora os drivers não possam influenciar o tamanho do quadro nos pinos de entrada, o número máximo de quadros pendentes (KS_FRAMING_ITEM. Quadros) depende dos requisitos do alocador do pino. Para um fluxo de dados suave entre componentes de streaming e menos falhas, recomendamos que os filtros codificador e decodificador tenham pinos de entrada e saída que dão suporte a um mínimo de três quadros pendentes.

Além de fornecer informações de enquadramento do alocador no KSPIN_DESCRIPTOR_EX no momento da inicialização do dispositivo, o driver também deve atualizar a estrutura de KSALLOCATOR_FRAMING_EX relevante. Essa atualização deve ser baseada no tipo de mídia de conexão do pin na rotina de retorno de chamada AVStrMiniPinSetDataFormat fornecida pelo fornecedor.