Re: SoundConverterConvertBuffer() is broken on Mac OS X
Re: SoundConverterConvertBuffer() is broken on Mac OS X
- Subject: Re: SoundConverterConvertBuffer() is broken on Mac OS X
- From: Jeff Moore <email@hidden>
- Date: Wed, 12 Dec 2001 15:50:27 -0800
on 12/12/01 2:38 PM, Andrew Taylor <email@hidden> wrote:
>
For Mac OS X, interrupt callbacks don't seem to work.
Unfortunately, there is a bug in the sinp component that sits on top of the
HAL that prevents this from working.
>
So I rewrote
>
the code to use a completion routine, which works, but the resulting
>
data coming out of SoundConverterConvertBuffer is wrong. It is as if
>
the voice played back is very very very slow.
>
>
Has anybody else encountered this?
>
Has something changed in the data that is delivered from SPBRecord?
>
Are different parameters required for SoundConverterConvertBuffer() ?
The components the SoundConverter uses are pretty much the same code on X as
they are on 9. This behavior has not come up in any testing. Can you distill
the code down and provide an example?
>
Is there an equivalent call in core audio that I can call from my
>
completion routine in a CFM application and get this functionality?
In 10.1.x, we introduced the AudioConverter API located in
<AudioToolbox/AudioConverter.h>. At the moment, it only does linear PCM
sample format conversions, rate conversion, and channelization. It doesn't
yet have support for compressed data streams.
This is a native X API that doesn't exist on 9 (like all the CoreAudio
APIs), so you will need to deal with the CFM glue code to get back and forth
between dyld and CFM. CFBundle is one option. Writing your own UPP glue is
another.
--
Jeff Moore
Core Audio
Apple