strange code in pcm_route.c for 3 byte formats

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux