On Tue, 08 Dec 2015 11:51:40 +0100, Takashi Iwai wrote:
On Tue, 08 Dec 2015 11:42:57 +0100, Vinod Koul wrote:
On Tue, Dec 08, 2015 at 11:28:16AM +0100, Takashi Iwai wrote:
Yes that was my thinking based on discussion and patches posted by Libin. But one more question who does PCM assignment, looking at patches it seems driver and no way to change that..
For example I have 10 devices connected and we have 5 PCMs. I would like to route to 7th device, how would that be done?
Manage xrandr to enable the target monitor. Then one PCM stream will be switched to the corresponding audio, and it'll be notified to user-space.
Thanks, that helps..
Looking at RFC patches I do not see that implemented, so maybe Libin and you will add that eventually
The question here is how will the switch be handled, can you please elaborate on that. From xrandr selection how will audio driver be notified and how will change be done?
The switch itself has to be done voluntarily by user-space, unfortunately, as in the current form. We thought of the preemptive disconnection. It works for aplay, but screws up PulseAudio, so no-go.
Maybe the above wasn't clear enough. Put in that way: the assignment of PCM stream and the switching of PCM stream are different things. The former is done at the time the HDA driver gets notified by i915 (actually happens twice, one for disabling and one for enabling). The audio driver notifies this to user-space. Then user-space closes / reopens a stream accordingly, which is equivalent as switching a PCM stream.
We've tested the PCM switching in the driver side, but it broke the compatibility with PA. So the switching itself is voluntarily done by user-space.
Takashi