2010/6/23 David Dillow dave@thedillows.org:
On Wed, 2010-06-23 at 20:22 +0200, Hans Schou wrote:
int fd = open("/dev/dsp", O_RDWR);
This should not go through ALSA (I think). I gues one should use something with "snd_pcm_open()" to use ALSA.
To use ALSA directly, yes. However, there is no OSS SIS7019 driver in the kernel, only the ALSA one I wrote. There is an OSS emulation layer, so you can use the OSS API to talk to the ALSA core. Unless you are using a vendor (SIS/MicroJr/etc.) supplied driver, you are using ALSA in some capacity.
OK. Thanks for clearing it out.
I guess I should have programmed against ALSA when I started.
I really don't understand why I do not see this problem on other hardware using the same compiled code.
You mean the 10 second pauses during recording after 42 minutes? That is a driver bug, so it is specific to this card.
OK. And 42 min is also the only problem I see. I have no problems with the recorded sounds.
If you mean the alternating long/sort period times, then it is present on other hardware, but you likely don't see it either due to the defaults giving you more periods to work in so you don't see overruns, faster hardware than the SIS550 CPU, or a combination of the two. The bug that gives rise to the 10 second pauses can also shorten the periods I think, making overruns more likely to occur.
OK.
/hans