Hi there,
I have an ASIC running on an ASoC with a custom rate @ 18750 Hz. I would like ALSA to report the correct rate.
If I do nothing, then the following reports 16000 Hz : cat /proc/asound/card0/pcm0c/sub0/hw_params
I have verified that the hardware is running at the expected 18750 Hz. I am wondering what/where is the correct place to setup the actual rate ?
I am trying to set the rates at startup like so but ALSA will not work with the driver when I do this :
static int implant_startup(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) { snd_pcm_hw_constraint_minmax(substream->runtime, SNDRV_PCM_HW_PARAM_RATE, 18750, 18750); snd_pcm_hw_constraint_minmax(substream->runtime, SNDRV_PCM_HW_PARAM_CHANNELS, 2, 2); snd_pcm_hw_constraint_minmax(substream->runtime, SNDRV_PCM_HW_PARAM_SAMPLE_BITS, 16, 16);
return 0; }
static const struct snd_soc_dai_ops implant_dai_ops = { .set_fmt = implant_set_dai_fmt, .startup = implant_startup, };
thanks Matt