Spécification du cadrage de l’allocateur dans les codecs AVStream
En règle générale, les exigences d’allocation d’une broche KS déterminent la taille physique des mémoires tampons de streaming fournies par AVStream.
Toutefois, étant donné que les broches d’entrée passent simplement des échantillons en aval, les exigences de taille de mémoire tampon spécifiées dans le KSALLOCATOR_FRAMING_EX d’une broche d’entrée (KS_FRAMING_ITEM. PhysicalRange) ne sont pas utilisés. Le pilote doit toujours déterminer la taille de l’image d’entrée une fois le type de média défini et ajuster ses structures internes en conséquence.
Bien que les pilotes ne puissent pas influencer la taille de l’image sur les broches d’entrée, le nombre maximal d’images en attente (KS_FRAMING_ITEM. Frames) dépend des exigences d’allocation de la broche. Pour un flux de données fluide entre les composants de streaming et moins de problèmes, nous recommandons que les filtres de l’encodeur et du décodeur aient des broches d’entrée et de sortie qui prennent en charge au moins trois images en attente.
En plus de fournir des informations d’encadrement d’allocateur dans le KSPIN_DESCRIPTOR_EX au moment de l’initialisation de l’appareil, le pilote doit également mettre à jour la structure de KSALLOCATOR_FRAMING_EX appropriée. Cette mise à jour doit être basée sur le type de média de connexion de l’épingle dans la routine de rappel AVStrMiniPinSetDataFormat fournie par le fournisseur.