[alsa-devel] How do I tell ALSA that my driver supports every possible sample rate?

Takashi Iwai tiwai at suse.de
Wed Jul 25 12:18:27 CEST 2007


At Tue, 24 Jul 2007 14:30:29 -0500,
Timur Tabi wrote:
> 
> Takashi Iwai wrote:
> 
> >> #define SNDRV_PCM_RATE_ALL (SNDRV_PCM_RATE_8000_192000 | SNDRV_PCM_RATES_5512)
> > 
> > I'd prefer 5512_19200.  The word "ALL" may vary in future.
> 
> That's the point.  It's supposed to indicate all sample rates no matter what they are or 
> will be.  However, that may be a moot point ...
> 
> > Anyway, the bits SND_PCM_RATES_[0-9]* are ignored when _CONTINUOUS or
> > _KNOT is passed.  Only the values in rate_min/rate_max fields are
> > referred as actual min/max rates.
> 
> Ah!  I wish this stuff were documented in the source files.
> 
> So can I do this?
> 
> static const struct snd_pcm_hardware mpc86xx_pcm_hardware = {
> 
> 	.rates			= SNDRV_PCM_RATE_CONTINUOUS,
> 	.rate_min		= 1,
> 	.rate_max		= (unsigned int) -1,

In theory, yes, but these rate_min and rate_max are nothing but
confusing in practice.  Your hardware won't support definitely such
rates, but the application can't know.  Set some reasonable values
there.


Takashi


More information about the Alsa-devel mailing list