blob: ce7ee33769048b42368ee847db4a4a71cea3d3d6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
A52 OUTPUT PLUGIN
=================
This plugin converts S16 linear format to A52 compressed stream and
send to an SPDIF output. It requires libavcodec for encoding the
audio stream.
A PCM using this plugin can be 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 reads always S16 format (i.e. native-endian) as input, so
you'd need plug layer appropriately to covert it.
|