[alsa-devel] How to properly handle variable samplerate?

Petr Kulhavy petr at barix.com
Fri Sep 5 18:20:42 CEST 2014


Hi,

I'm developing an audio stream player application with ALSA output, the 
player has a large software buffer. The trouble is that the stream can 
potentially change the sampling rate (e.g. streaming RTP from a VLC 
playlist created from different MP3 songs). How to properly handle this?

I'm thinking of the following concept:
The codec feeds data into the software buffer together with markers for 
sample rate changes. The ALSA playback is asynchronous, using a callback 
function feeding the data from the software buffer into ALSA. If a 
samplerate marker is hit the new rate is set.

Can the sample rate be set from a callback? What other constraints are 
there? And how does the HW FIFO handle samplerate changes?
Or is there a better way of implementing?

Thanks a lot!
Petr

-- 
Petr Kulhavy, MSc
System Architect

*BARIX*

petr at barix.com <mailto:petr at barix.com> | Skype: brain.barix

Barix AG, Seefeldstrasse 303 | 8008 Zurich, Switzerland
T +41 43 43322 11 | www.barix.com <http://www.barix.com>

You have received this email because of your relationship Barix AG and
its affiliated companies. Barix AG and its affiliated companies do not
sell or exchange email addresses, or any other personal contact
information provided by you with any third parties. All email
distributions are managed and controlled by Barix AG and its affiliated
companies.
Barix AG, Seefeldstr. 303, 8008 Zürich, Switzerland. Company Reg. No:
CH-020.3.023.869-8, VAT Reg. No: CHE-105.687.663.



More information about the Alsa-devel mailing list