Hi, Just some possible features to add to pulse to make if easier to use. When the pa_simple model is used and the pa_simple object is returned, return the server's default rate, channels, and format in the struct so an application can decide if they want to conform to reduce the need for resampling. When pulse chooses its default configuration, it should query the sound device to determine the native rates and formats it supports, and choose one of them so it doesn't have to do resampling. I have an onboard NVIDIA CK8S chip that doesn't do 44100 natively, only 48000. Yet pulse is using 44100 as its default configuration for that device. If there are no other applications using pulse, and it receives a request for a rate, format, or channel configuration different than the default, and if the requested format is supported natively on the sound device, it switches to that as its default configuration for the duration of the request. e.g. An application opens a pa_simple stream and requests 96000, S32LE, 6 channel. There are no other applications using the device, the device supports that configuration natively, so pulse resets the device to that configuration in alsa, and changes its default configuration to be that until this application ends. Then it goes back to its default.