I'm adapting the Streaming Input Audio example and am converting each completed buffer into AMR using the CPcmToAmrEncoder API.
The streaming audio example uses PCM16 (I think thats the only format supported - nothing has been changed on that front).
The destination buffer that I provide for the Encode() function is of the same length as the source buffer (16000) although I'm sure most of it is unused.
After the function returns, I write the AMR buffer to file, and I've noticed that the contents are different for different inputs - So I'm assuming that the encoder is working.
1. Only the first 32 bytes of data in the 16000 byte buffer are non-zero. Consistently. Why is this happening ?
2. The TInt& aDstLen parameter to the Encode function now has value 32 - can I safely assume that the actual length of AMR data will be returned in this ?
3. How would I go about creating an AMR file from this data - how do I add the '#AMR' header and other information ?
Any help/suggestions would be greatly appreciated.