Compartir a través de


Función acmStreamConvert (msacm.h)

La función acmStreamConvert solicita al ACM que realice una conversión en la secuencia de conversión especificada. Una conversión puede ser sincrónica o asincrónica, dependiendo de cómo se abrió la secuencia.

Sintaxis

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

Parámetros

has

Identificador de la secuencia de conversión abierta.

pash

Puntero a un encabezado de secuencia que describe los búferes de origen y destino para una conversión. Este encabezado debe haberse preparado previamente mediante la función acmStreamPrepareHeader .

fdwConvert

Marcas para realizar la conversión. Se definen los valores siguientes.

Valor Significado
ACM_STREAMCONVERTF_BLOCKALIGN Solo se convertirán números enteros de bloques. Los datos convertidos terminarán en límites alineados en bloques. Una aplicación debe usar esta marca para todas las conversiones de una secuencia hasta que no haya suficientes datos de origen para convertir en un destino alineado con bloques. En este caso, se debe especificar la última conversión sin esta marca.
ACM_STREAMCONVERTF_END El flujo de conversión de ACM debe comenzar a devolver datos de instancia pendientes. Por ejemplo, si un flujo de conversión contiene datos de instancia, como el final de una operación de filtro de eco, esta marca hará que la secuencia empiece a devolver estos datos restantes con datos de origen opcionales. Esta marca se puede especificar con la marca ACM_STREAMCONVERTF_START.
ACM_STREAMCONVERTF_START El flujo de conversión de ACM debe reinicializar sus datos de instancia. Por ejemplo, si un flujo de conversión contiene datos de instancia, como información diferencial o de predicción, esta marca restaurará la secuencia para iniciar los valores predeterminados. Esta marca se puede especificar con la marca ACM_STREAMCONVERTF_END.

Valor devuelto

Devuelve cero si es correcto o si se produce un error de lo contrario. Entre los posibles valores de error se incluyen los siguientes.

Código devuelto Descripción
ACMERR_BUSY
El encabezado de secuencia especificado en pash está actualmente en uso y no se puede reutilizar.
ACMERR_UNPREPARED
El encabezado de secuencia especificado en pash no está preparado actualmente por la función acmStreamPrepareHeader .
MMSYSERR_INVALFLAG
Al menos una marca no es válida.
MMSYSERR_INVALHANDLE
El identificador especificado no es válido.
MMSYSERR_INVALPARAM
Al menos un parámetro no es válido.

Comentarios

Debe usar la función acmStreamPrepareHeader para preparar los búferes de origen y destino antes de pasarlos a acmStreamConvert.

Si el controlador o ACM ponen en cola correctamente una solicitud de conversión asincrónica y la conversión se determina posteriormente como imposible, la estructura ACMSTREAMHEADER se devuelve a la función de devolución de llamada de la aplicación con el miembro cbDstLengthUsed establecido en cero.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado msacm.h
Library Msacm32.lib
Archivo DLL Msacm32.dll

Consulte también

Funciones de compresión de audio

Administrador de compresión de audio