diff options
-rw-r--r-- | sound/drivers/aloop.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sound/drivers/aloop.c b/sound/drivers/aloop.c index 8c3fbe1276be..c14e57b2a135 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, |