Conversión de formato de varios pasos
A veces, el ACM no puede convertir datos de un formato a otro en un solo paso. Por ejemplo, una aplicación podría necesitar convertir datos estéreo de 16 bits, de 44 kHz a 11 kHz mono ADPCM. Si el compresor o el descomprimor no pueden realizar esta conversión directamente, la aplicación podría intentarlo en dos pasos. Esto normalmente significa realizar una conversión entre dos formatos PCM y, a continuación, otra conversión al tipo de formato final.
Para convertir en dos pasos, use la función acmFormatSuggest para buscar un formato PCM que coincida con el formato ADPCM. A continuación, use dos flujos de conversión para realizar la conversión. Por ejemplo, realice una conversión de 16 bits, PCM estéreo de 44 kHz a mono ADPCM de 16 bits, de 11 kHz y luego convierta de mono de 16 bits, de 11 kHz a mono ADPCM de 11 kHz.
La conversión de varios pasos también se produce cuando el formato de origen o de destino no es PCM. Si el formato de origen no es PCM, debe cambiarse a un formato PCM antes de la conversión. Si el formato de destino no es PCM, el origen debe convertirse en un formato PCM intermedio y, a continuación, convertirse al formato de destino final.
Las conversiones más sencillas se producen cuando los formatos de origen y destino son ambos formatos PCM. Cuando el formato de origen o de destino no es PCM, la conversión puede requerir un paso adicional. Si los formatos de origen y destino no son PCM, la conversión normalmente requerirá más de un paso y, en algunos casos, es posible que la conversión no sea posible.