title: Multichannel audio

h3. Multichannel audio in Liquidsoap.

Although not much tested, liquidsoap supports multichannel audio data. 

The first step to enable this is to set globally the number of audio 
channels by adding @set("frame.channels",4)@ at the begining of your script.

A limitation in the current system is that if you set the number of channels to e.g. 4, then
each input file has to provide either mono audio data, or 4 channel audio data.

Also, some operators might not be prepared to receive multichannel data. Finally, the @stereo@ 
parameter in the various outputs is often deceiving. When set to @false@, the data is mixed
down to mono data, but when set to @true@, the number of channels is the one specified globaly.

All these issues should be fixed with the next major release.

h3. Example

The following script will produce a 4 channel vorbis stream using jack for retreiving data:

%%(jack_multichannel.liq)
# Set global setting.
set("frame.channels",4)

# The jack input will have the same 
# number of channels than the global 
# setting above.
s = input.jack(id="my input")

# Output this source to icecast 
# using vorbis
output.icecast.vorbis(host="my host",
  password="my password",mount="4chan.ogg",
      s)
%%

