A52 OUTPUT PLUGIN ================= This plugin converts S16(P), S32P, or FLTP formats to an A52 compressed stream and sends it to an S/PDIF output. It requires libavcodec for encoding the audio stream. The input format is determined by the version of libavcodec it is compiled against and which ac3 codec libavcodec is configured to use. A global configuration, /usr/share/alsa/alsa.conf.d/60-a52-encoder.conf defines a52 PCMs for devices with the IEC958 non-audio status bit set. A PCM using this plugin can be manually defined like below: pcm.myout { type a52 } In addition, the following options are available: - The "card" option specifies the card ID or number of the SPDIF. The output PCM becomes "iec958:{CARD=$CARD}" with extra AESx settings. When omitted, the default card is used. - The "slavepcm" option specifies a string of the slave PCM explicitly. This is useful if a device has no proper SPDIF configuration (e.g. usb-audio), or if you want to pass your own PCM definition. This option is exclusive with "card" option. - The "rate" option specifies the input/output sample rate in HZ. The accepted rate is either 44100 or 48000. When omitted, 48000 is used. - The "channels" option specifies the number of _input_ channels. It must be either 2, 4 or 6. The default value is 6. - The "bitrate" option specifies the bit-rate of the compressed stream in kbps. Too small or too big value may not be accepted by the encoder. When omitted, 448 is used. - The "format" option specifies the output format type. It's either S16_LE or S16_BE. As default, S16_LE is used. An example using the secondary card, 44.1kHz, 4 channels, output bitrate 256kbps and output format S16_BE looks like below: pcm.myout { type a52 card 1 rate 44100 channels 4 bitrate 256 format S16_BE } For using slavepcm option, pcm.mypcm { card 1 device 2 } pcm.myout { type a52 slavepcm "mypcm" } The plugin only reads the format determined by libavcodec (native- endian S16(P), S32P or FLTP) as input, so you'll need a plug layer to appropriately convert it.