On Thu, Apr 9, 2009 at 5:34 PM, Robert T. Drury rtdrury@earthlink.net wrote:
On machine powerbook5,3 the built-in microphone is attached to the right channel of the sound chip. In the alsa oss emulation in linux-2.6.23.9 (alsa-*-1.0.12) the plugin layer copies the left input channel to a one-channel buffer when calling ioctl SNDCTL_DSP_CHANNELS with one channel. So no mic to mono on the powerbook5,3.
In the kernel source: linux-2.6.23.9/sound/core/oss/pcm_plugin.c:
The function snd_pcm_plug_read_transfer copies from the two channel hardware input buffer to the one channel user space buffer. The left source channel appears to be selected for copy in function snd_pcm_plug_format_plugins. One approach is to query line/mic input there for powerbook5,3 and select right channel source for copy. Any ideas?
Try a recent ALSA. The latest is 1.0.19. 1.0.12 is way too old to debug.
Lee