Re: [Ekiga-devel-list] Pls don't require exclusive Alsa audio device access, use snd_pcm_dmix_open ()

Colin Guthrie wrote:
Jaroslav Kysela wrote:
On Wed, 28 Nov 2007, thomas schorpp wrote:

+ if (_snd_pcm_dmix_open (&os_handle, real_device_name, snd_config_t* root, snd_config_t* sconf, stream, SND_PCM_NONBLOCK) < 0) {
Uff. It's really wrong. What you're trying to do? Simply use 'default' device name for snd_pcm_open() which should have defined dmix access if required. And don't forget to allow specify (force) ALSA device name to users if someone wants a special setup.

well, this is only draft code ;) ekiga uses the ptlib alsa plugin and this thing blocks all other apps device access or gets blocked if another app like iceape is already on the device, twinkle has the same issue and this gets really on my nerves, cause i need to restart iceape to get the device free for telephony again, always :[

skype uses snd_pcm_dmix_open() (seen it in a bugtrace) and has no such problems.

i cant hardcode the devicename since it is selected and passed down by ekiga, the original code does:

- if (snd_pcm_open (&os_handle, real_device_name, stream, SND_PCM_NONBLOCK) < 0)
so i must define the dmix access in ekiga, it seems not be defined implicitely?

+1 Dmix should not be enforced... this can be handled at a lower
level.... e.g. with dmix configured in alsa config or by using
pulseaudio instead of dmix (my preferred solution so I can switch from
my internal speakers to my usb headset should I plug it in mid-call).


alsa docs say dmix config files are no longer neccessary?

maybe the old (2.6.18 kernel) driver for this device has more bugs than not reinitializing mixer setting after acpi resume:
00:1f.5 Multimedia audio controller: Intel Corporation 82801CA/CAM AC'97 Audio Controller (rev 01)
       Subsystem: IBM ThinkPad T23 (2647-4MG) or A30/A30p (2652/2653)

snd_intel8x0           30332  1
snd_ac97_codec         83104  1 snd_intel8x0
snd_ac97_bus            2400  1 snd_ac97_codec
snd_pcm_oss            38368  0
snd_mixer_oss          15200  1 snd_pcm_oss
snd_pcm                68676  3 snd_intel8x0,snd_ac97_codec,snd_pcm_oss
snd_timer              20996  1 snd_pcm
snd                    47012  8 snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
soundcore               9248  1 snd
snd_page_alloc          9640  2 snd_intel8x0,snd_pcm

ii  libasound2          1.0.15-2            ALSA library

cat: /proc/asound/I82801CAICH3: Is a directory
cat: /proc/asound/card0: Is a directory
0 [I82801CAICH3   ]: ICH - Intel 82801CA-ICH3
                     Intel 82801CA-ICH3 with CS4299 at 0x1c00, irq 5
 0: [ 0]   : control
16: [ 0- 0]: digital audio playback
24: [ 0- 0]: digital audio capture
25: [ 0- 1]: digital audio capture
33:        : timer
0 snd_intel8x0
cat: /proc/asound/oss: Is a directory
00-01: Intel ICH - MIC ADC : Intel 82801CA-ICH3 - MIC ADC : capture 1
00-00: Intel ICH : Intel 82801CA-ICH3 : playback 1 : capture 1
cat: /proc/asound/seq: Is a directory
G0: system timer : 4000.000us (10000000 ticks)
P0-0-0: PCM playback 0-0-0 : SLAVE
P0-0-1: PCM capture 0-0-1 : SLAVE
P0-1-1: PCM capture 0-1-1 : SLAVE
Advanced Linux Sound Architecture Driver Version 1.0.12rc1 (Thu Jun 22 13:55:50 2006 UTC).

i will try the recent kernel maybe this solves things...


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]