From: Pavel Hofman <pavel.hofman@ivitera.com>
To: Jaroslav Kysela <perex@perex.cz>
Cc: alsa-devel <alsa-devel@alsa-project.org>
Subject: Re: period_time in slave definition
Date: Tue, 01 Mar 2011 10:07:44 +0100 [thread overview]
Message-ID: <4D6CB760.5070601@ivitera.com> (raw)
In-Reply-To: <alpine.LNX.2.00.1102281412520.7877@eeebox2.perex-int.cz>
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
>
Well, still I do not understand why we are talking about the plug
plugin, when I am trying to redefine the slave via pcm_slave. The
documentation at
http://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html says the
pcm_slave can define period_time and buffer_time, while a slightly
modified example from the wiki page fails:
pcm_slave.slave_rate44100Hz {
pcm "hw:0,0"
rate 44100
---> period_time 1024
}
pcm.rate44100Hz {
type plug
slave slave_rate44100Hz
}
How does the slave definition relate to the plug plugin? Sorry for these
basics but I am really trying to understand that, so far no success.
Thanks a lot.
Pavel.
next prev parent reply other threads:[~2011-03-01 9:14 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-28 12:25 period_time in slave definition Pavel Hofman
2011-02-28 13:15 ` Jaroslav Kysela
2011-02-28 13:20 ` Pavel Hofman
2011-03-01 9:07 ` Pavel Hofman [this message]
2011-03-01 9:22 ` Jaroslav Kysela
2011-03-01 9:44 ` Pavel Hofman
2011-03-01 10:28 ` Pavel Hofman
2011-03-01 15:26 ` Pavel Hofman
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=4D6CB760.5070601@ivitera.com \
--to=pavel.hofman@ivitera.com \
--cc=alsa-devel@alsa-project.org \
--cc=perex@perex.cz \
/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.