From: David Dillow on
On Wed, 2010-06-23 at 20:22 +0200, Hans Schou wrote:
> 2010/6/23 David Dillow <dave(a)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.

Dave


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Hans Schou on
2010/6/23 David Dillow <dave(a)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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
First  |  Prev  | 
Pages: 1 2 3 4
Prev: ~~Hi~~
Next: MMC: Add JZ4740 mmc driver