[Speex-dev] sharing a decoder between 2 inbound speex streams?

Tom Grandgent
Tue, 12 Jul 2005 13:22:34 -0000

You definitely need to have separate decoders for separate streams.
It has been mentioned before that inter-frame state is critical to
achieving the level of quality for bandwidth that Speex offers.  This
differentiates it from iLBC, a codec whose claim to fame is that it
treats each frame independently.

I'm not sure what's hard about maintaining multiple decoder states,
unless you are extremely resource-constrained or doing something
unusual.  Normally all you have to do is create a decoder state for
each new client and free it when the client is gone.

>---- Original Message ----
>From: tone@mailblocks.com
>To: speex-dev@xiph.org
>Subject: RE: [Speex-dev] sharing a decoder between 2 inbound speex
>streams?
>Date: Tue, 12 Jul 2005 16:03:02 -0400
>
>>This is a hard one to search for in the archives, and I checked the
>FAQ
>>and the PDFs.
>>
>>If a VOIP application wants to support the ability to output
>multiple
>>inbound streams (from separate senders who happened to choose the
>same
>>moment to start speaking), is it a requirement to have separate
>>decoders for each, or could one be used in a round-robin manner to
>>service packets from the multiple senders?
>>
>>I am guessing that I should use a separate decoder for each inbound
>>stream of frames, and that there is significant inter-frame state
>>maintained by the decoder, but the convenience of not having to have
>a
>>decoder free pool to dynamically allocate/deallocate these is
>>motivation enough to ask!
>>
>>Tony Lovell
>>http://dreadnoughtproject.org
>>tone@dreadnoughtproject.org
>>AIM: StupidLagger
>>
>>
>>_______________________________________________
>>Speex-dev mailing list
>>Speex-dev@xiph.org
>>http://lists.xiph.org/mailman/listinfo/speex-dev