[Speex-dev] Determine number of 20ms frames in packet - without
decoding
Steve Kann
stevek at stevek.com
Fri Feb 8 05:30:22 PST 2008
Jean-Marc Valin wrote:
> David Hogan wrote:
>
>> Does anyone know a practical way to determine the number of 20ms speex
>> frames in a given speex packet without actually looping on speex_decode* ?
>>
>
> There's no ready-made function for that. You'd have to write a function
> that inspects the bits, determines what mode is involved, and jump the
> right number of bits until a terminator is found or there's no more
> bytes. The narrowband decoder already does something similar when it
> encounters wideband data it doesn't want to decode.
>
We've written code to do just this, actually. It's included in
iaxclient and asterisk in the speex codec modules. I've also written
about it to this list (probably with code excerpts). Google is your friend.
http://mlblog.osdir.com/audio.compression.speex.devel/2006-01/index.shtml
Someone's even ported it to Java, it seems, here:
http://www.koders.com/java/fidAEF1846C82020C9EDC1E49EF2C3F2663BC99A242.aspx
-SteveK
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20080208/96296708/attachment.html
More information about the Speex-dev
mailing list