[Gta04-owner] QtMoko audio state work

Radek Polak psonek2 at seznam.cz
Thu Jan 17 14:43:19 CET 2013

On Thursday, January 17, 2013 01:52:57 AM Neil Jerram wrote:

> (As usual, for the sake of avoiding any possible negative marketing, I
> should point out that the main problems here are A3-specific.  I hope,
> and believe to be the case, that phone calls are already reliable on
> A4.)

Yes, A4 works 100% reliably for me now in last few months, but i have just a 
few calls...

> With Neil Brown's helpful input, I've reviewed and improved my
> understanding of all the ALSA state files and controls.  This was
> prompted specifically by the PhoneHeadset state not working (because it
> was completely wrong) but more generally it bothers me that we use such
> an over-general system as ALSA state files when there are really only a
> handful (in fact, 7 switches and 1 volume control) of independent things
> that we ever need to change when moving between audio states.  Also it
> has bothered me that we don't have a uniform and persistent way of
> changing overall volume.
> I've now reimplemented the GTA04 neoaudioplugin.cpp code so that it
> moves between audio states by changing those 7 switches, instead of
> using ALSA state files, and that seems to work well (including for
> PhoneHeadset, subject to A3 software routing trouble).

Nice, imo that's the way how it should work. Alsa states were easiest solution 
- that's why i used it. Your code could work much better.

> One detail,
> which is nice but slightly worrying, is that I used to always to get a
> very audible click about 1s before, e.g., hearing the new message
> arrival sound; and with the reimplementation I no longer get that click.
> I _think_ the explanation for that was using pasuspender, and that I no
> longer get it because I no longer need to use pasuspender

pasuspender will still have to be used on A4 when switching to earpiece, 
because you cant switch if some other program has sound card open.

> - but it's
> slightly worrying in case that's wrong, and in particular in case it's
> because I'm leaving some circuit on more than before, and hence drawing
> more current.  (I haven't seen any evidence for drawing extra current.)

Maybe it can be measured during suspend.

> The simplicity of
> gta04-gsm-voice-routing is appealing, but I know from previous
> experience that it sometimes fails completely.

For me the problem was that some other program had soundcard open and gta04-
gsm-voice-routing couldnt open it. If all programs use pulseadio then it can 
be solved with pasuspender, but i wish that alsa had the same functionality. 
Then we could get rid of pulseaudio. Maybe something like this could be 
achieved using alsa plugins.



More information about the Gta04-owner mailing list