> >> Do you mean you still cannot force pulseaudio to use 24 bits for your creative usb audio ? >> >> Seem try auto format did not include 24bits > > I have 24bit explicitly in pulseaudio config currently: >>> >>> default-sample-format = s24le > > But it still uses 16bit, didn't managed how to force it to use 24bit static const pa_sample_format_t try_order[] = { PA_SAMPLE_FLOAT32NE, PA_SAMPLE_FLOAT32RE, PA_SAMPLE_S32NE, PA_SAMPLE_S32RE, PA_SAMPLE_S24_32NE, PA_SAMPLE_S24_32RE, PA_SAMPLE_S24NE, PA_SAMPLE_S24RE, + PA_SAMPLE_S24LE, PA_SAMPLE_S16NE, PA_SAMPLE_S16RE, PA_SAMPLE_ALAW, PA_SAMPLE_ULAW, PA_SAMPLE_U8 }; Seem missing PA_SAMPLE_S24LE in try_order, not sure any assembley code need to be changed You need to call snd_pcm_hw_params_test_format first, if format is supported call snd_pcm_hw_params_set_format There are three calls in set_format - if ((ret = snd_pcm_hw_params_set_format(pcm_handle, hwparams, format_trans[*f])) >= 0) - return ret; + if (snd_pcm_hw_params_test_format(pcm_handle, hwparams, format_trans[*f]) == 0) + return snd_pcm_hw_params_set_format(pcm_handle, hwparams, format_trans[*f]); +else - pa_log_debug("snd_pcm_hw_params_set_format(%s) failed: %s", snd_pcm_format_description(format_trans[*f]), pa_alsa_strerror(ret)); pa_log_debug("format (%s) not supported", snd_pcm_format_description(format_trans[*f])); -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20150621/11f1b21a/attachment.html>