At Fri, 10 Aug 2012 00:28:50 +0000, Fujikawa, Kazutoshi wrote:
Hello.
I'd like to play a wav file converted from S24_3LE format to S24_LE by alsa-lib. (I use aplay command.)
I recognize the following:
<PCM format in wav file> ex. Valid PCM data is 0x123456.
S24_LE : 0x12345600(in 4bytes, LSB 0 padding)
No, it's S32_LE. The actual bit length the hardware supports is informed via sbits (msbits) if it doesn't fill the whole 32bit. But it's optional.
S24_3LE : 0x123456 (in 3bytes, No padding)
When the S24_LE format file is played, the ALSA driver receives data format is as follows:
0x12345600 (LSB 0 padding)
However, when the S24_3LE format file which is converted to S24_LE by alsa-lib is played, the ALSA driver receives data formats is as follows:
0x00123456 (MSB 0(or 0xFF) padding)
This is the correct S24_LE representation.
Takashi