~vcs-imports/alsa-utils/trunk

Viewing all changes in revision 1468.

  • Committer: Jaroslav Kysela
  • Author(s): Samuel Holland
  • Date: 2019-05-07 06:28:31 UTC
  • Revision ID: git-v1:60f78865d305a90195167e2148a0ee20f9e17628
axfer: Fix creation of v1.2 headers on big-endian systems

struct block_v120_format defines these members as uint8_t. On
little-endian systems, no swapping is done, and the generated block
header is fine. However, on big-endian machines, the value is swapped to
the high byte and then truncated by the assignment, causing both
bits_per_sample and samples_per_frame to be zero.

This fixes an assertion failure in container-test when later
parsing the header ["assert(*samples_per_frame > 0);" in
container_context_pre_process()].

Fixes: 4ab7510f3a18: ("axfer: add support for a container of Creative Tech. voice format")

Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: