On Tue, 02 May 2023 13:55:36 +0200, Jaroslav Kysela wrote:
Introduce SNDRV_PCM_INFO_PERFECT_DRAIN and SNDRV_PCM_HW_PARAMS_NO_DRAIN_SILENCE flags to fully control the filling of the silence samples in the drain ioctl. Actually, the configurable silencing is going to be implemented in the user space [1], but drivers (hardware) may not require this operation. Those flags do the bidirectional setup for this operation:
- driver may notify the presence of the perfect drain
- user space may not require the filling of the silence samples to inhibit clicks
If we decide to move this operation to the kernel space in future, the SNDRV_PCM_INFO_PERFECT_DRAIN flag may handle this situation without double "silence" processing (user + kernel space).
The ALSA API should be universal, so forcing the behaviour (modifying of the ring buffer with any samples) for the drain operation is not ideal.
[1] https://lore.kernel.org/alsa-devel/20230502115010.986325-1-perex@perex.cz/
Signed-off-by: Jaroslav Kysela perex@perex.cz
Now applied to for-next branch (with a typo fix in the comment).
thanks,
Takashi