Saturday, November 22, 2008

Ubuntu (intrepid) - skype blocking audio device

After performing a very starnge (and stupid) migration from kubuntu-intrepid to edubuntu-intrepid, then to xbunbu-intrepid and lastly to original Ubuntu-intrepid, my skype sound was blocking all other audio softwares from using my sound card while in a skype-call (basically no software mixing).

I seem to have found two solutions for the problem after suffering and searching for almost a day:

solution-1:: making sure you have pulse-audio installed [1]

  • backup previous configuration files
$ mkdir ~/pulse-backup && cp -r ~/.pulse ~/.asound* /etc/asound.conf /etc/pulse -t ~/pulse-backup/
$ sudo rm -r ~/.pulse ~/.asound* /etc/asound.conf

  • install pulse and adobe flash
$ sudo apt-get install libasound2-plugins padevchooser libao-pulse libsdl1.2debian-pulseaudio flashplugin-nonfree; apt-get remove --purge libflashsupport flashplugin-nonfree-extrasound

solution-2:: create a dummy "skype" device for alsa [2]

  • copy and paste the folling code in ~/.asoundrc and restart skype
====================================================================== {
type asym
playback.pcm "skypeout"
capture.pcm "skypein"

pcm.skypein {
# Convert from 8-bit unsigned mono (default format set by aoss when
# /dev/dsp is opened) to 16-bit signed stereo (expected by dsnoop)
# We can't just use a "plug" plugin because although the open will
# succeed, the buffer sizes will be wrong and we'll hear no sound at
# all.
type route
slave {
pcm "skypedsnoop"
format S16_LE
ttable {
0 {0 0.5}
1 {0 0.5}

pcm.skypeout {
# Just pass this on to the system dmix
type plug
slave {
pcm "dmix"

pcm.skypedsnoop {
type dsnoop
ipc_key 1133
slave {
# "Magic" buffer values to get skype audio to work
# If these are not set, opening /dev/dsp succeeds but no sound
# will be heard. According to the alsa developers this is due
# to skype abusing the OSS API.
pcm "hw:0,0"
period_size 256
periods 16
buffer_size 16384
bindings {
0 0