Я использую ALSA для и аудио приложения в Linux, я нашел, что большие документы объясняют, как его использовать: 1 и этот. хотя у меня есть некоторые проблемы, чтобы понять эту часть настройки:
/* Set number of periods. Periods used to be called fragments. */
if (snd_pcm_hw_params_set_periods(pcm_handle, hwparams, periods, 0) < 0) {
fprintf(stderr, "Error setting periods.\n");
return(-1);
}
что означает установленное количество периодов, когда я использую режим ВОСПРОИЗВЕДЕНИЯ и:
/* Set buffer size (in frames). The resulting latency is given by */
/* latency = periodsize * periods / (rate * bytes_per_frame) */
if (snd_pcm_hw_params_set_buffer_size(pcm_handle, hwparams, (periodsize * periods)>>2) < 0) {
fprintf(stderr, "Error setting buffersize.\n");
return(-1);
}
и тот же вопрос здесь о латентности, как я должен это понимать? Заранее благодарю за любую помощь!