Package: speex Version: 1.2~beta2-2 Severity: important The preprocessor API has been updated in 1.2beta2, and it seems buggy to me. Both SPEEX_PREPROCESS_GET_PROB_START and SPEEX_PREPROCESS_GET_PROB_CONTINUE only returns either 0 or 32767.
I'm including a small test program which results in the following output which doesn't look correct for version 1.2~beta2-2: speex 1.1.12-3 -------------- $ ./speex_preprocess OK: Prob start 30 OK: Prob continue 7 speex1 1.2~beta2-2 --------------------- ./speex_preprocess ERROR: Prob start 32767 ERROR: Prob continue 32767 /Mikael -- System Information: Debian Release: lenny/sid APT prefers testing APT policy: (750, 'testing'), (671, 'stable'), (500, 'testing'), (300, 'unstable'), (1, 'experimental') Architecture: i386 (i686) Kernel: Linux 2.6.18-3-k7 (SMP w/1 CPU core) Locale: LANG=sv_SE.UTF-8, LC_CTYPE=sv_SE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash
#include <stdio.h> #include <speex/speex_preprocess.h> #define DEFAULT_PROB_START 20 #define DEFAULT_PROB_CONTINUE 7 /* speex 1.1.12-3 -------------- $ ./speex_preprocess OK: Prob start 30 OK: Prob continue 7 speex1 1.2~beta2-2 --------------------- ./speex_preprocess ERROR: Prob start 32767 ERROR: Prob continue 32767 */ int main() { SpeexPreprocessState *st = NULL; int i; int len = 1024; int rate = 8000; st = speex_preprocess_state_init(len,rate); i=DEFAULT_PROB_START; speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_PROB_START, &i); i=DEFAULT_PROB_CONTINUE; speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_PROB_CONTINUE, &i); i = -1; speex_preprocess_ctl(st, SPEEX_PREPROCESS_GET_PROB_START, &i); fprintf(stderr, "%s: Prob start %d\n", (i==DEFAULT_PROB_START)?"OK":"ERROR", i); i = -1; speex_preprocess_ctl(st, SPEEX_PREPROCESS_GET_PROB_CONTINUE, &i); fprintf(stderr, "%s: Prob continue %d\n", (i==DEFAULT_PROB_CONTINUE)?"OK":"ERROR", i); speex_preprocess_state_destroy(st); return 0; }