[speex-dev] SPEEX_GET_SAMPLING_RATE of encoder is wrong
Chris Flerackers
cflerackers at androme.be
Tue Mar 30 00:05:39 PST 2004
Hi,
No, it only happens with speex_wb_mode.
But like I said, it is because in wideband mode, the function
sb_encoder_init
is called and this function initializes the sampling rate using
speex_*de*coder_ctl
instead of
speex_*en*coder_ctl
In narrowband mode, the sampling rate is just initialized to 8000
st->sampling_rate=8000;
BTW, I saw that my email was added to an existing thread instead of
creating a new thread. Sorry about that.
Best regards,
Chris
----- Original Message -----
From: "Jean-Marc Valin" <Jean-Marc.Valin at USherbrooke.ca>
To: "speex" <speex-dev at xiph.org>; <cflerackers at androme.be>
Sent: Tuesday, March 30, 2004 1:01 AM
Subject: Re: [speex-dev] SPEEX_GET_SAMPLING_RATE of encoder is wrong
> Hi,
>
> Do you get that problem with speex_nb_mode too (or only speex_wb_mode)?
>
> Jean-Marc
>
> Le lun 29/03/2004 à 05:35, Chris Flerackers a écrit :
> > Hi,
> >
> > I'm using speex 1.1.4 and when I query SPEEX_GET_SAMPLING_RATE
> > as in
> > speex_encoder_ctl ( m_pEncoderState, SPEEX_GET_SAMPLING_RATE,
> > &m_SampleRate );
> > I get
> > 2
> > The encoder is initialized with
> > m_pEncoderState = speex_encoder_init ( &speex_wb_mode );
> >
> > On the decoder side, the correct sampling rate is returned:
> > m_pDecoderState = speex_decoder_init ( &speex_wb_mode );
> > speex_decoder_ctl ( m_pDecoderState, SPEEX_GET_SAMPLING_RATE,
> > &m_SampleRate );
> >
> > I debugged the encoder and the stack trace is as follows:
> > -> speex_encoder_ctl ( m_pEncoderState, SPEEX_GET_SAMPLING_RATE,
> > &m_SampleRate );
> > -> int speex_encoder_ctl(void *state, int request, void *ptr)
> > return (*((SpeexMode**)state))->enc_ctl(state, request, ptr);
> > -> int sb_encoder_ctl(void *state, int request, void *ptr)
> > ...
> > case SPEEX_GET_SAMPLING_RATE:
> > (*(int*)ptr)=st->sampling_rate;
> > break;
> > ...
> > And st->sampling_rate is 2.
> >
> > I debugged some further and it seems:
> > sb_encoder_init
> > calls
> > speex_decoder_ctl(st->st_low, SPEEX_GET_SAMPLING_RATE,
&st->sampling_rate);
> > to get the sampling rate. I think it should be speex_encoder_ctl
(otherwise
> > SBEncState * is
> > interpreted as SBDecState *).
> >
> > Best regards,
> > Chris
> >
> > --- >8 ----
> > List archives: http://www.xiph.org/archives/
> > Ogg project homepage: http://www.xiph.org/ogg/
> > To unsubscribe from this list, send a message to
'speex-dev-request at xiph.org'
> > containing only the word 'unsubscribe' in the body. No subject is
needed.
> > Unsubscribe messages sent to the list will be ignored/filtered.
> --
> Jean-Marc Valin
> http://www.xiph.org/~jm/
> LABORIUS
> Université de Sherbrooke, Québec, Canada
--- >8 ----
List archives: http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'speex-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body. No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.
More information about the Speex-dev
mailing list