From: Adam H. <ad...@te...> - 2004-03-01 23:19:35
|
Steve Kann wrote: > > I'd just look at asterisk's implementation for ideas [although not > code, because asterisk is GPL]. > > The 20ms frame size vs 30ms preferred frame size for iLBC will be an > issue that needs to be dealt with when you make codecs modularized. > Personally, I'd say that one should start with G711a/u, because the > implementation of that will be about 50 lines of C code for coding and > decoding (maybe less), and the bulk of the work will be in just > modularization. To be sure you get the modularization right, make > G711 work with 20ms or 30ms frame sizes. Then once that's working > (and you haven't broken GSM, because you'll need to modularize that as > well), adding any of the other codecs will be just a matter of the > proper cross-platform Makefile-fu plus a small amount of glue code, > and you'll have two examples of how to do the glue code. > > An experienced programmer should be able to do this (G711, GSM, iLBC) > in somewhere like 5 - 20 hours or so. > > Unforunately, Asterisk only supports 30ms iLBC frame size :| I was going to try and fix it but I'm always wary of changing asterisk in many places. If you modularise codecs, it's very easy to add new ones. I added g729 and g723.1 in a few hours. (as dlls though :p) I'll do speex when I can be bothered. |