[alsa-devel] strange code in pcm_route.c for 3 byte formats
Maciej S. Szmigiero
mail at maciej.szmigiero.name
Sun Nov 19 23:42:13 CET 2017
Hi all,
While reading alsa-lib sources I've spotted some strange code in
src/pcm/pcm_route.c:
/* 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;
Since snd_pcm_format_physical_width() returns a width in bits it seems to me
that this would mean formats that are between 2 and 4 bits (inclusive) wide.
Before commit de63b942acf520 ("pcm: route: Use get/put labels for all 3 byte formats")
this read as:
route->params.use_getput = snd_pcm_format_physical_width(src_format) == 24 ||
snd_pcm_format_physical_width(dst_format) == 24;
The commit message of that commit says that this change was supposed to set
this flag also for 18 and 20-bit physical width formats.
Is there a mistake in this code or am I wrong somewhere in my thinking?
Best regards,
Maciej
More information about the Alsa-devel
mailing list