From: Stas Sergeev <stsp@aknet.ru>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org
Subject: Re: underruns and strange code in pcm_rate.c
Date: Thu, 08 Nov 2007 21:34:09 +0300 [thread overview]
Message-ID: <473356A1.4050701@aknet.ru> (raw)
In-Reply-To: <s5habpptg5o.wl%tiwai@suse.de>
Hello.
Takashi Iwai wrote:
> But still not exactly sure whether it's the same as you've got.
> It's no good testcase after all, you see?
OK, I'll see what can be done about
a test-case. But it can't be made
immediately. Maybe this week-end.
> You didn't set the slave period_size and periods properly in your
> configuration. This defines periods=2 eventually.
That's what the program did, I
simply have not made an override.
> 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.
Well, do we agree that at least on
the hardware that allows an arbitrary
fragment sizes, it fixes the problem
completely? If so, then IMHO this is
already very good.
> Sigh. A bug is a bug. I know. But, the problem is that the
> configuration still doesn't work.
It will likely to work with most cards,
right?
But I don't have Ye Olde SB16 to test...
> 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.
As I said, I can reproduce the underrun
even after setting 3 periods. This is
very suspicious. I need to check for
a race.
> Yeah, but it's the case of partial writes again, i.e. when apps cannot
> write a full period size. When apps check its availability via poll,
> the hack isn't triggered.
But how then it happens that it fixes
the portaudio problems?
By the way, I still don't see what's
the difference. When the poll returns,
there is usually a period_size free on
slave. But does it mean that the app
can write the full period? What if the
rate plugin converts the full period
of app to the full period of HW + 4
extra bytes? In this case, even after
poll, the write may block because of
these 4 extra bytes, and then the partial
write will happen. Or what am I missing?
next prev parent reply other threads:[~2007-11-08 18:33 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-04 23:48 underruns and strange code in pcm_rate.c (and patch) Stas Sergeev
2007-11-06 11:29 ` Takashi Iwai
2007-11-06 14:47 ` James Courtier-Dutton
2007-11-06 17:14 ` Stas Sergeev
2007-11-07 11:28 ` Takashi Iwai
2007-11-07 10:40 ` Takashi Iwai
2007-11-06 16:10 ` Stas Sergeev
2007-11-07 10:54 ` Takashi Iwai
2007-11-07 17:16 ` underruns and strange code in pcm_rate.c Stas Sergeev
2007-11-07 14:23 ` Takashi Iwai
2007-11-07 18:52 ` Stas Sergeev
2007-11-08 3:36 ` Takashi Iwai
2007-11-08 8:09 ` Stas Sergeev
2007-11-08 5:38 ` Takashi Iwai
2007-11-08 9:05 ` Stas Sergeev
2007-11-08 6:17 ` Takashi Iwai
2007-11-08 18:34 ` Stas Sergeev [this message]
2007-11-09 16:20 ` Timur Tabi
2007-11-09 18:17 ` Stas Sergeev
2007-11-09 19:52 ` Timur Tabi
2007-11-09 20:00 ` Stas Sergeev
2007-11-09 20:06 ` Timur Tabi
2007-11-09 20:11 ` Lee Revell
2007-11-09 20:16 ` Timur Tabi
2007-11-09 20:30 ` Lee Revell
2007-11-09 20:33 ` Timur Tabi
2007-11-09 21:37 ` Lee Revell
2007-11-09 22:52 ` Stas Sergeev
2007-11-09 22:53 ` Timur Tabi
2007-11-12 12:12 ` Clemens Ladisch
2007-11-12 15:56 ` Timur Tabi
2008-01-31 20:49 ` Timur Tabi
2008-02-01 12:32 ` Takashi Iwai
2008-02-01 14:46 ` Timur Tabi
2008-02-01 15:07 ` Takashi Iwai
2008-02-01 15:18 ` Timur Tabi
2008-02-01 15:27 ` Takashi Iwai
2008-02-01 16:00 ` Timur Tabi
2007-11-07 18:40 ` underruns and strange code in pcm_rate.c (and patch) Stas Sergeev
2007-11-08 4:42 ` Takashi Iwai
2007-11-08 8:27 ` Stas Sergeev
2007-11-08 5:54 ` Takashi Iwai
2007-11-08 9:13 ` Stas Sergeev
2007-11-08 6:25 ` Takashi Iwai
2007-11-08 14:10 ` Alexander E. Patrakov
2007-11-06 13:56 ` Stas Sergeev
2007-11-08 20:06 ` Timur Tabi
2007-11-08 22:01 ` Timur Tabi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=473356A1.4050701@aknet.ru \
--to=stsp@aknet.ru \
--cc=alsa-devel@alsa-project.org \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.