[pulseaudio-tickets] [Bug 42956] not able to set 44k sample rate with module-alsa-sink even the hardware supports it

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Nov 16 07:00:14 PST 2011


https://bugs.freedesktop.org/show_bug.cgi?id=42956

--- Comment #5 from sam.right at gmail.com 2011-11-16 07:00:14 PST ---
Finally figured out what's happening. For module-alsa-sink if you don't specify
device then it will use "default" which is generated automatically from
"/usr/share/alsa/alsa.conf". The problem is that dmix is specified
(defaults.pcm.dmix.rate) and hard coded to 48000 in that configuration file.
That's why it did not work for me previously (no device parameter is specified
for module-alsa-sink).

Can the alsa detect process bypass the dmix rate settings and do things more
intelligently? 

If you specify device parameter in module-alsa-sink like 

load-module module-alsa-sink rate=44100 device=hw:0,0

then it can pick up 44.1k sample rate straight. Here is the log to prove it

D: [pulseaudio] alsa-util.c: Trying hw:0,0 with SND_PCM_NO_AUTO_FORMAT ...
D: [pulseaudio] alsa-util.c: Managed to open hw:0,0
W: [pulseaudio] alsa-util.c: Unable to convert error string to locale,
filtering.
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 16 bit Big
Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: Maximum hw buffer size is 5944 ms
D: [pulseaudio] alsa-util.c: Set buffer size first (to 5288 samples), period
size second (to 661 samples).
I: [pulseaudio] alsa-util.c: Device hw:0,0 doesn't support sample format s16be,
changed to s16le.
I: [pulseaudio] alsa-sink.c: Successfully opened device hw:0,0.
I: [pulseaudio] alsa-sink.c: Successfully enabled mmap() mode.
I: [pulseaudio] sink.c: Created sink 0 "output" with sample spec s16le 2ch
44100Hz and channel map front-left,front-right
I: [pulseaudio] sink.c:     alsa.resolution_bits = "16"
I: [pulseaudio] sink.c:     device.api = "alsa"
I: [pulseaudio] sink.c:     device.class = "sound"
I: [pulseaudio] sink.c:     alsa.class = "generic"
I: [pulseaudio] sink.c:     alsa.subclass = "generic-mix"
I: [pulseaudio] sink.c:     alsa.name = "USB Audio"
I: [pulseaudio] sink.c:     alsa.id = "USB Audio"
I: [pulseaudio] sink.c:     alsa.subdevice = "0"
I: [pulseaudio] sink.c:     alsa.subdevice_name = "subdevice #0"
I: [pulseaudio] sink.c:     alsa.device = "0"
I: [pulseaudio] sink.c:     alsa.card = "0"
I: [pulseaudio] sink.c:     alsa.card_name = "USB Audio DAC"
I: [pulseaudio] sink.c:     alsa.long_card_name = "Burr-Brown from TI USB Audio
DAC at usb-ar71xx-ehci-1, full speed"
I: [pulseaudio] sink.c:     alsa.driver_name = "snd_usb_audio"
I: [pulseaudio] sink.c:     device.string = "hw:0,0"
I: [pulseaudio] sink.c:     device.buffering.buffer_size = "21152"
I: [pulseaudio] sink.c:     device.buffering.fragment_size = "2644"
I: [pulseaudio] sink.c:     device.access_mode = "mmap"
I: [pulseaudio] sink.c:     device.description = "USB Audio DAC"
I: [pulseaudio] sink.c:     device.icon_name = "audio-card"
D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change event.
I: [pulseaudio] source.c: Created source 0 "output.monitor" with sample spec
s16le 2ch 44100Hz and channel map front-left,front-right
I: [pulseaudio] source.c:     device.description = "Monitor of USB Audio DAC"
I: [pulseaudio] source.c:     device.class = "monitor"
I: [pulseaudio] source.c:     device.icon_name = "audio-input-microphone"
I: [pulseaudio] alsa-sink.c: Using 8.0 fragments of size 2644 bytes (14.99ms),
buffer size is 21152 bytes (119.91ms)
D: [pulseaudio] alsa-sink.c: hwbuf_unused=0
D: [pulseaudio] alsa-sink.c: setting avail_min=1
D: [pulseaudio] alsa-util.c: snd_pcm_dump():
D: [pulseaudio] alsa-util.c: Hardware PCM card 0 'USB Audio DAC' device 0
subdevice 0
D: [pulseaudio] alsa-util.c: Its setup is:
D: [pulseaudio] alsa-util.c:   stream       : PLAYBACK
D: [pulseaudio] alsa-util.c:   access       : MMAP_INTERLEAVED
D: [pulseaudio] alsa-util.c:   format       : S16_LE
D: [pulseaudio] alsa-util.c:   subformat    : STD
D: [pulseaudio] alsa-util.c:   channels     : 2
D: [pulseaudio] alsa-util.c:   rate         : 44100
D: [pulseaudio] alsa-util.c:   exact rate   : 44100 (44100/1)
D: [pulseaudio] alsa-util.c:   msbits       : 16
D: [pulseaudio] alsa-util.c:   buffer_size  : 5288
D: [pulseaudio] alsa-util.c:   period_size  : 661
D: [pulseaudio] alsa-util.c:   period_time  : 14988
D: [pulseaudio] alsa-util.c:   tstamp_mode  : ENABLE
D: [pulseaudio] alsa-util.c:   period_step  : 1
D: [pulseaudio] alsa-util.c:   avail_min    : 661
D: [pulseaudio] alsa-util.c:   period_event : 1
D: [pulseaudio] alsa-util.c:   start_threshold  : -1
D: [pulseaudio] alsa-util.c:   stop_threshold   : 1386217472
D: [pulseaudio] alsa-util.c:   silence_threshold: 0
D: [pulseaudio] alsa-util.c:   silence_size : 0
D: [pulseaudio] alsa-util.c:   boundary     : 1386217472
D: [pulseaudio] alsa-util.c:   appl_ptr     : 0
D: [pulseaudio] alsa-util.c:   hw_ptr       : 0
D: [alsa-sink] alsa-sink.c: Thread starting up
D: [alsa-sink] core-util.c: SCHED_RR|SCHED_RESET_ON_FORK worked.
I: [alsa-sink] core-util.c: Successfully enabled SCHED_RR scheduling for
thread, with priority 9.
I: [alsa-sink] alsa-sink.c: Starting playback.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the pulseaudio-bugs mailing list