2010/2/22 Lennart Poettering mznyfn@0pointer.de
On Sun, 21.02.10 11:49, Raymond Yau (superquad.vortex2@gmail.com) wrote:
The most common onboard audio is HDA so this is not any exceptional cases
Those HDA multi streaming feature are most users wanted in desktop enviornment, are pulseaudio really designed for deskop or just only for notebook and mobile ?
The front panel green/pink jack can be used by one application while the rear panel audio jacks can be used to another application for surround or mic for karaoke
I am not entirely convinced that this is really a common case.
VT17xx codec already support independent HP mode
http://git.alsa-project.org/?p=alsa-kernel.git;a=commit;h=cdc1784d49258198df...
**** List of PLAYBACK Hardware Devices ****
card 0: SB [HDA ATI SB], device 0: VT1708S Analog [VT1708S Analog] Subdevices: 1/2 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 card 0: SB [HDA ATI SB], device 1: VT1708S Digital [VT1708S Digital] Subdevices: 1/1 Subdevice #0: subdevice #0
**** List of CAPTURE Hardware Devices **** card 0: SB [HDA ATI SB], device 0: VT1708S Analog [VT1708S Analog] Subdevices: 2/2 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1
AD1988B 10 channels codec on my ASUS P5BV already has 3 capture subdevices
**** List of CAPTURE Hardware Devices **** card 0: Intel [HDA Intel], device 0: AD198x Analog [AD198x Analog] Subdevices: 3/3 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 Subdevice #2: subdevice #2 card 0: Intel [HDA Intel], device 1: AD198x Digital [AD198x Digital] Subdevices: 1/1 Subdevice #0: subdevice #0
http://www.analog.com/en/audiovideo-products/audio-codecs/ad1988b/products/p...
The AD1988A and AD1988B have 10 DACs and 6 ADCs, Analog mixer supports recording and playback of signals from multiple sources
ALC88x
**** List of CAPTURE Hardware Devices **** card 0: VT82xx [HDA VIA VT82xx], device 0: ALC888 Analog [ALC888 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: VT82xx [HDA VIA VT82xx], device 2: ALC888 Analog [ALC888 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0
Do any PA developer has a desktop computer with HDA audio ?
But anyway, there is nothing in PA that would limit it to not use multiple parallel devices of a sound card at the same time, with the exception that ALSA currently has no enumeration API which could inform us which uses of the card are exclusive each other and which ones are not. PA currently tries to open the sound card in all combinations possible, assuming that EBUSY means it found an invalid combination. If one day ALSA gains an API that allows figuring out which combinations of streams are possible and which ones are not, I am happy to reinvestigate the whole issue.
Send a game's sound through 5.1 speakers while the Internet chatting
audio
is sent through your headset.
More often than not you'd probably use two seperate cards for that.
Send a DVD movie with 5.1 audio to a surround sound system in the living room, while you listen to digital music and surf the Web on the PC.
I somehow doubt that this is the most common of use cases we need to care about.
THe point is that PA release/close the device (suspend on idle) , if
another
application using the subdevice 0 before PA resume/reopen, PA will open subdevice 1 and cannot find the correct capture volume control and user
will
complain they cannot record
Since PA did not check the subdevice number to find the correct mixer control
I'd certainly check the subdevice id if the smixer API would supply me with it.
if ( snd_pcm_info_get_subdevices_count(pcm_info) > 1 ) && ( snd_pcm_info_get_subdevices_count(pcm_info) < 8 ))
snd_mixer_selem_id_set_index(sid, snd_pcm_info_get_subdevice(pcm_info));
Lennart