Considérations relatives à la topologie KS
Le pilote système WDMAud (Wdmaud.sys) traduit la topologie de filtre KS en lignes de mélangeur héritées exposées via l’API de mélangeur . Une broche non PCM correspond à une ligne SRC (MIXERLINE_COMPONENTTYPE_SRC_XXX) dans l’API mixer. Si cette broche se trouve dans un chemin de données qui passe finalement dans une broche de pont (la connexion physique au point de terminaison d’un graphe) dédiée aux données non PCM, l’API mixer expose la broche de pont sous forme d’une ligne DST supplémentaire (MIXERLINE_COMPONENTTYPE_DST_XXX), distincte de la ligne DST pour les données PCM. Cela peut ajouter une complexité inutile aux contrôles visibles via un client d’API mixer, comme un remplacement de l’utilitaire SndVol32.
Si vous préférez ne pas exposer une broche non PCM de cette manière, une approche consiste à vous assurer que le chemin de données contenant la broche est finalement transmis dans un nœud SOMME partagé par le chemin de données PCM. Autrement dit, joignez la ligne DST non-PCM à la ligne DST main. Malheureusement, cette solution de contournement dénature la véritable topologie matérielle et peut entraîner des problèmes futurs avec les clients qui tentent de contrôler le flux de données non PCM via des nœuds en aval du nœud SOMME. Une meilleure approche consiste à modifier le client mixer-API pour ignorer simplement les lignes SRC et DST qui n’ont aucun contrôle.
Si vous utilisez l’utilitaire KsStudio pour afficher votre filtre d’ondes dans KSCATEGORY_AUDIO, vous devez vous attendre à voir une broche distincte pour les données non PCM. Lorsque vous affichez le graphique audio du système composite sous KSCATEGORY_AUDIO_DEVICE, vous devez voir vos plages de données non PCM sur le main broche de sortie d’onde, ainsi que toutes les plages de données PCM.
SysAudio (Sysaudio.sys) est le périphérique audio système dans Windows Server 2003, Windows XP, Windows 2000 et Windows Me/98. Notez que SysAudio génère automatiquement KSCATEGORY_AUDIO_DEVICE: un pilote ne doit pas s’inscrire manuellement dans cette catégorie.
Vous n’êtes pas obligé de connecter un chemin de données non-PCM au pilote de miniport de topologie. Cette connexion n’est utile que si le chemin de données non-PCM interagit avec le reste de la topologie de l’appareil ; pour instance, s’il se nourrit d’un mélangeur ou d’un convertisseur de débit d’échantillonnage commun. La connexion d’une broche de diffusion en continu à une broche de pont, où les deux broches se trouvent sur le pilote miniport wave, constitue une topologie complète valide pour un flux de données non PCM qui circule directement vers un port S/PDIF, par exemple.