[Speex-dev] DTX mode using preprocessor?

Jean-Marc Valin Jean-Marc.Valin at USherbrooke.ca
Sun Sep 4 17:54:44 PDT 2005


It could (and should) definitely be done, but it's somewhere
(unfortunately not on top) on my TODO list. I think the simplest way
(until I really integrate the preprocessor with the codec, which will
take a while) to do it is to add a speex_encoder_ctl() call as you
proposed. I'd call it SPEEX_SET_EXT_VAD_STATUS and I'm willing to merge
a patch :-)


Le samedi 03 septembre 2005 à 00:47 +0200, Thorvald Natvig a écrit :
> Could a method be added to use the VAD from the preprocessor to send the 
> packet with the 'dtx_enable' flag in it, so the decoder on the other end 
> knows it's in dtx mode? (and SPEEX_GET_DTX_STATUS returns 1)
> At the moment, I can hack around it by doing something like:
> if (VAD for prev frame && ! VAD for this frame) {
>  		iArg = 0;
>  		speex_encoder_ctl(m_esEncState,SPEEX_SET_VBR, &iArg);
>  		speex_encoder_ctl(m_esEncState,SPEEX_SET_QUALITY, &iArg);
>  		SBEncState *sbe = static_cast<SBEncState *>(m_esEncState);
>  		EncState *es = static_cast<EncState *>(sbe->st_low);
>  		es->dtx_count = 1;
> }
> (in wideband)
> .. which forces speex to send the DTX packet and the remote side knows it 
> can safely ignore that stream for the time being -- the lack of packets is 
> completely intentional.
> While this works, it's an incredibly ugly hack, and I have to include a 
> lot of the internal speex header files to compile.
> I've pondered adding a forced_vad flag to the encoder states, so you can 
> write
> speex_encoder_ctl(state, SPEEX_SET_FORCED_VAD, <whatever>)
> but I'm not sure that's the right way to proceed.
> Any ideas?
> _______________________________________________
> Speex-dev mailing list
> Speex-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/speex-dev
Jean-Marc Valin <Jean-Marc.Valin at USherbrooke.ca>
Université de Sherbrooke
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.xiph.org/pipermail/speex-dev/attachments/20050905/eb01ae2c/attachment-0001.pgp

More information about the Speex-dev mailing list