[Speex-dev] Decoded output buffer size
Daniele Barzotti
daniele.barzotti at eurocomtel.com
Thu Apr 15 01:55:17 PDT 2010
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Il 15/04/2010 01:30, Conrad Parker wrote:
>
>> But how can I know the size of each speex frame into a multiframe payload?
>
> use speex_bit_read_from() just once on the packet, then call
> speex_decode() once for each frame.
>
> Conrad.
Thanks for the reply, Conrad.
What is not clear for me (and I didn't found it on the manual) is how to
decode a multi-frame payload.
Once have called speex_bits_read_from, I need a way to know how many
speex frames there are, how can I do this?
I try to use speex_bits_remaining, but after some cycles it returns
always 4.
UINT DecodePayload( char* payload, UINT payload_len )
{
speex_bits_reset(&spx_bits_);
speex_bits_read_from(&spx_bits_, payload, payload_len);
UINT nbBytes = speex_bits_remaining(&spx_bits_);
while (nbBytes>0)
{
speex_decode(spx_state_, &spx_bits_, spx_dec_frame_);
nbBytes = speex_bits_remaining(&spx_bits_);
// Save the speex frame into the buffer
DecOutBuffer_.Write(spx_dec_frame_, spx_frame_size_);
}
}
Any suggestion?
Thanks,
Daniele.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (MingW32)
iEYEARECAAYFAkvG1HUACgkQ/l+kMioSZwi/JgCfarhEpOljEFU3/zLrXO1BL+dq
TqUAn2P1YMuqbNz3K80pvP0fJ0JTCFos
=arZ0
-----END PGP SIGNATURE-----
More information about the Speex-dev
mailing list