OSDN Git Service

ALSA: uapi: pcm: control the filling of the silence samples for drain
authorJaroslav Kysela <perex@perex.cz>
Tue, 2 May 2023 11:55:36 +0000 (13:55 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 8 May 2023 13:23:01 +0000 (15:23 +0200)
commita4bb75c4f19db711676e6bf6a278d932a5e7667b
tree4874aa6978abb14f2ce5a6479e54cfe74f9210c1
parent946233bb23becc2898db31ad785d94fe80aa15dc
ALSA: uapi: pcm: control the filling of the silence samples for drain

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:

1) driver may notify the presence of the perfect drain
2) 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/

[ fixed a typo in comment by tiwai ]

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Link: https://lore.kernel.org/r/20230502115536.986900-1-perex@perex.cz
Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/uapi/sound/asound.h