[alsa-devel] [PATCH v3 14/15] ASoC: hdac_hdmi: Add jack reporting for user space

Takashi Iwai tiwai at suse.de
Tue Dec 8 11:59:41 CET 2015


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


More information about the Alsa-devel mailing list