PulseAudio issueshttps://gitlab.freedesktop.org/groups/pulseaudio/-/issues2020-12-10T06:18:54Zhttps://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1059pa using 3-6% cpu while not playing any audio2020-12-10T06:18:54Zcmurfpa using 3-6% cpu while not playing any audio### Summary
top reports 3-6% CPU e.g.
```
3.9 0.2 2.25G 13.7M 103458 chris 1:37 3 -11 S 6K 0 /usr/bin/pulseaudio --daemonize=no --log-targe
```
### environment
[pa-info.txt](/uploads/9152ab4bcf8ce16870aaa44cea6cd...### Summary
top reports 3-6% CPU e.g.
```
3.9 0.2 2.25G 13.7M 103458 chris 1:37 3 -11 S 6K 0 /usr/bin/pulseaudio --daemonize=no --log-targe
```
### environment
[pa-info.txt](/uploads/9152ab4bcf8ce16870aaa44cea6cd133/pa-info.txt)
### Steps to reproduce
No specific steps, it just tends to use 3-6% cpu most of the time; I haven't figured out a pattern.
### What is the current *bug* behavior?
Excessive continuous cpu usage.
### What is the expected *correct* behavior?
If audio isn't playing, I kinda expect 0.1-0.0% cpu usage for pa
[strace_pulseaudio.txt](/uploads/e93551f2fca8b27cb0a7812a958851f7/strace_pulseaudio.txt)
[gdb_stack_track_pulseaudio.txt](/uploads/664f215471a77e4a4b25facb9993d00d/gdb_stack_track_pulseaudio.txt)
kernel-5.9.10-200.fc33.x86_64
pulseaudio-13.99.2-1.fc33.x86_64https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1060Server randomly disconnects clients after error from pstream.c: Received inva...2021-01-04T15:17:15ZDaniel PocockServer randomly disconnects clients after error from pstream.c: Received invalid frame size: 2684354560### Summary
Various applications are regularly stopping with the following error on the console:
```
Assertion 're->data || re->memblock' failed at pulsecore/pstream.c:862, function do_read(). Aborting.
```
I've seen this happen in bot...### Summary
Various applications are regularly stopping with the following error on the console:
```
Assertion 're->data || re->memblock' failed at pulsecore/pstream.c:862, function do_read(). Aborting.
```
I've seen this happen in both mpv and OBS. It is non-deterministic, for example, if I replay the same media file in mpv it doesn't necessary crash again at the same point.
### environment
I searched for pa-info in my distribution (Debian) and couldn't find it.
Attached. [pa-info.txt](/uploads/172cb0599d9aee05affe99fd9daacfe3/pa-info.txt)
It is a multi-CPU Talos II system with POWER9 processors and ECC RAM. I never saw the problem using x86 based systems, only on the POWER9 system. I saw a report about a similar problem, same assertion, on Raspberry Pi 4b (64 bit ARM)
https://wsjtx.groups.io/g/main/message/5676
and another report in the kernel bug tracker:
https://bugzilla.kernel.org/show_bug.cgi?id=209843
### Steps to reproduce
Run mpv or OBS, use it for long enough and it crashes with
```
Assertion 're->data || re->memblock' failed at pulsecore/pstream.c:862, function do_read(). Aborting.
Aborted
```
The moment when it crashes is unpredictable.
### What is the current *bug* behavior?
The assertion above.
### What is the expected *correct* behavior?
No assertion, application keeps running.
If the error is caused by an OS or hardware fault then it would be useful for PulseAudio to emit a more verbose error about how to troubleshoot.https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1061pactl set-default-sink doesn't report an error when trying to set an unavaila...2022-01-19T10:24:27Zarchenemiespactl set-default-sink doesn't report an error when trying to set an unavailable sink as the defaultSee below. All commands returned with exit status zero.
$ which pactl
/usr/bin/pactl
$ pactl list sinks short
0 alsa_output.pci-0000_06_00.6.analog-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPEN...See below. All commands returned with exit status zero.
$ which pactl
/usr/bin/pactl
$ pactl list sinks short
0 alsa_output.pci-0000_06_00.6.analog-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
3 alsa_output.usb-C-Media_Electronics_Inc._USB_Audio_Device-00.pci-0000_06_00_3-usb-0_3_4_1_0.analog-stereo module-alsa-card.c s16le 2ch 44100Hz RUNNING
$ pactl set-default-sink alsa_output.pci-0000_06_00.6.analog-stereo
$ pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 34
Server Protocol Version: 34
Is Local: yes
Client Index: 55
Tile Size: 65472
User Name: ***
Host Name: ***
Server Name: pulseaudio
Server Version: 13.99.3-4-gd83a
Default Sample Specification: s16le 2ch 44100Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.usb-C-Media_Electronics_Inc._USB_Audio_Device-00.pci-0000_06_00_3-usb-0_3_4_1_0.analog-stereo
Default Source: alsa_input.usb-C-Media_Electronics_Inc._USB_Audio_Device-00.pci-0000_06_00_3-usb-0_3_4_1_0.mono-fallback
Cookie: 931c:ec16https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1066Pulseaudio HDMI output disappears on screen blank. Ubuntu 20.042021-03-09T06:41:08ZBjörn WPulseaudio HDMI output disappears on screen blank. Ubuntu 20.04### Summary
I have two audio outputs on my HTPC - one "normal" analog, on the motherboard, and also the HDMI audio to the TV, through the Nvidia cards HDMI (using the nvidia binary driver, v440). Sometimes the HDMI output is lost, either...### Summary
I have two audio outputs on my HTPC - one "normal" analog, on the motherboard, and also the HDMI audio to the TV, through the Nvidia cards HDMI (using the nvidia binary driver, v440). Sometimes the HDMI output is lost, either at boot directly or after the screen goes blank - but it reappears after pulseaudio -k and there are no signs in dmesg or any other log I can find. Everything works fine when it is available, there are no audible problems and no errors anywhere in any log.
I've had this problem on different versions of Ubuntu, both 18.04LTS with nvidia-340 and now 20.04LTS with nvidia-440 driver. On 18.04 the bug was more random - on some boots, the HDMI output was there, on other boots it wasn't. In all cases, doing pulseaudio -k one or more times restored it. Then I upgraded the Linux kernel to the 5. series, and the problem disappeared. Then I upgraded Ubuntu to 20.04LTS, and the problem re-appeared and now I want to fix it for good as I'm tired of the bug :)
When I ran Ubuntu 16.04LTS I *never* had the problem with the exact same hardware and the nvidia-340 driver..
Can I run pulseaudio in some more verbose logging mode to capture this behaviour?
Example:
```
xbmc@htpc:~$ pactl list sinks short
0 alsa_output.pci-0000_00_1b.0.iec958-stereo module-alsa-card.c s16le 2ch 48000Hz SUSPENDED
xbmc@htpc:~$ pulseaudio -k
xbmc@htpc:~$ pactl list sinks short
0 alsa_output.pci-0000_01_00.1.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz IDLE
1 alsa_output.pci-0000_00_1b.0.iec958-stereo module-alsa-card.c s16le 2ch 44100Hz IDLE
```
### environment
[pa-info output attached as well]
Ubuntu 20.04LTS, pulseaudio debian package Version: 1:13.99.1-1ubuntu3.8
This is the info from when it works (the hdmi-stereo output is the default sink):
```
$ pactl info
Server String: /run/user/1001/pulse/native
Library Protocol Version: 33
Server Protocol Version: 33
Is Local: yes
Client Index: 5
Tile Size: 65472
User Name: xbmc
Host Name: htpc
Server Name: pulseaudio
Server Version: 13.99.1
Default Sample Specification: s16le 2ch 44100Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_01_00.1.hdmi-stereo
Default Source: alsa_input.pci-0000_00_1b.0.analog-stereo
Cookie: dcae:2e70
```
### Steps to reproduce
It just appears some of the time (for me) but obviously it's not a problem for everybody. I think I can reproduce it at will by letting the screen blank, so I can do some testing locally at least.
### What is the current *bug* behavior?
HDMI output is not visible in the sink list. See above.
### What is the expected *correct* behavior?
HDMI output in the sink list. See above.[painfo.txt](/uploads/cee5950def1015040b09fee2e5cef3d7/painfo.txt)https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1067thinkpad t14s amd: unable to control built-in mic and headphones mic independ...2024-01-12T17:15:20Zville-hthinkpad t14s amd: unable to control built-in mic and headphones mic independently### Summary
Controlling thinkpad t14s amd laptop's built-in mic independently from the headphones mic is not possible. Changing, with let's say pavucontrol-qt, the settings of either will also affect the other. Muting the built-in mic al...### Summary
Controlling thinkpad t14s amd laptop's built-in mic independently from the headphones mic is not possible. Changing, with let's say pavucontrol-qt, the settings of either will also affect the other. Muting the built-in mic also mutes the headphones mic and vice versa.
### environment
thinkpad t14s amd
arch linux, everything up-to-date as of 2020-12-05
### Steps to reproduce
0) run pavucontrol or pavucontrol-qt
1) switch to "input devices" tab
2) click to toggle the mute-state of either built-in mic or the headphones mic
### What is the current *bug* behavior?
The state of built-in mic and the headphones mic volume and mute-state are coupled
### What is the expected *correct* behavior?
The state of built-in mic and the headphones mic volume and mute-state should not be coupled
[pa-info.txt](/uploads/91eb66ced7f59365fce172f5a67e61be/pa-info.txt)[amixer_both_muted.txt](/uploads/8e7df3124901f27e5fd2995fc5ab3354/amixer_both_muted.txt)[amixer_both_unmuted.txt](/uploads/0f72819e091b97e3ffa5dbcfb0536884/amixer_both_unmuted.txt)[pulseaudio.log](/uploads/46f79cb0794b452db4b8592beb120ba1/pulseaudio.log)18.0https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1068module-suspend-on-idle causes pulseaudio to crash and suspend usb card2020-12-07T03:01:59ZNicolaimodule-suspend-on-idle causes pulseaudio to crash and suspend usb card### Summary
```module-suspend-on-idle``` in ```/etc/pulse/default.pa``` seems to instantly kill pulseaudio and suspend the device when another application wants to tie into the system.
When this module is not loaded i do not get this er...### Summary
```module-suspend-on-idle``` in ```/etc/pulse/default.pa``` seems to instantly kill pulseaudio and suspend the device when another application wants to tie into the system.
When this module is not loaded i do not get this error, however i do get other errors in the long term due to the lack of refresh after the system has been suspended. These are however exepected, and not reason for this issue.
### Environment
pa-info and a dump of the crash running ```pulseaudio -vvvv``` attached.
[pa-info.txt](/uploads/12aa1eb62f273f38bf010085ca453f24/pa-info.txt)
[dump.text](/uploads/3daac4ef14bb6787a9da08b5c5903f49/dump.text)
Currently im running POP_OS! 20.10 on kernel 5.9.10.
### Steps to reproduce
_Have an audio source running_ - i.e. firefox running youtube (or basically any audio source).
The way it always happens for me is when i:
_Start a wine/lutris application._
It does however sometimes happen using other apps but i dont have a list of those. Always happens with a lutris application however.
### What is the current *bug* behavior?
Having youtube video running, starts lutris application, audio stops instantly and cannot recover.
Sometimes in order to recover a reload of ALSA as well as a restart of pulse is needed, however most of the time a full system reboot is required for regaining audio.
### What is the expected *correct* behavior?
Multiple applications playing audio at the same time (i get this behaviour when disabling ```module-suspend-on-idle```)https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/issues/5Fails to build on x86 without SSE2024-01-02T04:40:40ZJan BeichFails to build on x86 without SSEi386 target on FreeBSD, NetBSD, OpenBSD (and maybe some Linux distributions) lack SSE unless `-msse` is passed. For one, FreeBSD i386 targets `-march=i486` by default but [recently switched](https://bugs.freebsd.org/bugzilla/show_bug.cgi...i386 target on FreeBSD, NetBSD, OpenBSD (and maybe some Linux distributions) lack SSE unless `-msse` is passed. For one, FreeBSD i386 targets `-march=i486` by default but [recently switched](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=230888#c12) to `-march=i686` which still lacks SSE.
From [error log](/uploads/f95a446c3d28eeeb27119e9e08f99277/webrtc-audio-processing-1.0.log):
```c++
webrtc/modules/audio_processing/aec3/fft_data.h:56:28: error: always_inline function '_mm_loadu_ps' requires target feature 'sse', but would be inlined into function 'Spectrum' that is compiled without support for 'sse'
const __m128 r = _mm_loadu_ps(&re[k]);
^
webrtc/modules/audio_processing/aec3/matched_filter.cc:168:20: error: always_inline function '_mm_set1_ps' requires target feature 'sse', but would be inlined into function 'MatchedFilterCore_SSE2' that is compiled without support for 'sse'
__m128 s_128 = _mm_set1_ps(0);
^
webrtc/modules/audio_processing/aec3/vector_math.h:53:22: error: always_inline function '_mm_loadu_ps' requires target feature 'sse', but would be inlined into function 'Sqrt' that is compiled without support for 'sse'
__m128 g = _mm_loadu_ps(&x[j]);
^
webrtc/modules/audio_processing/agc2/rnn_vad/rnn.cc:249:18: error: always_inline function '_mm_set1_ps' requires target feature 'sse', but would be inlined into function 'ComputeFullyConnectedLayerOutputSse2' that is compiled without support for 'sse'
sum_wx_128 = _mm_set1_ps(0);
^
webrtc/third_party/pffft/src/pffft.c:224:25: error: always_inline function '_mm_setzero_ps' requires target feature 'sse', but would be inlined into function 'validate_pffft_simd' that is compiled without support for 'sse'
t = a0; u = a1; t.v = VZERO();
^
webrtc/modules/audio_processing/aec3/adaptive_fir_filter.cc:106:27: error: always_inline function '_mm_loadu_ps' requires target feature 'sse', but would be inlined into function 'ComputeFrequencyResponse_Sse2' that is compiled without support for 'sse'
const __m128 re = _mm_loadu_ps(&H[p][ch].re[j]);
^
```https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1069wrong volume percentage after restart2020-12-12T22:41:57ZWilliam Dawrong volume percentage after restartusing KDE 5.20.4 with pulseaudio 14.0-1 and alsa 1.2.4-3 on kernel: 5.9.11-3-MANJARO
### Summary
When restarting pulseaudio the volume % is not restored correctly. This only seems to be the case for certain percentage values below 40%.
...using KDE 5.20.4 with pulseaudio 14.0-1 and alsa 1.2.4-3 on kernel: 5.9.11-3-MANJARO
### Summary
When restarting pulseaudio the volume % is not restored correctly. This only seems to be the case for certain percentage values below 40%.
I use flat-volumes=no and _module-udev-detect_ with option _ignore_dB=1_ because otherwise the audio gets muted too early.
I have no idea which version/update caused this issue as it only seems to happen at specific volume % values and i usually didnt reboot my pc with volumes set below 40% but i know for a fact it was not always the case.
pulseaudio -vvvv log shows this when changing volume from 21% to 20%:
[pulseaudio-verbose.txt](/uploads/62ee03b709395492a7afd405c076c2c5/pulseaudio-verbose.txt)
```
D: [pulseaudio] sink.c: The reference volume of sink alsa_output.pci-0000_00_1b.0.analog-stereo changed from front-left: 13763 / 21%, front-right: 13763 / 21% to front-left: 13107 / 20%, front-right: 13107 / 20%.
D: [pulseaudio] alsa-sink.c: Wrote hardware volume: front-left: 12483 / 19%, front-right: 12483 / 19%
D: [pulseaudio] protocol-native.c: Client plasmashell changes mute of sink alsa_output.pci-0000_00_1b.0.analog-stereo.
I: [pulseaudio] module-device-restore.c: Storing volume/mute for device+port sink:alsa_output.pci-0000_00_1b.0.analog-stereo:analog-output-lineout.
D: [pulseaudio] protocol-native.c: Client plasmashell changes volume of sink alsa_output.pci-0000_00_1b.0.analog-stereo.
D: [pulseaudio] alsa-sink.c: Wrote hardware volume: front-left: 12483 / 19%, front-right: 12483 / 19%
D: [pulseaudio] protocol-native.c: Client plasmashell changes mute of sink alsa_output.pci-0000_00_1b.0.analog-stereo.
D: [pulseaudio] protocol-native.c: Client plasmashell changes volume of sink alsa_output.pci-0000_00_1b.0.analog-stereo.
D: [pulseaudio] alsa-sink.c: Wrote hardware volume: front-left: 12483 / 19%, front-right: 12483 / 19%
D: [pulseaudio] protocol-native.c: Client plasmashell changes mute of sink alsa_output.pci-0000_00_1b.0.analog-stereo.
```
and when restarting pulseaudio the volume is actually 19% not the 20% i set it to!
_on setting it to 35% however it is 36% after restart... so it does not always decrease._
### Steps to reproduce
pulseaudio -k or reboot
### What is the current *bug* behavior?
global volume % is different after restart
### What is the expected *correct* behavior?
volume % gets saved and restored correctly when restarting.
### things i already tried
downgrading to pulseaudio 13.0-3
i commentet out all these restore modules in etc/pulse/default.pa
> load-module module-device-restore
> load-module module-stream-restore
> load-module module-card-restore
i deleted all files in ~/.config/pulse
but none of that did anything.https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1070Mic of headset through USB bluetooth not showing as input device2021-04-23T22:03:59ZReg ProctorMic of headset through USB bluetooth not showing as input deviceMy USB bluetooth device is an MPOW BH456A the driver of which you install from https://www.xmpow.com/pages/download .
My headset is a Philips PH805.
Looking for PA's version shows as:
```
>pulseaudio --version
pulseaudio 13.0-rebootst...My USB bluetooth device is an MPOW BH456A the driver of which you install from https://www.xmpow.com/pages/download .
My headset is a Philips PH805.
Looking for PA's version shows as:
```
>pulseaudio --version
pulseaudio 13.0-rebootstrapped
```
UPDATE: There was an experimental version 14 of pulseaudio for OpenSuSE so I installed it to see if it would help but unfortunately no change.
and my OS is OpenSuSE Leap 15.2.
The mic shows up as a `Monitor` but not as a `Hardware Input Device`. The upshot is that I can't use the mic with zoom, which is what I got the headset for, so if there's any short term fix for this while the underlying problem is solved that would be much appreciated.https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1071How to avoid contributors getting frustrated?2020-12-25T16:27:40ZTanu KaskinenHow to avoid contributors getting frustrated?I'm writing this at a time when the drama around the
["Bluetooth A2DP codecs"](https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/227)
merge request is still ongoing. @matyas.b wrote a
[comment](https://gitlab.freedesk...I'm writing this at a time when the drama around the
["Bluetooth A2DP codecs"](https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/227)
merge request is still ongoing. @matyas.b wrote a
[comment](https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/227#note_728034)
there that ended with these words:
> I really appreciate that maintainers here had the guts to publicly apologize
> and trying to change the course of the MR. However, what I'm missing here is
> a 'Problem management' (ITIL names it) or 'Retrospective' (SCRUM).
>
> What are we going to do so that cases like this won't ever happen again?
So the situation is that we don't have enough time to review every merge
request in a timely manner, indeed for many merge requests it's looking like at
this rate the they won't be reviewed at all. This is of course frustrating to
contributors. Can some of that frustration be avoided? Many of the details that
led to the conflict in !227 may not apply to other merge requests, but I think
it's worth asking, are there some things that could be improved that apply more
generally to handling contributions?
This is a common problem in FOSS projects, and I don't expect to see easy
solutions, but maybe something useful will come out of this discussion.https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1075Allow stream API to provide fixed-size requests without compromising latency2020-12-16T15:24:59ZArun RaghavanAllow stream API to provide fixed-size requests without compromising latencyCurrently, our users of our API need to make a choice between `PA_STREAM_EARLY_REQUESTS` which effectively gives `tlength + minreq` latency, or use `PA_STREAM_ADJUST_LATENCY` and have no real control over the size of data requested in th...Currently, our users of our API need to make a choice between `PA_STREAM_EARLY_REQUESTS` which effectively gives `tlength + minreq` latency, or use `PA_STREAM_ADJUST_LATENCY` and have no real control over the size of data requested in the callback..
Even with the former, we provide no guarantees w.r.t. the size of data requested in the API. It might be worth revisiting how we do this, or even providing some API to emulate a fixed-size callback, which other system audio APIs favour (I believe JACK does this, and likely macOS too).https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1076pulseaudio server terminates when X11 connection dies2020-12-23T12:00:08ZTomáš Janoušekpulseaudio server terminates when X11 connection diesTermination of any X11 display which pulseaudio is connected to (after invoking start-pulseaudio-x11) causes the entire pulseaudio server to terminate as well:
```
Dec 16 12:06:14 notes.lisk.in pulseaudio[1618352]: X connection to :1 br...Termination of any X11 display which pulseaudio is connected to (after invoking start-pulseaudio-x11) causes the entire pulseaudio server to terminate as well:
```
Dec 16 12:06:14 notes.lisk.in pulseaudio[1618352]: X connection to :1 broken (explicit kill or server shutdown).
Dec 16 12:06:14 notes.lisk.in systemd[1618326]: pulseaudio.service: Main process exited, code=exited, status=1/FAILURE
```
For many people this is not an issue as they only ever use one X server and many apps can survive pulseaudio restart, but it might be an issue if someone uses:
* Chrome/Chromium, which [doesn't survive the restart](https://bugs.chromium.org/p/chromium/issues/detail?id=1085744), and
* multiple X servers at the same time, e.g. to utilize a dedicated GPU that isn't fully supported by bumblebee/primus/prime/…, or
* Xwayland, should it crash (see https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1447) or should it be torn down automatically when not needed (probably not implemented but I can imagine it happening sooner or later, see #693)
Unfortunately Xlib up until the recently released version 1.7 assumes X11 connection dying to be a fatal error and allows no recovery. But since 1.7, it's possible to XSetIOErrorExitHandler which doesn't terminate, and I believe that's all pulseaudio needs to do to fix this. See https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1447 and https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/15 for more info about this functionality.
(I thought I'd try implementing this but my distro doesn't have Xlib 1.7 yet and I can't justify spending more time on this right now. Feel free to let it hang for a few months/years, I may come back.)
Oh, and if anyone else stumbles upon this, a couple of workarounds:
* Chrome/Chromium recovers when the Audio Service process is killed in its process manager.
* Not invoking start-pulseaudio-x11 seems to be okay for local setups.
* Using pax11publish instead is also an option if one doesn't need the simulated play/pause keys on (un)cork.
* Unloading x11 modules before terminating the X server also helps: https://github.com/liskin/dotfiles/blob/1950e586ecc0a0fc3a07227e2783f4e7205112dc/bin/stop-pulseaudio-x11 (obviously doesn't help is the X server crashes or needs to be zapped after becoming unresponsive).https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1078PulseAudio should measure and log the real elapsed time when snd_pcm_avail() ...2020-12-21T16:31:47ZTanu KaskinenPulseAudio should measure and log the real elapsed time when snd_pcm_avail() returns a very large valueIt's pretty common to see something like this in the syslog:
```
E: [alsa-sink-ALC887-VD Analog] alsa-util.c: snd_pcm_avail() returned a value that is exceptionally large: 177312 bytes (923 ms).
E: [alsa-sink-ALC887-VD Analog] alsa-util...It's pretty common to see something like this in the syslog:
```
E: [alsa-sink-ALC887-VD Analog] alsa-util.c: snd_pcm_avail() returned a value that is exceptionally large: 177312 bytes (923 ms).
E: [alsa-sink-ALC887-VD Analog] alsa-util.c: Most likely this is a bug in the ALSA driver 'snd_hda_intel'. Please report this issue to the ALSA developers.
```
The driver isn't necessarily misbehaving, however: it may very well be that there was a scheduling delay, and PulseAudio didn't have a chance to fill the buffer in time. PulseAudio should measure the scheduling delay and only if snd_pcm_avail() isn't in line with the delay the driver should be blamed.
(Starting from 15.0 the priority of this log message is reduced to debug, so people will see this message less often, but nevertheless, having the scheduling delay information would be very useful.)
Prior discussion: https://github.com/alsa-project/alsa-lib/issues/68https://gitlab.freedesktop.org/pulseaudio/pavucontrol/-/issues/99Option for combining streams of the same app2021-08-21T09:11:23ZLukas K.Option for combining streams of the same appWith multi-process apps these days the playback stream list can become quite cluttered and confusing (see screenshot below). From a user's perspective, merging all streams of the same app into one is preferable.
![2020-12-21-194518_220x...With multi-process apps these days the playback stream list can become quite cluttered and confusing (see screenshot below). From a user's perspective, merging all streams of the same app into one is preferable.
![2020-12-21-194518_220x855_scrot](/uploads/c59b6f3fff47a9a54cb253075e90d590/2020-12-21-194518_220x855_scrot.png)https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1079meson build system not declaring a dependency against bluez2020-12-24T15:10:51ZLaurent Bigonvillemeson build system not declaring a dependency against bluezHello,
When building with bluetooth support, the meson build system is not checking if bluez development package is installed
That means that if it's not the case, the compilation fails with:
```
[247/449] Compiling C object src/modul...Hello,
When building with bluetooth support, the meson build system is not checking if bluez development package is installed
That means that if it's not the case, the compilation fails with:
```
[247/449] Compiling C object src/modules/bluetooth/libbluez5-util.so.p/backend-native.c.o
FAILED: src/modules/bluetooth/libbluez5-util.so.p/backend-native.c.o
cc -Isrc/modules/bluetooth/libbluez5-util.so.p -Isrc/modules/bluetooth -I../src/modules/bluetooth -I. -I.. -Isrc -I../src -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gstreamer-1.0 -I/usr/include/x86_64-linux-gnu -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu11 -g -fPIC -pthread -DHAVE_CONFIG_H -D_GNU_SOURCE -D__INCLUDED_FROM_PULSE_AUDIO -MD -MQ src/modules/bluetooth/libbluez5-util.so.p/backend-native.c.o -MF src/modules/bluetooth/libbluez5-util.so.p/backend-native.c.o.d -o src/modules/bluetooth/libbluez5-util.so.p/backend-native.c.o -c ../src/modules/bluetooth/backend-native.c
../src/modules/bluetooth/backend-native.c:34:10: fatal error: bluetooth/bluetooth.h: Aucun fichier ou dossier de ce type
34 | #include <bluetooth/bluetooth.h>
| ^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
```https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1081PulseAudio crashes when loading a LADSPA plugin if avoid_resampling is enabled2020-12-27T14:45:15ZcepamoiPulseAudio crashes when loading a LADSPA plugin if avoid_resampling is enabledOn Ubuntu 20.04 with the default PulseAudio package (13.99.1), PulseAudio crashes when I try to load a LADSPA plugin if avoid_resampling is **enabled**. It does not crash if avoid_resampling is disabled.
I attached gdb to PulseAudio and...On Ubuntu 20.04 with the default PulseAudio package (13.99.1), PulseAudio crashes when I try to load a LADSPA plugin if avoid_resampling is **enabled**. It does not crash if avoid_resampling is disabled.
I attached gdb to PulseAudio and I get the following backtrace when PulseAudio crashes:
```
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007fe922785859 in __GI_abort () at abort.c:79
#2 0x00007fe922c664b2 in pa_sink_suspend () at /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecore-13.99.so
#3 0x00007fe922c6576c in () at /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecore-13.99.so
#4 0x00007fe922c66853 in pa_sink_reconfigure () at /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecore-13.99.so
#5 0x00007fe922c5ba93 in pa_sink_input_cork () at /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecore-13.99.so
#6 0x00007fe91c09ef67 in () at /usr/lib/pulse-13.99.1/modules/module-ladspa-sink.so
#7 0x00007fe922c65264 in () at /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecore-13.99.so
#8 0x00007fe922c65dbf in pa_sink_put () at /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecore-13.99.so
#9 0x00007fe91c0a2608 in module_ladspa_sink_LTX_pa__init () at /usr/lib/pulse-13.99.1/modules/module-ladspa-sink.so
#10 0x00007fe922c414b1 in pa_module_load () at /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecore-13.99.so
#11 0x00007fe922c2d374 in () at /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecore-13.99.so
#12 0x00007fe922c3520a in pa_cli_command_execute_line_stateful () at /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecore-13.99.so
#13 0x00007fe91cc235d3 in () at /usr/lib/pulse-13.99.1/modules/libcli.so
#14 0x00007fe922bc1eb8 in () at /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-13.99.so
#15 0x00007fe922b62ba3 in pa_mainloop_dispatch () at /lib/x86_64-linux-gnu/libpulse.so.0
#16 0x00007fe922b62ed2 in pa_mainloop_iterate () at /lib/x86_64-linux-gnu/libpulse.so.0
#17 0x00007fe922b62f70 in pa_mainloop_run () at /lib/x86_64-linux-gnu/libpulse.so.0
#18 0x0000558d9e3da39f in main ()
```
I had the issue when loading the LADSPA DSP plugin (https://github.com/bmc0/dsp), but this seems to occur with any LADSPA plugin. Here is the command I used to load the LADSPA DSP plugin:
`pacmd load-module module-ladspa-sink sink_name=ATH-M50X master=alsa_output.pci-0000_00_05.0.analog-stereo plugin=ladspa_dsp label=ladspa_dsp:ATH-M50X`https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1083SteelSeries Arctis 9 on Manjaro Linux2020-12-29T21:30:28ZTubblesSteelSeries Arctis 9 on Manjaro Linux### Summary
System does not recognize my SteelSeries Arctis 9 usb (wireless) headphones. I do not see any sound device from it in my setup, in contrast to [what other people seem to be getting](https://www.reddit.com/r/steelseries/comme...### Summary
System does not recognize my SteelSeries Arctis 9 usb (wireless) headphones. I do not see any sound device from it in my setup, in contrast to [what other people seem to be getting](https://www.reddit.com/r/steelseries/comments/jm6z09/arctis_9_linux_compatibility/gcdozmc?utm_source=share&utm_medium=web2x&context=3).
### environment
[arctis9.txt](/uploads/24d15af0cc803d72dc13cd31b003ffb7/arctis9.txt) (output of dmesg when connecting the usb dongle)
[pa-info.txt](/uploads/eef79f825decd839ea9a8c540970408a/pa-info.txt)
[pa-info2.txt](/uploads/1e9651652e28b51f20247e3757c59409/pa-info2.txt) (run with sudo)
[lsusb.txt](/uploads/a4eb36e0270e4e6be5c209805e2e0ab2/lsusb.txt) (sudo lsusb -vv -D /dev/bus/usb/001/019)
### Steps to reproduce
Just plug in a set of SteelSeries Arctis 9 into a Manjaro box
### What is the current *bug* behavior?
It think it fails to apply the driver
### What is the expected *correct* behavior?
Working driverhttps://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1084Autoconf 2.70 configure failure2021-01-01T22:12:51Zr-burnsAutoconf 2.70 configure failureNixpkgs is updating to the newly-released autoconf 2.70. Pulseaudio needs to be pinned to use autoreconf from autoconf 2.69 on macOS (linux works fine with 2.70) to avoid the following error:
```
checking whether C compiler accepts -std...Nixpkgs is updating to the newly-released autoconf 2.70. Pulseaudio needs to be pinned to use autoreconf from autoconf 2.69 on macOS (linux works fine with 2.70) to avoid the following error:
```
checking whether C compiler accepts -std=gnu11... no
configure: error: *** Compiler does not support -std=gnu11
```
I'm not sure whether this is an issue with pulseaudio's configure macros or a regression in autoconf, but just thought I'd point it out here.
Failure log with autoconf 2.70:
https://hydra.nixos.org/build/133894785/log
Previous successful build, with autoconf 2.69:
https://hydra.nixos.org/build/133405399/loghttps://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1085Once the computer boots, audio system is not able to switch to analog channel...2021-01-03T18:23:28ZJames RutlandOnce the computer boots, audio system is not able to switch to analog channel directly, when the external audio jack of the headset is plugged into the front speaker port of an auxiliary audio device linked to the internal front panel header.### Warning
Missing data may cause bugs to languish.
### Summary
Since the computer boots, audio system is not able to switch to analog channel directly when the external audio jack is plugged by the front panel audio connector, in my c...### Warning
Missing data may cause bugs to languish.
### Summary
Since the computer boots, audio system is not able to switch to analog channel directly when the external audio jack is plugged by the front panel audio connector, in my case having set digital audio as default. So forcing me to unplug and plug again the jack to the audio port of the secondary audio device. Default audio device is s/pdif by toslink (IEC958).
### environment
Check to see if you have pa-info installed by running `which pa-info`
If yes please run it
If no please download and run https://gitlab.freedesktop.org/pulseaudio/pulseaudio/blob/master/src/utils/pa-info
Attach the output to this bug report as pa-info.txt
### Steps to reproduce
(How one can reproduce the issue - this is very important)
1. plug the audio jack of the headset into the I/O port whose device is linked to the front panel audio connector;
2. the audio is switched from digital to analog;
3. leave the jack of any headset into the external audio port;
4. turn off the computer;
5. reboot the computer;
6. enter the operating system;
7. play any audio source;
8. the audio is absent because of wrong audio source;
9. to get the audio working it is necessary to unplug and plug the jack again in order the right audio source is recognized.
### OBSERVED RESULT
the audio is absent because of wrong audio source;
### What is the current *bug* behavior?
(What actually happens)
The audio stays as S/PDIF source when the computer is booted, instead to run the internal analog audio by frontal port when the jack is plugged in since the beginning of the booting;
### EXPECTED RESULT
the audio source is detected by the operating system soon after the boot when the audio jack is plugged into the front panel audio connector since when the computer is turned on.
### [pa_info.txt](/uploads/76ae3a6f5923027693a211bb2909b39f/pa_info.txt)Information
Operating System: KDE neon 5.20
KDE Plasma Version: 5.20.4
KDE Frameworks Version: 5.76.0
Qt Version: 5.15.2
Kernel Version: 5.4.0-56-generic
OS Type: 64-bit
### ADDITIONAL INFORMATION
Chipset audio: Realtek ALC1150https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1086Build failure in raop-client.c on FreeBSD2021-01-04T21:58:29ZericLemanissierBuild failure in raop-client.c on FreeBSD### Summary
I fail to build Pulseaudio on FreeBSD, because of compilation error in raop-client.c:
```
../source_subfolder/src/modules/raop/raop-client.c:685:24: error: variable has incomplete type 'struct sockaddr_in'
struct sockaddr...### Summary
I fail to build Pulseaudio on FreeBSD, because of compilation error in raop-client.c:
```
../source_subfolder/src/modules/raop/raop-client.c:685:24: error: variable has incomplete type 'struct sockaddr_in'
struct sockaddr_in sa4;
^
../source_subfolder/src/modules/raop/raop-client.c:685:12: note: forward declaration of 'struct sockaddr_in'
struct sockaddr_in sa4;
^
../source_subfolder/src/modules/raop/raop-client.c:687:25: error: variable has incomplete type 'struct sockaddr_in6'
struct sockaddr_in6 sa6;
^
../source_subfolder/src/modules/raop/raop-client.c:687:12: note: forward declaration of 'struct sockaddr_in6'
struct sockaddr_in6 sa6;
^
../source_subfolder/src/modules/raop/raop-client.c:741:24: error: variable has incomplete type 'struct sockaddr_in'
struct sockaddr_in sa4;
^
../source_subfolder/src/modules/raop/raop-client.c:741:12: note: forward declaration of 'struct sockaddr_in'
struct sockaddr_in sa4;
^
../source_subfolder/src/modules/raop/raop-client.c:743:25: error: variable has incomplete type 'struct sockaddr_in6'
struct sockaddr_in6 sa6;
^
../source_subfolder/src/modules/raop/raop-client.c:743:12: note: forward declaration of 'struct sockaddr_in6'
struct sockaddr_in6 sa6;
^
../source_subfolder/src/modules/raop/raop-client.c:762:31: error: use of undeclared identifier 'INADDR_ANY'
sa4.sin_addr.s_addr = INADDR_ANY;
^
../source_subfolder/src/modules/raop/raop-client.c:770:25: error: use of undeclared identifier 'in6addr_any'
sa6.sin6_addr = in6addr_any;
```
### environment
[FreeBSD on github actions](https://github.com/vmactions/freebsd-vm)
more details on https://github.com/ericLemanissier/conan-center-index/runs/1645891732?check_suite_focus=true#step:3:29030