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;
}

Reply via email to