fonction acmStreamConvert (msacm.h)

La fonction acmStreamConvert demande à ACM d’effectuer une conversion sur le flux de conversion spécifié. Une conversion peut être synchrone ou asynchrone, selon la façon dont le flux a été ouvert.

Syntaxe

MMRESULT ACMAPI acmStreamConvert(
  HACMSTREAM        has,
  LPACMSTREAMHEADER pash,
  DWORD             fdwConvert
);

Paramètres

has

Gérez le flux de conversion ouvert.

pash

Pointeur vers un en-tête de flux qui décrit les mémoires tampons source et de destination pour une conversion. Cet en-tête doit avoir été préparé précédemment à l’aide de la fonction acmStreamPrepareHeader .

fdwConvert

Indicateurs pour effectuer la conversion. Les valeurs suivantes sont définies.

Valeur Signification
ACM_STREAMCONVERTF_BLOCKALIGN Seuls les nombres intégraux de blocs seront convertis. Les données converties se terminent sur les limites alignées sur les blocs. Une application doit utiliser cet indicateur pour toutes les conversions sur un flux jusqu’à ce qu’il n’y ait pas suffisamment de données sources pour convertir en destination alignée sur les blocs. Dans ce cas, la dernière conversion doit être spécifiée sans cet indicateur.
ACM_STREAMCONVERTF_END Le flux de conversion ACM doit commencer à renvoyer les données instance en attente. Par exemple, si un flux de conversion contient instance données, telles que la fin d’une opération de filtre d’écho, cet indicateur entraîne le début du retour de ces données restantes avec des données sources facultatives. Cet indicateur peut être spécifié avec l’indicateur ACM_STREAMCONVERTF_START.
ACM_STREAMCONVERTF_START Le flux de conversion ACM doit réinitialiser ses données instance. Par exemple, si un flux de conversion contient des données instance, telles que des informations delta ou prédictives, cet indicateur restaure le flux à des valeurs par défaut de démarrage. Cet indicateur peut être spécifié avec l’indicateur ACM_STREAMCONVERTF_END.

Valeur retournée

Retourne zéro en cas de réussite ou d’erreur dans le cas contraire. Les valeurs d’erreur possibles sont les suivantes.

Code de retour Description
ACMERR_BUSY
L’en-tête de flux spécifié dans pash est actuellement utilisé et ne peut pas être réutilisé.
ACMERR_UNPREPARED
L’en-tête de flux spécifié dans pash n’est actuellement pas préparé par la fonction acmStreamPrepareHeader .
MMSYSERR_INVALFLAG
Au moins un indicateur n’est pas valide.
MMSYSERR_INVALHANDLE
Le handle spécifié n’est pas valide.
MMSYSERR_INVALPARAM
Au moins un paramètre n’est pas valide.

Notes

Vous devez utiliser la fonction acmStreamPrepareHeader pour préparer les mémoires tampons source et de destination avant qu’elles ne soient transmises à acmStreamConvert.

Si une demande de conversion asynchrone est correctement mise en file d’attente par ACM ou le pilote et que la conversion est ultérieurement jugée impossible, la structure ACMSTREAMHEADER est renvoyée à la fonction de rappel de l’application avec le membre cbDstLengthUsed défini sur zéro.

Spécifications

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête msacm.h
Bibliothèque Msacm32.lib
DLL Msacm32.dll

Voir aussi

Fonctions de compression audio

Gestionnaire de compression audio