[alsa-devel] Question about hw_param with Ctrl-Z + fg
Kuninori Morimoto
kuninori.morimoto.gx at renesas.com
Tue Apr 4 07:57:28 CEST 2017
Hi Sakamoto-san, Mark
Thank you for your feedback
> > Ctrl-Z case
> > - aplay xxx.wav
> > => - hw_param
> > - SNDRV_PCM_TRIGGER_START
> > - Ctrl-Z
> > - SNDRV_PCM_TRIGGER_STOP
> > - fg
> > => - ## no hw_param here
> > - SNDRV_PCM_TRIGGER_START
> > - Ctrl-C (stop)
> > - SNDRV_PCM_TRIGGER_STOP
>
> No issues.
>
> I think it better to implement what you want in any .prepare
> callbacks, instead of the .be_hw_params_fixup callback, because in
> this case, PCM substream lapses into XRUN state in call graph from
> your hw IRQ handler. Typical applications recover from this state by
> calling ioctl(PREPARE), without any call of ioctl(HW_PARAMS).
>
> Actually, you can see applications call ioctl(PREPARE), before you see
> call of 'struct snd_pcm_ops.trigger(START)'.
Hmm...
Above .be_hw_params_fixup is used to convert sampling rate or channel
number or some other related things between SoC / Codec as DPCM feature.
Thus, I can't switch to .be_hw_params_fixup to .prepare I guess.
But Mark, am I misunderstanding ?
Best regards
---
Kuninori Morimoto
More information about the Alsa-devel
mailing list