[PATCH] ALSA: aloop: Support S24 sample formats
![](https://secure.gravatar.com/avatar/464b2264f6fcd5ea3f53b7a4a3440a0e.jpg?s=120&d=mm&r=g)
From: Timo Wischer twischer@de.adit-jv.com
Currently snd_aloop supports only S16 and S32 audio sample formats. With this patch the S24 formats are also supported.
Signed-off-by: Timo Wischer twischer@de.adit-jv.com --- sound/drivers/aloop.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/sound/drivers/aloop.c b/sound/drivers/aloop.c index 8c3fbe1..c14e57b 100644 --- a/sound/drivers/aloop.c +++ b/sound/drivers/aloop.c @@ -337,7 +337,7 @@ static int loopback_prepare(struct snd_pcm_substream *substream)
loopback_timer_stop_sync(dpcm);
- salign = (snd_pcm_format_width(runtime->format) * + salign = (snd_pcm_format_physical_width(runtime->format) * runtime->channels) / 8; bps = salign * runtime->rate; if (bps <= 0 || salign <= 0) @@ -562,6 +562,8 @@ static const struct snd_pcm_hardware loopback_pcm_hardware = SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S16_BE | + SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S24_BE | + SNDRV_PCM_FMTBIT_S24_3LE | SNDRV_PCM_FMTBIT_S24_3BE | SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_S32_BE | SNDRV_PCM_FMTBIT_FLOAT_LE | SNDRV_PCM_FMTBIT_FLOAT_BE), .rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_192000,
![](https://secure.gravatar.com/avatar/a3dd0965b05b71c3dff6eb289eb43e59.jpg?s=120&d=mm&r=g)
Dne 25. 03. 19 v 16:14 twischer@de.adit-jv.com napsal(a):
From: Timo Wischer twischer@de.adit-jv.com
Currently snd_aloop supports only S16 and S32 audio sample formats. With this patch the S24 formats are also supported.
Reviewed-by: Jaroslav Kysela perex@perex.cz
Signed-off-by: Timo Wischer twischer@de.adit-jv.com
sound/drivers/aloop.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/sound/drivers/aloop.c b/sound/drivers/aloop.c index 8c3fbe1..c14e57b 100644 --- a/sound/drivers/aloop.c +++ b/sound/drivers/aloop.c @@ -337,7 +337,7 @@ static int loopback_prepare(struct snd_pcm_substream *substream)
loopback_timer_stop_sync(dpcm);
- salign = (snd_pcm_format_width(runtime->format) *
- salign = (snd_pcm_format_physical_width(runtime->format) * runtime->channels) / 8; bps = salign * runtime->rate; if (bps <= 0 || salign <= 0)
@@ -562,6 +562,8 @@ static const struct snd_pcm_hardware loopback_pcm_hardware = SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S16_BE |
SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S24_BE |
.rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_192000,SNDRV_PCM_FMTBIT_S24_3LE | SNDRV_PCM_FMTBIT_S24_3BE | SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_S32_BE | SNDRV_PCM_FMTBIT_FLOAT_LE | SNDRV_PCM_FMTBIT_FLOAT_BE),
participants (1)
-
Jaroslav Kysela
-
twischer@de.adit-jv.com