mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-10-31 22:25:35 -04:00
pcm: route: Use get/put labels for all 3 byte formats
So far, use_getput flag is set only when the src or dest format is 24bit physical width. But, also 18 and 20 bit physical width formats should set the flag, too. This patch makes the check broader to cover all 3 bytes formats. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
52444bd43a
commit
de63b942ac
1 changed files with 4 additions and 2 deletions
|
|
@ -644,8 +644,10 @@ static int snd_pcm_route_hw_params(snd_pcm_t *pcm, snd_pcm_hw_params_t * params)
|
|||
}
|
||||
if (err < 0)
|
||||
return err;
|
||||
route->params.use_getput = snd_pcm_format_physical_width(src_format) == 24 ||
|
||||
snd_pcm_format_physical_width(dst_format) == 24;
|
||||
/* 3 bytes formats? */
|
||||
route->params.use_getput =
|
||||
(snd_pcm_format_physical_width(src_format) + 7) / 3 == 3 ||
|
||||
(snd_pcm_format_physical_width(dst_format) + 7) / 3 == 3;
|
||||
route->params.get_idx = snd_pcm_linear_get_index(src_format, SND_PCM_FORMAT_S16);
|
||||
route->params.put_idx = snd_pcm_linear_put32_index(SND_PCM_FORMAT_S32, dst_format);
|
||||
route->params.conv_idx = snd_pcm_linear_convert_index(src_format, dst_format);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue