Till now I used the onboard soundcard to output via analoge or spdif.
I managed to get the bluetooth headset working with alsa (although not listed as soundcard - only as pcm device after i created the entry manually in asound.conf); not sure if this is expected or relevant.
What i want to achieve is that every sound is routed to all outputs simultaneously.
So multiple sources (musicplayer, videoplayer, ....) to all 3 hardware devices (speakers:analogue, headphones:spdif and headphones:bluetooth) and i just power-off/on the devices themselves.
From what i read so far it would be possible to achive with the following chain in asound.conf
plug -> route -> multi -> dmix -> hw/pcmdev
I can play sounds with aplay -D device
where i can use following values for device successfully:
so the pcm sinks are working.bluealsa, surround40, iec958
I can also combine surround and iec958 with multi (or it seems so, no error and sound out of two devices) but i can not combine surround40 and bluealsa.
Not sure why - any hints?
My asound.conf
Code: Select all
pcm.!bluealsa {
type plug
slave.pcm {
type bluealsa
device "AB:12:34:56:78:9C"
profile "a2dp"
}
hint {
show on
description "Headphones"
}
}
pcm.all {
type multi
slaves.a.pcm "surround40" #analogue speaker
slaves.a.channels 2
slaves.b.pcm "bluealsa" #bluetooth headset
slaves.b.channels 2
# slaves.c.pcm "iec958" #spdif
# slaves.c.channels 2
bindings.0 { slave a; channel 0; }
bindings.1 { slave a; channel 1; }
bindings.2 { slave b; channel 0; }
bindings.3 { slave b; channel 1; }
# bindings.4 { slave c; channel 0; }
# bindings.5 { slave c; channel 1; }
}
Still limited to 4 bindings, i want to achieve a combination including [i]bluealsa[/i] before expanding to 6.
pcm.stereo2all {
type route
slave.pcm "all"
ttable.0.0 1
ttable.1.1 1
ttable.0.2 1
ttable.1.3 1
}
pcm.!default {
type asym
playback.pcm "plug:stereo2all"
capture.pcm "plug:dsnoop:0"
}
ctl.bluealsa {
type bluealsa
} Output from aplay -l and -L
Code: Select all
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: 92HD73E1X5 Analog [92HD73E1X5 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: 92HD73E1X5 Digital [92HD73E1X5 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
Code: Select all
null
Discard all samples (playback) or generate zero samples (capture)
bluealsa
Headphones
sysdefault:CARD=Intel
HDA Intel, 92HD73E1X5 Analog
Default Audio Device
front:CARD=Intel,DEV=0
HDA Intel, 92HD73E1X5 Analog
Front speakers
surround21:CARD=Intel,DEV=0
HDA Intel, 92HD73E1X5 Analog
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Intel,DEV=0
HDA Intel, 92HD73E1X5 Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=Intel,DEV=0
HDA Intel, 92HD73E1X5 Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Intel,DEV=0
HDA Intel, 92HD73E1X5 Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Intel,DEV=0
HDA Intel, 92HD73E1X5 Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Intel,DEV=0
HDA Intel, 92HD73E1X5 Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Intel,DEV=0
HDA Intel, 92HD73E1X5 Digital
IEC958 (S/PDIF) Digital Audio Output
hdmi:CARD=NVidia,DEV=0
HDA NVidia, HDMI 0
HDMI Audio Output
hdmi:CARD=NVidia,DEV=1
HDA NVidia, HDMI 1
HDMI Audio Output
hdmi:CARD=NVidia,DEV=2
HDA NVidia, HDMI 2
HDMI Audio Output
hdmi:CARD=NVidia,DEV=3
HDA NVidia, HDMI 3
HDMI Audio Output
Code: Select all
aplay mp3/Test.wav
Playing WAVE 'mp3/Test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
aplay: aplay.c:1390: set_params: Assertion `err >= 0' failed.
Aborted by signal Aborted...s|mon

