[alsa-devel] underruns and strange code in pcm_rate.c
tiwai at suse.de
Thu Nov 8 07:17:23 CET 2007
At Thu, 08 Nov 2007 12:05:21 +0300,
Stas Sergeev wrote:
> Takashi Iwai wrote:
> > Yeah I've seen the problem,
> Grrr... so you reproduced the
> problem already, right?
But still not exactly sure whether it's the same as you've got.
It's no good testcase after all, you see?
> > but as I wrote, it's basically because you
> > use periods=2 and unaligned sample rates.
> I do not - maybe libao does, but in
> fact I am sure also the sound servers
> have the same problem.
You didn't set the slave period_size and periods properly in your
configuration. This defines periods=2 eventually.
> > So, of course, it doesn't work.
> It does - have you tried my patch?
It works casually until a certain point. But XRUN shall happen, as I
explained. So, the patch helps well but not cures completely as long
as you use that configuration.
> > slave.periods 3
> > slave.period_size 4096
> > then you'll hear the improvement, I guess.
> So you already tried everything - then
> why asking me for the test-case?
Because ogg123 is not the good way to understand the bug.
It has a middle layer, threading, and so on.
A testcase is the standard way to debug. I don't like XP particularly
but some of its concept is benifitable for normal programming, too...
> Anyway. There is a bug. And not the
> only one. You knew the workaround
> while I was searching for the fix.
> Now you decide what is better - fix
> it or apply to workarounds.
Sigh. A bug is a bug. I know. But, the problem is that the
configuration still doesn't work. I'll likely apply your patch soon
later, but I need a better way to check.
> Btw, I can still reproduce the underrun
> by rapidly switching the consoles, even
> though now it is harder to reproduce.
This is utterly another problem, rather than the real-time response
issue. Because the realtime responsiveness is important for two
period case, slight difference of period/buffer size or its wakeup
condition influences greatly on the behavior.
More information about the Alsa-devel