On Thu, Feb 05, 2004 at 08:38:23PM +0100, Jaroslav Kysela wrote:
> > Otherwise, programs will work on some hardware and not others, which is
> > a case that should be minimized as much as possible; it's these kinds
> > of subtle differences that make it very hard to write reliable (sound,
> > video, etc) code.  I've had to play games with setting hardware settings:
> > always set the sample rate even if I don't care, use a 32k buffer size
> > and not a 4k or 8k one--in order to make it work on as many systems as
> > possible without failing mysteriously or triggering alsa-lib asserts.
> 
> Send us bug-reports if you have problems. We have not a magic ball.

Sample rate issue:

Subject: pcm_plug.c:882: snd_pcm_plug_hw_params: Assertion `err >= 0' failed.
Message-ID: <[EMAIL PROTECTED]>

Buffer size issue:

Subject: CS46xx oddness
Message-ID: <[EMAIL PROTECTED]>

In retrospect, the CS46xx issue looks just like a symptom of this
problem: the buffer fills up and never starts.  (I'm not setting
start_threshold at all, and regardless of the buffer size I only write
up to 4k ahead.)  I don't have this card to actually test with, though.

> Because we have the avail_min threshold which says that we don't want to
> write new data when buffer can accept less samples than this threshold. So
> if start_threshold is greather than '(buffer_size / avail_min) *
> avail_min' expression, then stream won't be automatically started, because
> we cannot fill data in read/write operations to satisfy the requirement
> that start_threshold == buffer_size.
> 
> Isn't this clear and right?

I don't know if avail_min is forced by hardware, but xfer_align (Takashi's
explanation) is.  It's easy for a program written on a system with a small
xfer_align to mysteriously not work on a system with a large xfer_align,
resulting in bug reports like "sound doesn't play".  Reporting an error
in cases where sound would never start is helpful.

-- 
Glenn Maynard


-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to