73 lines
2.1 KiB
Plaintext
73 lines
2.1 KiB
Plaintext
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.
|