[Speex-dev] Bug in decoding

Gregor Brunmar bur at svep.se
Mon Aug 29 09:01:41 PDT 2005

Hi everyone,


I think I just found a bug (which is easy to avoid if you use Speex the
"standard" way). I'm writing a wrapper-dll in C# for Speex and it's up
and running. However, I had some problem with the wrapper (Garbage
Collector-related) so I found out that if I created a new decoder every
run, everything worked smoothly. What I also discovered was that the
sound quality was degraded due to this. I investigated and found out
that the same bug/error appears if I write a simple C-program.


My main program was testenc.c in the speex source code. What I changed
was to remove the decoder initialization in the beginning of the file
and put them in the while()-loop before speex_decoder_int() and put a
speex_decoder_destroy() just after the decode call (and of course,
removed the destroy call at the end of the program).


If I played the result from the original program, it was all clear and
fine. With my multi decoding init and destroy function calls, the sound
quality was reduced (lower sound output and some noise was added). I
will pursue this bug/error in the morning, just wondered if anyone
experienced this bug/error before or have a clue where to look in the
source code.


I have example raw PCM-input and output files if you are interested in
helping me with this bug (or want to hear the difference between the
outputs). I have tried several input files and still the same result. I
also examined the output files in a hex-editor and could see that the
first 100 bytes are the same, but then they start to differ.



Gregor Brunmar

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20050829/463ccf23/attachment.html

More information about the Speex-dev mailing list