apulse
apulse copied to clipboard
Failure setting up channels
The call to snd_pcm_hw_params_set_channels
in do_connect_pcm
may fail, it should probably be replaced by one of it's alternatives, or at least just not abort if it fails.
It does for me
[apulse] [error] do_connect_pcm, snd_pcm_hw_params_set_channels, Invalid argument
with Telegram Desktop
All calls could fail.
In case of snd_pcm_hw_params_set_channels()
failing, I don't know what to do. In that case application requested a particular number of channels (1 or 2 usually), but audiodriver said it can't provide that. Should apulse convert/split/mix data in that case?
Also, is this dmix-enabled device? I think, ALSA's plugins should handle format convertions by default.
@sovietspaceship Install alsacap and check with alsacap -d default
that the device is configured properly.
You'll probably need to use plug:dmix
(playback) and plug:dsnoop
(recording) unless you have a high-end card.
You should get something like this:
$ 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
$ alsacap -R -d default
*** Exploring configuration space of device `default' for recording ***
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
I still think it should handle the configuration more dynamically...
I'm already using dmix and dsnoop; alsacap -d default
outputs
*** 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 Buffer size range from 170 to 733007751 Period size range from 85 to 91628833 Significant bits: 0
Latest version of Telegram segfaults running under apulse. I opened an issue on their repo because it's probably their fault.
Can you take a backtrace with GDB?
Latest version of Telegram segfaults running under apulse.
This is very similar to #43, which was kind of fixed. Also, latest Telegram app seems to be working through apulse just fine. It uses some not implemented functions, but plays audio anyway.