Share via


Pour gérer la latence de l’enregistreur

[La fonctionnalité associée à cette page, le Kit de développement logiciel (SDK) Windows Media Format 11, est une fonctionnalité héritée. Il a été remplacé par lecteur source et enregistreur récepteur. Le lecteur source et l’enregistreur récepteur ont été optimisés pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise le lecteur source et l’enregistreur récepteur au lieu du Kit de développement logiciel (SDK) Windows Media Format 11, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

Le traitement des exemples prend du temps. La durée entre le passage d’un exemple d’entrée et l’écriture d’un exemple de sortie est appelée latence de l’enregistreur. Un certain nombre de facteurs contribuent à la latence de l’enregistreur et vous pouvez la réduire de plusieurs façons.

Le facteur le plus évident impliqué dans la latence de l’enregistreur est le temps nécessaire pour compresser un exemple. Dans la plupart des cas, vous aurez peu ou pas de contrôle sur cela. Si la bande passante n’est pas une préoccupation importante, vous pouvez réduire la latence en utilisant moins de compression. Bien sûr, vous pouvez obtenir la latence la plus faible en transmettant des exemples qui sont déjà compressés.

Le facteur suivant, et sur lequel vous avez généralement un contrôle, est l’ordre dans lequel les échantillons sont transmis au lecteur. Vous pouvez obtenir une meilleure latence en transmettant des exemples par ordre de temps de présentation et en vous assurant que les exemples d’entrée sont bien synchronisés entre tous les flux d’entrée. Plus la différence de temps de présentation entre les exemples pour les différents flux est importante, plus la latence en résulte. Vous pouvez définir un maximum pour la différence entre les exemples d’entrée en appelant IWMWriterAdvanced::SetSyncTolerance.

Écriture de fichiers ASF