From: Takashi Iwai <tiwai@suse.de>
To: Oliver Freyd <Oliver.Freyd@gmx.de>
Cc: alsa-devel@lists.sourceforge.net
Subject: Re: trident (Hoontech 4d Wave NX) dropouts with small buffersize.
Date: Mon, 11 Oct 2004 17:27:32 +0200 [thread overview]
Message-ID: <s5hd5zp46mz.wl@alsa2.suse.de> (raw)
In-Reply-To: <20041009184135.GA1612@gmx.de>
[-- Attachment #1: Type: text/plain, Size: 1164 bytes --]
At Sat, 9 Oct 2004 20:41:35 +0200,
Oliver Freyd wrote:
>
> On Fri, Oct 08, 2004 at 06:39:50PM +0200, Takashi Iwai wrote:
>
> > Hmm, how about the bigger period & buffer sizes? Try both periods=2
> > and other cases.
> >
> > The trident driver handles differently when period_size =
> > buffer_size/2. If period_size != buffer_size/2, it allocates an extra
> > voice for the interrupt source. So, if the bug occurs only with
> > periods = 2, it narrows the buggy part.
> >
> Hello,
>
> I've tried that, I think your idea is right.
> The bug occurs when period_size = buffer_size/2 , also for bigger periods
> like 2048 or 4096. Then you can hear that some buffers are repeated,
> the soundcard plays them again. If you decrease period_size (even only by 1)
> it works nicely. If you increase, you get buffer underruns (aplay detects
> them).
>
> So it seems you have an idea of where the bug could be :-)
>
> If you tell me what else I could do to narrow down the problem,
> I'm happy to help you!
Ok, to be sure, please try the attached patch.
This will make the driver ignoring the check of 2 periods and always
allocatint an extra voice.
Takashi
[-- Attachment #2: Type: text/plain, Size: 725 bytes --]
Index: alsa-kernel/pci/trident/trident_main.c
===================================================================
RCS file: /suse/tiwai/cvs/alsa/alsa-kernel/pci/trident/trident_main.c,v
retrieving revision 1.59
diff -u -r1.59 trident_main.c
--- alsa-kernel/pci/trident/trident_main.c 30 Jul 2004 12:44:59 -0000 1.59
+++ alsa-kernel/pci/trident/trident_main.c 11 Oct 2004 15:24:30 -0000
@@ -814,7 +814,7 @@
/* voice management */
- if (params_buffer_size(hw_params) / 2 != params_period_size(hw_params)) {
+ if (1 /*params_buffer_size(hw_params) / 2 != params_period_size(hw_params)*/) {
if (evoice == NULL) {
evoice = snd_trident_alloc_voice(trident, SNDRV_TRIDENT_VOICE_TYPE_PCM, 0, 0);
if (evoice == NULL)
next prev parent reply other threads:[~2004-10-11 15:27 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-05 20:13 trident (Hoontech 4d Wave NX) dropouts with small buffersize Oliver Freyd
2004-10-07 13:04 ` Takashi Iwai
2004-10-08 7:15 ` Oliver Freyd
2004-10-08 16:39 ` Takashi Iwai
2004-10-09 18:41 ` Oliver Freyd
2004-10-11 15:27 ` Takashi Iwai [this message]
2004-10-13 20:02 ` Oliver Freyd
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=s5hd5zp46mz.wl@alsa2.suse.de \
--to=tiwai@suse.de \
--cc=Oliver.Freyd@gmx.de \
--cc=alsa-devel@lists.sourceforge.net \
/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.