[alsa-devel] period_time in slave definition

Pavel Hofman pavel.hofman at ivitera.com
Mon Feb 28 14:20:33 CET 2011


Jaroslav Kysela napsal(a):
> On Mon, 28 Feb 2011, Pavel Hofman wrote:
> 
>> Hi,
>>
>> According to
>> http://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html , my
>> .asoundrc contains:
>>
>> pcm.test {
>>        type plug
>>        slave {
>>                pcm "hw:0"
>>                format "unchanged"
>>                channels "unchanged"
>>                rate "unchanged"
>>                period_size 1024
>>                buffer_size 4096
>>        }
>> }
>>
>>
>> While pcm, format, channels, and rate are accepted, the period and
>> buffer fields are refused:
>>
>> ALSA lib pcm.c:6811:(snd_pcm_slave_conf) Unknown field period_time
> 
> It's correct, pcm:plug does not support buffer modifiers. Look to
> "Automatic conversion plugin".
> 
>> I checked the source code and the keywords seem to be ok
>>
>> pcm.c:
>> static const char *const names[SND_PCM_HW_PARAM_LAST_INTERVAL + 1] = {
>>     [SND_PCM_HW_PARAM_FORMAT] = "format",
>>     [SND_PCM_HW_PARAM_CHANNELS] = "channels",
>>     [SND_PCM_HW_PARAM_RATE] = "rate",
>>     [SND_PCM_HW_PARAM_PERIOD_TIME] = "period_time",
>>     [SND_PCM_HW_PARAM_PERIOD_SIZE] = "period_size",
>>     [SND_PCM_HW_PARAM_BUFFER_TIME] = "buffer_time",
>>     [SND_PCM_HW_PARAM_BUFFER_SIZE] = "buffer_size",
>>     [SND_PCM_HW_PARAM_PERIODS] = "periods"
>> };
> 
> It's just a table to translate all possibilites between index and name.
> The plug plugins allow only this:
> 
>     err = snd_pcm_slave_conf(root, slave, &sconf, 3,
>                  SND_PCM_HW_PARAM_FORMAT, SCONF_UNCHANGED, &sformat,
>                  SND_PCM_HW_PARAM_CHANNELS, SCONF_UNCHANGED, &schannels,
>                  SND_PCM_HW_PARAM_RATE, SCONF_UNCHANGED, &srate);
> 
>                     Jaroslav
> 

Thanks a lot for your response. Is there a way to set default
period/buffer parameters for applications which do not specify them
(i.e. audacious)? My idea was to put it somewhere into device definition
in .asoundrc. Dmix is not used.

Thanks,

Pavel.


More information about the Alsa-devel mailing list