[CLAM] sound capture
Ismael
ismael.mosquera01 at campus.upf.es
Sat Jan 24 03:19:48 PST 2004
Greetings.
I have a problem with sound capture through microphone using the AudioIn
class, AudioManager, etc... under linux
The following error appears in running time:
pcm.c:920: snd_pcm_prepare: La declaración `pcm' no se cumple.
Abortado
file path pcm.c:
/usr/src/linux-2.4.20.SuSE/sound/core/pcm.c
The program works well under windows and artsd is killed
linux distribution: SuSE 8.2
sound card: SB Audigy
sound devices:
ls -l /dev/snd
lrwxrwxrwx 1 root root 16 2004-01-09 23:33 /dev/snd ->
/proc/asound/dev
ls -l /proc/asound/dev
total 0
crw-rw-rw- 1 root root 116, 0 2004-01-24 03:59 controlC0
crw-rw-rw- 1 root root 116, 4 2004-01-24 03:59 hwC0D0
crw-rw-rw- 1 root root 116, 8 2004-01-24 03:59 midiC0D0
crw-rw-rw- 1 root root 116, 9 2004-01-24 03:59 midiC0D1
crw-rw-rw- 1 root root 116, 10 2004-01-24 03:59 midiC0D2
crw-rw-rw- 1 root root 116, 11 2004-01-24 03:59 midiC0D3
crw-rw-rw- 1 root root 116, 24 2004-01-24 03:59 pcmC0D0c
crw-rw-rw- 1 root root 116, 16 2004-01-24 03:59 pcmC0D0p
crw-rw-rw- 1 root root 116, 25 2004-01-24 03:59 pcmC0D1c
crw-rw-rw- 1 root root 116, 26 2004-01-24 03:59 pcmC0D2c
crw-rw-rw- 1 root root 116, 19 2004-01-24 03:59 pcmC0D3p
crw-rw-rw- 1 root root 116, 1 2004-01-24 03:59 seq
crw-rw-rw- 1 root root 116, 33 2004-01-24 03:59 timer
modules.conf:
# --- BEGIN: Generated by ALSACONF, do not edit. ---
# --- ALSACONF verion 0.9.0 ---
alias char-major-116 snd
alias snd-card-0 snd-emu10k1
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
options snd snd_major=116 snd_cards_limit=1 snd_device_mode=0666
options snd-emu10k1 snd_index=0
# --- END: Generated by ALSACONF, do not edit. ---
location error:
static int snd_pcm_dev_unregister(snd_device_t *device)
{
int idx, cidx, devtype;
snd_pcm_substream_t *substream;
struct list_head *list;
snd_pcm_t *pcm = snd_magic_cast(snd_pcm_t, device->device_data,
return -ENXIO);
snd_assert(pcm != NULL, return -ENXIO);
snd_pcm_lock(0);
idx = (pcm->card->number * SNDRV_PCM_DEVICES) + pcm->device;
snd_pcm_devices[idx] = NULL;
for (cidx = 0; cidx < 2; cidx++) {
devtype = -1;
switch (cidx) {
case SNDRV_PCM_STREAM_PLAYBACK:
devtype = SNDRV_DEVICE_TYPE_PCM_PLAYBACK;
break;
case SNDRV_PCM_STREAM_CAPTURE:
devtype = SNDRV_DEVICE_TYPE_PCM_CAPTURE;
break;
}
snd_unregister_device(devtype, pcm->card, pcm->device);
for (substream = pcm->streams[cidx].substream; substream; substream =
substream->next)
***** this is the line 902 ---> snd_pcm_timer_done(substream);
}
list_for_each(list, &snd_pcm_notify_list) {
snd_pcm_notify_t *notify;
notify = list_entry(list, snd_pcm_notify_t, list);
notify->n_unregister(pcm);
}
snd_pcm_lock(1);
return snd_pcm_free(pcm);
}
If somebody knows the nature of the problem and can help me I should be very
grateful.
Thanks.
Ismael
________________________________________________________________________________________
Este mensaje ha sido analizado y protegido por la tecnologia antivirus www.trendmicro.es
More information about the clam-users
mailing list