diff mbox series

ALSA: aloop: Support S24 sample formats

Message ID 1553526854-16921-1-git-send-email-twischer@de.adit-jv.com (mailing list archive)
State New, archived
Headers show
Series ALSA: aloop: Support S24 sample formats | expand

Commit Message

Timo Wischer March 25, 2019, 3:14 p.m. UTC
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(-)

Comments

Jaroslav Kysela March 25, 2019, 3:35 p.m. UTC | #1
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 |
> +			 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,
>
Takashi Iwai March 25, 2019, 3:39 p.m. UTC | #2
On Mon, 25 Mar 2019 16:35:20 +0100,
Jaroslav Kysela wrote:
> 
> 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>

Applied now, thanks.


Takashi
diff mbox series

Patch

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,