[pulseaudio-discuss] PA uses the card's output as input instead of microphone

Colin Guthrie gmane at colin.guthr.ie
Tue Jun 29 09:57:55 PDT 2010

'Twas brillig, and Nikos Chantziaras at 29/06/10 17:28 did gyre and gimble:
> I started tweaking everything at random.  After a while, the mic started
> to work.  In alsamixer, hitting F4 to get to the [Capture] settings,
> there's a setting called "Digital Source".  It was set to "AC97 in". The
> possible settings are:
>   SRC out
>   AC97 in
>   i2s in
>   IEC958 in
>   i2s mixer out
>   IEC958 out
> I don't have the slightest idea of what that setting is for and what the
> choices mean, but the microphone only works when I set it to "i2s in".
> Every other settings results in the microphone being audible when
> increasing the "Capture feedback" volume no application can actually
> capture any sound from it.

Yeah the comment "I don't have the slightest idea of what this setting
is for" is one of the many reasons that exposing alsa in it's raw form
to 98% of users is a bad idea!! This is one of the many things PA tries
to ultimately hide from the user.

We probably need to do one of two things to address this:
 1. Ensure that the alsa initialistion database sets up sensible values
 2. Ensure we set this ourselves in PA's mixer logic.

Although I'm not super clued up on this side of things I get the feeling
that the first option is actually more appropriate here, but perhaps not.

So here are some things to try:

1. amixer -co get "Digital Source"
  - this should display the current value (corrected by you).

2. alsactl init 0
  - this should "initialise" to "sensible defaults" your sound card.

Then run 1. again. Has it changed or been reset, if so to what?

If it stays the same, can you try changing it to something broken, so
that 1. reports it as such. Then run 2 again, then 1. Has it changed
this time? Just want to make sure that the init command is actually
changing that value rather than simply ignoring it!

Then I guess it's probably a matter of working out a patch to the
alsactl init command to make it initialise your card nicely.

That's my guess, tho' it could equally be done in PA's own mixer scripts
too..... (and some may argue that it would be more appropriate).



Colin Guthrie

Day Job:
  Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
  Mandriva Linux Contributor [http://www.mandriva.com/]
  PulseAudio Hacker [http://www.pulseaudio.org/]
  Trac Hacker [http://trac.edgewall.org/]

More information about the pulseaudio-discuss mailing list