All of lore.kernel.org
 help / color / mirror / Atom feed
* S24_LE is 3 bytes ? in alsa-lib example pcm.c
@ 2008-07-10  8:24 Norbert van Bolhuis
  2008-07-10  9:23 ` Clemens Ladisch
  0 siblings, 1 reply; 6+ messages in thread
From: Norbert van Bolhuis @ 2008-07-10  8:24 UTC (permalink / raw)
  To: alsa-devel, alsa-user


as far as I know:
sample format S24_LE is 24bit sample in 4 bytes
sample format S24_3LE is 24bit sample in 3 bytes
(why else have separate definitions), right ?

In the ALSA-LIb example /test/pcm.c however
(http://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2pcm_8c-example.html)
there is no diff between the 2 sample formats.

I noticed this by simply showing the bytes presented to snd_pcm_writei
See:

S32_LE (for reference)
----------------------
./pcm -c 2 -o S32_LE -f 4000
Playback device is plughw:0,0
Stream parameters are 48000Hz, S32_LE, 2 channels
Sine wave rate is 4000.0000Hz
Using transfer method: write
write_loop: going to write: period_size=4096 samples
data[00:31]= 00000000 00000000 ffffff3f ffffff3f a0ebd96e a0ebd96e ffffff7f ffffff7f
data[32:63]= a0ebd96e a0ebd96e ffffff3f ffffff3f 00000000 00000000 010000c0 010000c0

S24_3LE (as expected)
----------------------
./pcm -c 2 -o S24_3LE -f 4000
Playback device is plughw:0,0
Stream parameters are 48000Hz, S24_3LE, 2 channels
Sine wave rate is 4000.0000Hz
Using transfer method: write
write_loop: going to write: period_size=4096 samples
data[00:31]= 00000000 0000ffff 3fffff3f ead96eea d96effff 7fffff7f ead96eea d96effff
data[32:63]= 3fffff3f 00000000 00000100 c00100c0 16269116 26910100 80010080 16269116

S24_LE
----------------------
./pcm -c 2 -o S24_LE -f 4000
Playback device is plughw:0,0
Stream parameters are 48000Hz, S24_LE, 2 channels
Sine wave rate is 4000.0000Hz
Using transfer method: write
write_loop: going to write: period_size=4096 samples
data[00:31]= 00000000 0000ffff 3fffff3f ead96eea d96effff 7fffff7f ead96eea d96effff
data[32:63]= 3fffff3f 00000000 00000100 c00100c0 16269116 26910100 80010080 16269116


I would expect to see
data[00:31]= 0x00000000 00000000 00ffff3f 00ffff3f 00ebd96e 00ebd96e 00ffff7f 00ffff7f
data[32:63]= 0x00ebd96e 00ebd96e 00ffff3f 00ffff3f 00000000 00000000 000000c0 000000c0
for S24_LE

do I miss something ?
is this is a fault in /test/pcm.c ?


-- 
This message has been scanned for viruses and is believed to be clean

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2008-07-10 10:46 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-10  8:24 S24_LE is 3 bytes ? in alsa-lib example pcm.c Norbert van Bolhuis
2008-07-10  9:23 ` Clemens Ladisch
2008-07-10 10:19   ` Jaroslav Kysela
2008-07-10 16:30     ` Takashi Iwai
2008-07-10 10:41       ` Jaroslav Kysela
2008-07-10 16:46         ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.