QtMoko audio state work

Neil Jerram neil at ossau.homelinux.net
Sun Nov 25 14:55:59 CET 2012


Hi Radek,

After a day yesterday where the A3 audio didn't work for me in several
calls, I decided to take a closer look at the QtMoko audio code.  That
led to a sequence of small (I think) cleanups, and a reworking of the
audio state handling code, and I'd appreciate hearing what you think
about that.

I've pushed my work-in-progress branch to
https://github.com/neiljerram/qtmoko/commits/nj, and the relevant
commits are those from
https://github.com/neiljerram/qtmoko/commit/0062faf815f5b1ede6624acac08bf3b8ec7040bd
to
https://github.com/neiljerram/qtmoko/commit/958212671741685ae05de9e2564ea45272f985d6
inclusive, excluding
https://github.com/neiljerram/qtmoko/commit/18404194e37b85a315a64ae23b3ac97e7dab3256.

In summary, these changes:

- remove code that I believe has no effect on the GTA04 - simply so as
  to make the audio-related code overall easier to understand

- simplify and clarify the *AudioState classes and related code in
  neoaudioplugin.cpp

- allow for different ALSA state files for A3 and A4

- rename the state files to match the QtMoko domain (Phone/Media) and
  profile (Headset/Speaker/Earpiece/Bluetooth) names

- make the set of A3 state files more consistent with each other.

Apart from the last point, all these changes should just be cleanups and
have no practical effect.  In particular, on A4 there should be no
change at all.  On A3 the last point may have a practical effect, if the
previous switching of 'AVADC Clock Priority' and 'Voice route' values
was sometimes causing a problem.

I did a load of test calls this morning and had good audio on all of
them.  That might just be good luck - or it might indicate that that
last point really does make a difference for A3.  I guess I'll know
better after a bit more experience.

Anyway, I'd appreciate hearing if you think this line of work looks
worthwhile, or any other thoughts you or others have about it.

Regards,
        Neil



More information about the community mailing list