Re: alsa buffer size

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



With regard to the buffer size requiring more than x2 period size.

If I understand ALSA correctly and to give you more understanding of
my application.  I require a large buffer of 2 seconds because the app
that drives data to my application, via Ethernet UDP, can sometimes
starve my application for a short while.  It is my responsible to top
up the buffer to its correct position.

The period size is related to the hw interrupt which drives the ALSA
callback function.  I use this function to top up the buffer to
correct level.  Also I require more than 2 period sizes to do this.
The algorithm may take several period sizes to gradually adjust the
buffer level to correct level.

On 8/31/07, Clemens Ladisch <cladisch@xxxxxxxxxxxxxx> wrote:
> paul blakeley wrote:
> > I am writing an application that is generic enough to a number of
> > different drivers.  If thats possible!  I am trying to achieve a 2
> > second of buffer for a number of different sample rates.  This means
> > that for a sample rate of 44.1KHz I require a buffer size of 88.2K
> > frames!!!!  For all the different types of sound cards that I have
> > used I havent seen a buffer size > 16K frames : (
> >
> > I have noticed that various drivers have certain behaviour which makes
> > writing a application that is generic for all drivers very difficult.
> > For example for an intel chipset I have found that the driver was very
> > versatile and allowed me to choose various period sizes for different
> > buffer sizes.  Whilst the driver for the CS4299 chipset, although
> > allows a buffer size of upto 16K the period size has to be half that
> > value.
>
> The CS4299 is just an AC'97 codec; the buffer constraints depend on
> the controller and/or the controller driver.
>
> > Therefore this makes it impossible for me to use with the ALSA
> > callback mechanism, which I need to use for the design to work!
>
> ALSA cannot guarantee that any specific buffer/period size combination
> is available on all sound cards.  Your program must be able to work with
> any value.
>
> There are several sound cards that require exactly two periods per
> buffer.  Why does your design need more?
>
> > By the way how do I find out which driver is assigned to a chipset?
>
> /proc/asound/modules
>
> > Can a driver be used on multiple chipsets?
>
> Yes, there are driver that can control several similar chipsets.
>
>
> Regards,
> Clemens
>

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user

[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux