Bug 448168 - unable to play 24bit PCM audio
Summary: unable to play 24bit PCM audio
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: pulseaudio
Version: 8
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Lennart Poettering
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-05-23 21:31 UTC by Dave Maley
Modified: 2008-09-09 20:35 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-09-09 20:35:55 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
displays the capabilities of your sound card and its ALSA driver (17.41 KB, text/plain)
2008-05-23 21:40 UTC, Dave Maley
no flags Details

Description Dave Maley 2008-05-23 21:31:28 UTC
Description of problem:
I'm unable to play 24bit PCM audio on Fedora 8

Version-Release number of selected component (if applicable):
alsa-lib-1.0.15-1.fc8

How reproducible:
every time

Steps to Reproduce:
1. attempt to play 24bit PCM using aplay
2.
3.
  
Actual results:
get the following aplay error:
 aplay: set_params:901: Sample format non available

Expected results:
hear music


Additional info: same 24bit audio files play fine (w/ aplay) under F-7

Comment 1 Dave Maley 2008-05-23 21:39:15 UTC
It appears this problem is due to the alsa configuration for both the default
and pulse devices, neither are setup for 24bit in F8.  In F7 the default device
_is_ configured for 24bit.  This can be seen easily using the nifty utility
called alsacap available here:

  http://www.volkerschatz.com/noise/alsa.html


This utility will essentially dump the configuration for a given PCM device. 
here's what I get on my audio workstation under F8:
----------
[dave@homer tmp]$ ./alsacap -d default
*** Exploring configuration space of device `default' for playback ***
1..32 channels
Sampling rate 8000..48000 Hz
Sample formats: U8, S16_LE, S16_BE, FLOAT_LE, FLOAT_BE, MU_LAW, A_LAW
[dave@homer tmp]$ ./alsacap -d pulse
*** Exploring configuration space of device `pulse' for playback ***
1..32 channels
Sampling rate 8000..48000 Hz
Sample formats: U8, S16_LE, S16_BE, FLOAT_LE, FLOAT_BE, MU_LAW, A_LAW
[dave@homer tmp]$
----------


And under F7:
----------
[fedora@localhost tmp]$ ./alsacap -d default
*** Exploring configuration space of device `default' for playback ***
1..10000 channels
Sampling rate 4000..4294967295 Hz
Sample formats: S8, U8, S16_LE, S16_BE, U16_LE, U16_BE, S24_LE,
S24_BE, U24_LE, U24_BE, S32_LE, S32_BE, U32_LE, U32_BE, FLOAT_LE,
FLOAT_BE, FLOAT64_LE, FLOAT64_BE, MU_LAW, A_LAW, IMA_ADPCM, S24_3LE,
S24_3BE, U24_3LE, U24_3BE, S20_3LE, S20_3BE, U20_3LE, U20_3BE,
S18_3LE, S18_3BE, U18_3LE, U18_3BE
[fedora@localhost tmp]$
----------


So as can be easily seen here the F7 configuration is setup to support *many*
more formats that F8, specifically the 24bit (S24*) formats.

Comment 2 Dave Maley 2008-05-23 21:40:39 UTC
Created attachment 306552 [details]
displays the capabilities of your sound card and its ALSA driver

I'm attaching the alsacap utility here

Comment 3 Dave Maley 2008-05-23 23:36:04 UTC
apologies I neglected to mention my soundcar .... it's a RME digi96/8 PST


Comment 4 Dave Maley 2008-05-24 04:40:58 UTC
just tested w/ the F9 Live disk, doesn't work there either.  Looks to be the
exact same config as F8 .....

[fedora@localhost tmp]$ ./alsacap -d default
*** Exploring configuration space of device `default' for playback ***
1..32 channels
Sampling rate 8000..48000 Hz
Sample formats: U8, S16_LE, S16_BE, FLOAT_LE, FLOAT_BE, MU_LAW, A_LAW
[fedora@localhost tmp]$

Comment 5 Martin Stransky 2008-05-26 07:33:06 UTC
Do you run Pulse audio? If so, can you remove it from your ALSA config file (the
alsa-plugin in /etc/alsa/alsa.conf) and check aplay again?

Comment 6 Dave Maley 2008-05-28 02:14:16 UTC
indeed, the pulse config seems to be at fault.  commenting out:

                       "/etc/alsa/pulse-default.conf"

in /etc/alsa/alsa.conf got things working
----------
[dave@homer tmp]$ ./alsacap -d default
*** Exploring configuration space of device `default' for playback ***
1..10000 channels
Sampling rate 4000..4294967295 Hz
Sample formats: S8, U8, S16_LE, S16_BE, U16_LE, U16_BE, S24_LE, S24_BE, U24_LE,
U24_BE, S32_LE, S32_BE, U32_LE, U32_BE, FLOAT_LE, FLOAT_BE, FLOAT64_LE,
FLOAT64_BE, MU_LAW, A_LAW, IMA_ADPCM, S24_3LE, S24_3BE, U24_3LE, U24_3BE,
S20_3LE, S20_3BE, U20_3LE, U20_3BE, S18_3LE, S18_3BE, U18_3LE, U18_3BE
[dave@homer tmp]$ ./alsacap -d pulse
*** Exploring configuration space of device `pulse' for playback ***
ALSA lib pcm.c:2145:(snd_pcm_open_noupdate) Unknown PCM pulse
Error opening sound device: Device does not exist.  Aborting.
[dave@homer tmp]$ aplay 24bit-testfile-short.wav 
Playing WAVE '24bit-testfile-short.wav' : Signed 24 bit Little Endian in 3bytes,
Rate 48000 Hz, Stereo
Aborted by signal Interrupt...
[dave@homer wavbreaker24]$
----------

Comment 7 Lennart Poettering 2008-09-09 20:35:55 UTC
PA nowadays supports 32bit integer sample playback just fine. Usually 24bit means 32bit samples with their 8 LSB set to 0 in contrast to 24bit packed samples.

If more exotic sample types are requested you need to use ALSA's "plug" device on top of "pulse".


Note You need to log in before you can comment on or make changes to this bug.