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 openh323.org 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).
Col.
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...
thx tom