[Speex-dev] Multi-Channel/Stream support?

Jean-Marc Valin Jean-Marc.Valin at USherbrooke.ca
Mon Sep 12 17:02:27 PDT 2005


Speex does have memory just like most other codecs. However, the
implementation is made such that all the codec state is contained in a
"state variable", so if you have multiple streams, all you have to do is
create one encoder/decoder state for each stream.


Le lundi 12 septembre 2005 à 14:41 -0400, Chris Serio a écrit :
> Hi all,
> I'd like to know how well Speex handles multiple input streams. More
> specifically, if i have 4 streams that are playing at "the same time",
> how well does the CODEC handle switching from one stream to the next
> to process the audio. 
> The reason i ask is this....My project up until now uses the MELP
> CODEC which didn't specifically have the ability to handle multiple
> streams. I'd give the CODEC a packet to process from Stream #1, then
> i'd give it a packet from Stream #2 and just keep cycling through my
> different input streams. The problem was that MELP used a lot of
> global variables for state information (basically to bookmark the
> audio information of that packet) and the end result was a lot of
> clicking since it's saved bookmarks were not correct since i changed
> streams on it. I had to remove every single global and move them to a
> class that i wrote so that each stream would have it's own set of
> globals to bookmark audio in. 
> If speex is not subject to this type of problem that would make me
> very happy. If it works similar to MELP and i have to remove all of
> the globals myself again, i'd like to know in advance.
> Thanks in advance, 
> Chris
> _______________________________________________
> 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

More information about the Speex-dev mailing list