Great work on the codec. I have found it recently when looking for MELP alternatives. My use case is for UDP transmission and below the 2500 rate I do not get any real benefit due to other overheads. I am therefore glad that the codec will have a choice of rate (might even be nice to see a 5000 rate). How will this be exposed? I assumed the api was not fixed yet and I can soon adapt my programme but it would be interesting to know how the rate will be selected.
I am using codec2 as part of a Qt programme and linking to it as a library and have basically wrapped the c2enc and c2dec example in a QIODevice which makes it quite easy to en/decode stuff without having to know much about the implementation in the rest of the code. Because I am using c++ I had to adapt the header file so I could use it (a patch is below that should allow others to use with c++ and not change anything for c code). I am multicasting to a network with codec2 wrapped in a really simple protocol. I am just working out my jitter buffer implementation at the moment but on my reliable home network it works really well. I am trying to figure out a simple way to deal with packet loss. I was thinking of a moving overlapping window so I basically transmit each frame twice so if I lose a packet I have a chance that I will get the data from another packet. I just wondered if there is any chance of an encoding scheme that would mean that I could encode the same frame two different ways such that any one can produce acceptable voice quality but if both are available then we get even better quality. Maybe flipping between wideband/narrowband. Do not know much about making voice codecs so this could be a bad idea but thought it might be an efficient way to make the best of my need to transmit each frame twice. Due to the packet overhead and the short time window for FEC I see no point in my use case at looking at highly efficient FEC schemes. Anyway thanks for codec2, Stuart Marsden Patch to apply to codec2.h so can be used with c++: Index: src/codec2.h =================================================================== --- src/codec2.h (revision 309) +++ src/codec2.h (working copy) @@ -26,6 +26,9 @@ along with this program; if not, see <http://www.gnu.org/licenses/>. */ +#ifdef __cplusplus +extern "C" { +#endif #ifndef __CODEC2__ #define __CODEC2__ @@ -39,3 +42,8 @@ const unsigned char * bits); #endif + +#ifdef __cplusplus +} +#endif + > > > In other news I have been steadily working on splitting the combined > c2sim simulation version of 1400 bit/s into a separate encoder & decoder > that can support 2500 and 1400. Making the separate encoder and decoder > exactly match the simulation has exposed and allowed me fix a few small > bugs. The new version of 2500 is now working, now debugging the > separate enc/dec versions of 1400. > > Thanks, > > David > ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-novd2d _______________________________________________ Freetel-codec2 mailing list Freetel-codec2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freetel-codec2