Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # File: /usr/share/alsa/pcm/dca.conf (from git dcaenc)
- defaults.pcm.dca.aes0 0x06
- defaults.pcm.dca.aes1 0x82
- defaults.pcm.dca.aes2 0x00
- defaults.pcm.dca.aes3 0x00
- defaults.pcm.dca.iec61937 0
- pcm.!dca {
- @args [ CARD DEV AES0 AES1 AES2 AES3 IEC61937 ]
- @args.CARD {
- type string
- default {
- @func getenv
- vars [
- ALSA_IEC958_CARD
- ALSA_PCM_CARD
- ALSA_CARD
- ]
- default {
- @func refer
- name defaults.pcm.iec958.card
- }
- }
- }
- @args.DEV {
- type integer
- default {
- @func igetenv
- vars [
- ALSA_IEC958_DEVICE
- ]
- default {
- @func refer
- name defaults.pcm.iec958.device
- }
- }
- }
- @args.AES0 {
- type integer
- default {
- @func refer
- name defaults.pcm.dca.aes0
- }
- }
- @args.AES1 {
- type integer
- default {
- @func refer
- name defaults.pcm.dca.aes1
- }
- }
- @args.AES2 {
- type integer
- default {
- @func refer
- name defaults.pcm.dca.aes2
- }
- }
- @args.AES3 {
- type integer
- default {
- @func refer
- name defaults.pcm.dca.aes3
- }
- }
- @args.IEC61937 {
- type integer;
- default {
- @func refer
- name defaults.pcm.dca.iec61937
- }
- }
- type dca
- slave.pcm {
- @func refer
- name {
- @func concat
- strings [
- "cards."
- {
- @func card_driver
- card $CARD
- }
- ".pcm.iec958." $DEV ":"
- "CARD=" $CARD ","
- "AES0=" $AES0 ","
- "AES1=" $AES1 ","
- "AES2=" $AES2 ","
- "AES3=" $AES3
- ]
- }
- }
- iec61937 $IEC61937
- hint {
- show {
- @func refer
- name defaults.namehint.basic
- }
- description "DTS Encoding through IEC958 (S/PDIF)"
- device $DEV
- }
- }
- pcm.!dcahdmi {
- @args [ CARD DEV AES0 AES1 AES2 AES3 ]
- @args.CARD {
- type string
- default {
- @func getenv
- vars [
- ALSA_IEC958_CARD
- ALSA_PCM_CARD
- ALSA_CARD
- ]
- default {
- @func refer
- name defaults.pcm.iec958.card
- }
- }
- }
- @args.DEV {
- type integer
- default {
- @func igetenv
- vars [
- ALSA_IEC958_DEVICE
- ]
- default {
- @func refer
- name defaults.pcm.iec958.device
- }
- }
- }
- @args.AES0 {
- type integer
- default {
- @func refer
- name defaults.pcm.dca.aes0
- }
- }
- @args.AES1 {
- type integer
- default {
- @func refer
- name defaults.pcm.dca.aes1
- }
- }
- @args.AES2 {
- type integer
- default {
- @func refer
- name defaults.pcm.dca.aes2
- }
- }
- @args.AES3 {
- type integer
- default {
- @func refer
- name defaults.pcm.dca.aes3
- }
- }
- @args.IEC61937 {
- type integer;
- default {
- @func refer
- name defaults.pcm.dca.iec61937
- }
- }
- type dca
- slave.pcm {
- @func refer
- name {
- @func concat
- strings [
- "cards."
- {
- @func card_driver
- card $CARD
- }
- ".pcm.hdmi." $DEV ":"
- "CARD=" $CARD ","
- "AES0=" $AES0 ","
- "AES1=" $AES1 ","
- "AES2=" $AES2 ","
- "AES3=" $AES3
- ]
- }
- }
- iec61937 $IEC61937
- hint {
- show {
- @func refer
- name defaults.namehint.basic
- }
- description "DTS Encoding through HDMI"
- device $DEV
- }
- }
- # File: /usr/share/alsa/alsa.conf.d/a52.conf
- #
- # 5.1 channel AC3 encoder
- # Output device: iec958raw:CARD
- #
- # plug is used to convert to the correct sample format.
- # rate is used to convert to the correct bitrate (stutters if done with plug).
- # route is required, if not used then audio will not play.
- # a52 is used to encode the audio to AC3
- #
- pcm.a52 {
- @args [ CARD DEV ]
- @args.CARD {
- type string
- }
- @args.DEV {
- type integer
- }
- type plug
- slave {
- pcm {
- type rate
- slave {
- pcm {
- type route
- slave {
- pcm {
- type a52
- rate 48000
- channels 6
- format S16_LE
- bitrate 999 # works for me, default is 640
- slavepcm {
- @func concat strings [ "iec958:CARD=" $CARD ",DEV=" $DEV ]
- }
- }
- channels 6
- }
- ttable {
- 0.0 = 1
- 1.1 = 1
- 2.2 = 1
- 3.3 = 1
- 4.4 = 1
- 5.5 = 1
- }
- }
- rate 48000
- }
- converter samplerate_best
- }
- channels 6
- format S16_LE
- rate "unchanged"
- }
- hint {
- show {
- @func refer
- name defaults.namehint.basic
- }
- description "IEC958 (AC3) Digital Surround 5.1 with all software conversions"
- device $DEV
- }
- }
- # File: /usr/share/alsa/alsa.conf.d/a52upmix.conf
- #
- # 2.0 -> 5.1 channel AC3 encoder
- # Output device: iec958raw:CARD
- #
- # plug is used to convert to the correct sample format.
- # rate is used to convert to the correct bitrate (stutters if done with plug).
- # route is used tp upmix the stereo input to 6 channels.
- # a52 is used to encode the audio to AC3
- #
- pcm.a52upmix {
- @args [ CARD DEV ]
- @args.CARD {
- type string
- }
- @args.DEV {
- type integer
- }
- type plug
- slave {
- pcm {
- type rate
- slave {
- pcm {
- type route
- slave {
- pcm {
- type a52
- rate 48000
- channels 6
- format S16_LE
- bitrate 999 # works for me, default is 640
- slavepcm {
- @func concat strings [ "iec958:CARD=" $CARD ",DEV=" $DEV ]
- }
- }
- channels 6
- }
- ttable {
- 0.0 = 1
- 0.2 = -0.6
- 0.3 = -0.39
- 0.4 = 0.5
- 0.5 = 0.5
- 1.1 = 1
- 1.2 = -0.39
- 1.3 = -0.6
- 1.4 = 0.5
- 1.5 = 0.5
- }
- }
- rate 48000
- }
- converter samplerate_best
- }
- channels 2
- format S16_LE
- rate "unchanged"
- }
- hint {
- show {
- @func refer
- name defaults.namehint.basic
- }
- description "IEC958 (AC3) Digital Surround 2.0 -> 5.1 with all software conversions"
- device $DEV
- }
- }
- # File: /usr/share/alsa/pcm/iec958.conf (Already exist seems same as tuto link)
- #
- # Hardware output from iec958
- #
- pcm.!iec958 {
- @args [ CARD DEV AES0 AES1 AES2 AES3 ]
- @args.CARD {
- type string
- default {
- @func getenv
- vars [
- ALSA_IEC958_CARD
- ALSA_PCM_CARD
- ALSA_CARD
- ]
- default {
- @func refer
- name defaults.pcm.iec958.card
- }
- }
- }
- @args.DEV {
- type integer
- default {
- @func igetenv
- vars [
- ALSA_IEC958_DEVICE
- ]
- default {
- @func refer
- name defaults.pcm.iec958.device
- }
- }
- }
- @args.AES0 {
- type integer
- # consumer, not-copyright, emphasis-none, mode=0
- default 0x04
- }
- @args.AES1 {
- type integer
- # original, PCM coder
- default 0x82
- }
- @args.AES2 {
- type integer
- # source and channel
- default 0x00
- }
- @args.AES3 {
- type integer
- # fs=48000Hz, clock accuracy=1000ppm
- default 0x02
- }
- type empty
- slave.pcm {
- @func refer
- name {
- @func concat
- strings [
- "cards."
- {
- @func card_driver
- card $CARD
- }
- ".pcm.iec958." $DEV ":"
- "CARD=" $CARD ","
- "AES0=" $AES0 ","
- "AES1=" $AES1 ","
- "AES2=" $AES2 ","
- "AES3=" $AES3
- ]
- }
- }
- hint {
- show {
- @func refer
- name defaults.namehint.basic
- }
- description "IEC958 (S/PDIF) Digital Audio Output"
- device $DEV
- }
- }
- # File: /usr/share/alsa/pcm/hdmi.conf (Already exist Hdmi output just for compare)
- #
- # Hardware output from HDMI
- #
- pcm.!hdmi {
- @args [ CARD DEV AES0 AES1 AES2 AES3 ]
- @args.CARD {
- type string
- default {
- @func getenv
- vars [
- ALSA_IEC958_CARD
- ALSA_PCM_CARD
- ALSA_CARD
- ]
- default {
- @func refer
- name defaults.pcm.iec958.card
- }
- }
- }
- @args.DEV {
- type integer
- default {
- @func igetenv
- vars [
- ALSA_IEC958_DEVICE
- ]
- default {
- @func refer
- name defaults.pcm.iec958.device
- }
- }
- }
- @args.AES0 {
- type integer
- # consumer, not-copyright, emphasis-none, mode=0
- default 0x04
- }
- @args.AES1 {
- type integer
- # original, PCM coder
- default 0x82
- }
- @args.AES2 {
- type integer
- # source and channel
- default 0x00
- }
- @args.AES3 {
- type integer
- # fs=48000Hz, clock accuracy=1000ppm
- default 0x02
- }
- type empty
- slave.pcm {
- @func refer
- name {
- @func concat
- strings [
- "cards."
- {
- @func card_driver
- card $CARD
- }
- ".pcm.hdmi." $DEV ":"
- "CARD=" $CARD ","
- "AES0=" $AES0 ","
- "AES1=" $AES1 ","
- "AES2=" $AES2 ","
- "AES3=" $AES3
- ]
- }
- }
- hint {
- show {
- @func refer
- name defaults.namehint.basic
- }
- description "HDMI Audio Output"
- device $DEV
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement