On 2015-11-10 07:46, Yang, Libin wrote:
Hi David,
-----Original Message----- From: David Henningsson [mailto:david.henningsson@canonical.com] Sent: Thursday, November 05, 2015 5:07 PM To: Yang, Libin; Takashi Iwai Cc: Lin, Mengdong; Raymond Yau; airlied@linux.ie; tanuk@iki.fi; ALSA Development Mailing List; Girdwood, Liam R; Lu, Han; Nikula, Jani Subject: Re: [alsa-devel] DP1.2 MST audio support discussion
So I'm asking my question again. What would happen (on Intel hardware), if you stream audio to a converter node on the audio codec, and there is no pin node connected to that converter node?
I changed the audio driver and did the test today. The test is:
- Pin 5 connect to converter 2 and playback, there is sound from pin 5.
- Pin 5 connect to converter 2 (no other pin is connected to cvt2), no sound.
- Pin 5 connect back to cvt 2, there is sound, playback is normal.
And in step 2, the playback is still ongoing but no sound is out from any pin.
Sounds good to me, thanks for testing. Is this workaround something we could utilize in order to not break userspace? (This is a question for both you and Takashi.)
What we'll end up is essentially three types of objects:
* PCM device (5 devices, 3,7,8,9,10) - all five devices are allocated when the driver initializes - all kcontrols are always bound to the PCM device (jack kctl, eld kctl, iec958 kctls etc)
* Monitor (pin + MST index) - dynamically bound to a PCM at monitor plug-in time, according to a scheme that maximises the possibility for a monitor to always end up at the same PCM (as specified in earlier emails)
* Converter node (3 nodes for Intel hardware) - dynamically bound to a PCM at playback open time (regardless of whether the PCM has a monitor or not) - return -EBUSY in case there is no free converter node