I finally got tired of google talk for Linux not working due to
ALSA/audio issues (after I'd gotten "this" close hacking the .deb
distribution to work on fedora with chrome, w/o even running googles
init scripts and crontab :-) ) ... so I decided to fix it. The issue
was that the browser was happily working with an ALSA default device
that was set up as a dmix device. It gladly handled whatever bitrates
and depths the web, java, and flash could throw at it.
But google voice comes along, and all it can say is (duh!):
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports
only playback stream
every time I initiate a call. Calls placed result in the landline user
being heard, but the landline user cannot hear the google-voice
caller: no microphone is connected. It's even worse of a fail because
all this output is on the browser's stdout/stderr and usually hidden
from most users in ~/.xsession-errors .
Solving this, and also wanting all my google-talk going to my USB
headset specifically purchased for doing skype and other VoIP
calling.... I did the following:
(0) "cd /opt/google/talkplugin"
(1) "mv GoogleTalkPlugin GoogleTalkPlugin-bin"
(2) Write a wrapper /opt/google/talkplugin/GoogleTalkPlugin :
///// ///// ///// ///// ///// ///// ///// /////
#!/bin/sh
## Tell it to use specicic configuration setting up Headset as
"default"
export ALSA_CONFIG_PATH="/opt/google/talkplugin/GoogleTalkPlugin.conf"
echo STARTING GoogleTalkPlugin-bin with
ALSA_CONFIG_PATH=$ALSA_CONFIG_PATH
exec /opt/google/talkplugin/GoogleTalkPlugin-bin
///// ///// ///// ///// ///// ///// ///// /////
(3) write /opt/google/talkplugin/GoogleTalkPlugin.conf :
///// ///// ///// ///// ///// ///// ///// /////
pcm.!default {
type hw
card Headset
}
ctl.!default {
type hw
card Headset
}
///// ///// ///// ///// ///// ///// ///// /////
Now, it only outputs a message "ALSA lib
control.c:902:(snd_ctl_open_noupdate) Invalid CTL hw:0" but seems to
work fine -- sounds great, on both ends of the call apparently.
Although it should be able to talk to CTL a USB headset, it seems to
be failing. Volumes seem ok anyway and I can control them easily via
kmix.
Here's current output in the course of starting gmail/gvoice and
making a few calls:
///// ///// ///// ///// ///// ///// ///// /////
[000:021] Started GoogleTalkPlugin, path=/opt/google/talkplugin/GoogleTalkPlugin
[000:021] Waiting for GoogleTalkPlugin to start...
STARTING GoogleTalkPlugin-bin with
ALSA_CONFIG_PATH=/opt/google/talkplugin/GoogleTalkPlugin.conf
/opt/google/talkplugin/GoogleTalkPlugin-bin:
/usr/lib/libcrypto.so.0.9.8: no version information available
(required by /opt/google/talkplugin/GoogleTalkPlugin-bin)
/opt/google/talkplugin/GoogleTalkPlugin-bin: /usr/lib/libssl.so.0.9.8:
no version information available (required by
/opt/google/talkplugin/GoogleTalkPlugin-bin)
[001:097] Read port file, port=35756
[001:099] Initiated connection to GoogleTalkPlugin
[001:197] Socket connection established
[001:197] ScheduleOnlineCheck: Online check in 5000ms
[001:296] Got cookie response, socket is authorized
[001:296] AUTHORIZED; socket handshake complete
socket(): Address family not supported by protocol
[006:261] HandleOnlineCheck: Starting check
[006:262] HandleOnlineCheck: OK; current state: 2
ALSA lib control.c:902:(snd_ctl_open_noupdate) Invalid CTL hw:0
socket(): Address family not supported by protocol
ALSA lib control.c:902:(snd_ctl_open_noupdate) Invalid CTL hw:0
socket(): Address family not supported by protocol
socket(): Address family not supported by protocol
[1296:213] Read port file, port=35756
[1296:218] Initiated connection to GoogleTalkPlugin
[1296:301] Socket connection established
[1296:301] ScheduleOnlineCheck: Online check in 5000ms
[1296:305] Got cookie response, socket is authorized
[1296:305] AUTHORIZED; socket handshake complete
socket(): Address family not supported by protocol
ALSA lib control.c:902:(snd_ctl_open_noupdate) Invalid CTL hw:0
[1301:373] HandleOnlineCheck: Starting check
[1301:373] HandleOnlineCheck: OK; current state: 2
socket(): Address family not supported by protocol
ALSA lib control.c:902:(snd_ctl_open_noupdate) Invalid CTL hw:0
///// ///// ///// ///// ///// ///// ///// /////
-- Niels
http://nielsmayer.com