acmStreamConvert, fonction (msacm.h)

La fonction acmStreamConvert demande à L’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 sont convertis. Les données converties se terminent par des limites alignées sur des 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 à convertir en destination alignée sur un bloc. 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 à retourner des données d’instance en attente. Par exemple, si un flux de conversion contient des données d’instance, telles que la fin d’une opération de filtre d’écho, cet indicateur entraîne le début du flux de 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 d’instance. Par exemple, si un flux de conversion contient des données d’instance, telles que des informations delta ou de prédiction, cet indicateur restaure le flux à partir des valeurs par défaut. 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 le pash est actuellement en cours d’utilisation et ne peut pas être réutilisé.
ACMERR_UNPREPARED
L’en-tête de flux spécifié dans le 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 passées à acmStreamConvert.

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

Configuration requise

   
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