[alsa-devel] PROBLEM: SIS7019 stops recording after 42 min

David Dillow dave at thedillows.org
Wed Jun 23 22:42:12 CEST 2010

On Wed, 2010-06-23 at 20:22 +0200, Hans Schou wrote:
> 2010/6/23 David Dillow <dave at thedillows.org>:
> > I can reproduce the alternating pattern of periods using a different
> > device, so this may be something in the core code of ALSA.
> Strange? The program I am actually using is one I have written myself.
> I was sure I was using the old method as I open(2). In my program I
> use
>    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.

> > Since this problem is not related to the SiS7019 driver, I'll leave it
> > to later -- or for others to investigate. Using three periods per buffer
> > sees a similar pattern, but one has an extra period time to work
> > within.
> 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.

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.


More information about the Alsa-devel mailing list