[alsa-devel] period_size and .asoundrc
Takashi Iwai
tiwai at suse.de
Tue May 26 10:15:55 CEST 2009
At Mon, 25 May 2009 15:12:17 +0200,
Canella Matteo wrote:
>
> Hi everybody,
> I'm writing a little software that play a tone on a pcm device.
> In the hw param initialization I'm hardcoding the "periods" and "period_size" values:
>
> unsigned int periods = 4;
> if (snd_pcm_hw_params_set_periods_near(buzzer_device.pcm_handle, buzzer_device.hwparams, &periods, 0) < 0) {
> fprintf(stderr, "Error setting periods.\n");
> return 1;
> }
> ///* set the period time */
> period_size = 8192;
> err = snd_pcm_hw_params_set_period_size_near(buzzer_device.pcm_handle, buzzer_device.hwparams, &period_size, 0);
> if (err < 0) {
> printf("Unable to get period size for playback: %s\n", snd_strerror(err));
> return err;
> }
>
> I'd like to read this parameter form the .asoundrc file, so I'm wondering if there were API that does this task.
You can call snd_config_search() with snd_config as root config.
For example,
snd_config_t *n;
long val;
if (snd_config_search(snd_config, "YOUR.CONFIG", &n) < 0)
error();
if (snd_config_get_integer(n, &val) < 0)
error();
Takashi
More information about the Alsa-devel
mailing list