[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