Am Dienstag, 13. November 2001 23:04 schrieb Wolfgang Hoffmann:
> Am Mittwoch, 7. November 2001 22:33 schrieb Anders Torger:
> > Hmmm... strange... I use the driver almost every day, and I have not seen
> > any problems. I also wrote the driver, but it has been some time since I
> > looked at it last, and I don't have an entirely fresh ALSA copy myself.
> > Unfortunately I will not be able to look into this until next weekend.
> > Perhaps some other user of the card could report on this?
>
> Or could it be that some other application lock the device? I'm running
> nothing special, plain SuSE 7.3 with KDE. I took the dummy-library
> libasound.so.1 from ftp.suse.com/pub/people/tiwai/alsa9-packages/ to
> stop all alsa-0.5-apps from interfering. Am I missing something?

Seems like aRts caused the trouble of busy devices. Sorry, I probably should
have asked this on Alsa-users, not here. Sorry again.

> Concerning problem 2b): Here the RME96-driver seems to make
> troubles. Using the via-chipset, I can run "latency" fine. Using the
> RME DIGI96, it eigther fails to open the device as described, or dumps
> a segmentation fault. gdb gives:
> Program received signal SIGSEGV, Segmentation fault.

I found out the reason of the "latency"-segfault, but need some help.
This definitely is Alsa-devel topic ;-)

The RME96 driver seems to return fixed values for buffer size and period,
no matter what one asks for:
"latency" tries
    snd_pcm_hw_params_set_buffer_size_near(..., 64)
which results in
    snd_pcm_hw_params_get_buffer_size(...) == 16384. wow!
With that, it tries
    snd_pcm_hw_params_set_period_size_near(..., 8192), which returns 2048.

The segfault is caused by snd_pcm_format_set_silence(S16_LE, buffer, 16384),
which writes 32768 bytes the buffer malloced with 16384 bytes
(maximum latency = 4096 * 4 bytes per frame). The bytes written beyond the
buffer hit the areas where the pcm-handles point to, resulting in the
seg-fault when trying to use the pcm.

latency.c probably should handle this case more gracefully. But the core
issue is: why doesn't the RME96 driver adjust buffer-size and period properly?
Are there hardware-constraints with the RME DIGI96 soundcard, or is the
driver somewhat custom tailored to your needs, Anders? Or is it an API
incompatibility of the evolving alsa-library with the driver?

Is there a chance to get the driver into good shape? I'd be willing to help...

Ciao,
Wolfgang


_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to