Ticket #355 (closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

support for 24 bit sample formats

Reported by: phyntos Owned by: lennart
Milestone: 0.9.15 Component: daemon
Keywords: Cc:

Description

Hi,

i'd really like to see 24 bit sample format support in pulse. There are indeed card cannot be opened in 32 bit mode but support 24 bit. Pulseaudio should not ignore them. At least 24 bit input should be supported.

Best regards

Change History

Changed 3 years ago by phyntos

  • type changed from defect to enhancement

Changed 3 years ago by lennart

PA should be able to open devices in 24bit packed mode just fine because ALSA will reformat samples appropriately for us. Doesn't that work for you? Which version of PA are you using?

Changed 3 years ago by phyntos

I'm using 0.9.12. I've got a Terratec Phase 26 USB which can be set to 24bit at the hardware. When in 24bit-mode, pulse won't open the card:

E: alsa-util.c: Failed to set hardware parameters on plug:hw:1: Operation not permitted E: module.c: Failed to load module "module-alsa-sink" (argument: "device_id=1 sink_name=alsa_output.usb_device_ccd_14_11001_if0_alsa_playback_0 tsched=1"): initialization failed.

In 16bit mode the card works fine.

Changed 3 years ago by lennart

Looks like an alsa bug to me. Please try this:

aplay -D plug:hw:1 -f S32_LE -r 48000 -c 2 < /dev/urandom

If that doesn't produce noise, then it looks like ALSA's "plug" plugin is unable to convert from S32 to packed S24, which I'd consider a bug. Please report this then to alsa-devel!

Changed 3 years ago by baeksan

Running the following I can produce audio:

aplay -D plug:hw:0 -f S24_LE -r 48000 -c 2 < /dev/urandom

but the following does not work

aplay -D plug:pulse -f S24_LE -r 48000 -c 2 < /dev/urandom

Playing raw data 'stdin' : Signed 24 bit Little Endian, Rate 48000 Hz, Stereo aplay: set_params:1022: Unable to install hw params: ACCESS: RW_INTERLEAVED FORMAT: S24_LE SUBFORMAT: STD SAMPLE_BITS: 32 FRAME_BITS: 64 CHANNELS: 2 RATE: 48000 PERIOD_TIME: 125000 PERIOD_SIZE: 6000 PERIOD_BYTES: 48000 PERIODS: 4 BUFFER_TIME: 500000 BUFFER_SIZE: 24000 BUFFER_BYTES: 192000 TICK_TIME: 0

Changed 3 years ago by baeksan

  • type changed from enhancement to defect

This is on 0.9.13 and alsa version 1.0.18

Changed 3 years ago by lennart

  • status changed from new to closed
  • resolution set to fixed
  • milestone set to 0.9.15

PA in git now supports both S24 packed and S24 in 32bit/LSB samples natively.

Note: See TracTickets for help on using tickets.