[alsa-devel] [PATCH 2/2] Improve hw_params documentation

Clemens Ladisch clemens at ladisch.de
Wed Nov 16 23:08:37 CET 2011


On 11/16/2011 10:31 PM, Andrew Eikum wrote:
> On Wed, Nov 16, 2011 at 10:20:07PM +0100, Clemens Ladisch wrote:
>> Andrew Eikum wrote:
>>> +++ b/include/pcm.h
>>> @@ -44,8 +44,20 @@ extern "C" {
>>>
>>>  /** PCM generic info container */
>>>  typedef struct _snd_pcm_info snd_pcm_info_t;
>>> -/** PCM hardware configuration space container */
>>> +
>>> +/** PCM hardware configuration space container
>>> + *
>>> + *  snd_pcm_hw_params_t is an opaque structure which contains a set of possible
>>> + *  PCM hardware configurations. For example, a given instance might include a
>>> + *  range of buffer sizes, a range of period sizes, and a set of several sample
>>> + *  formats. Some subset of all possible combinations these sets may be valid,
>>> + *  but not necessarily any combination will be valid.
>>> + *
>>> + *  No validation is done by the various snd_pcm_hw_params_set* functions.
>>
>> These functions do validate the value that the application is trying to set
>> and adjust all other dependent limits.
>
> I didn't find that to be the case in my testing, at least between
> periods, period_size, and buffer_size. I've attached a test program
> here.

I can reproduce this.

Try running the program with LIBASOUND_DEBUG=1; it appears that there is
a bug in the rate plugin.  (Normal programs actually set their rate ...)


Regards,
Clemens


More information about the Alsa-devel mailing list