pipewire issueshttps://gitlab.freedesktop.org/pipewire/pipewire/-/issues2023-01-12T21:57:55Zhttps://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2639Atrocious latency when using pipewire over network (via pulse's tcp)2023-01-12T21:57:55ZcoxtorAtrocious latency when using pipewire over network (via pulse's tcp)Hi I recently switched to Fedora 36 using the systems default pipewire installation
```
pipewire
Compiled with libpipewire 0.3.56
Linked with libpipewire 0.3.56
```
The connection works fine, however, the latency is unbareable also it...Hi I recently switched to Fedora 36 using the systems default pipewire installation
```
pipewire
Compiled with libpipewire 0.3.56
Linked with libpipewire 0.3.56
```
The connection works fine, however, the latency is unbareable also it stutters and pops frequently. Coming from Ubuntu with pulseaudio it used to work just fine using tsched=0 .
I have setup networked audio using this configuration (default template with added discover and zeroconf):
```
cat /etc/pipewire/pipewire-pulse.conf
# PulseAudio config file for PipeWire version "0.3.56" #
#
# Copy and edit this file in /etc/pipewire for system-wide changes
# or in ~/.config/pipewire for local changes.
#
# It is also possible to place a file with an updated section in
# /etc/pipewire/pipewire-pulse.conf.d/ for system-wide changes or in
# ~/.config/pipewire/pipewire-pulse.conf.d/ for local changes.
#
context.spa-libs = {
audio.convert.* = audioconvert/libspa-audioconvert
support.* = support/libspa-support
}
context.modules = [
{ name = libpipewire-module-rt
args = {
nice.level = -19
rt.prio = 95
}
flags = [ ifexists nofail ]
}
{ name = libpipewire-module-protocol-native }
{ name = libpipewire-module-client-node }
{ name = libpipewire-module-adapter }
{ name = libpipewire-module-metadata }
{ name = libpipewire-module-zeroconf-discover }
{ name = libpipewire-module-protocol-pulse
args = {
# contents of pulse.properties can also be placed here
# to have config per server.
server.address = [
"unix:native"
"tcp:192.168.178.227:4713" # IPv4 on a single address
]
pulse.min.req = 256/48000 # 5ms
pulse.default.req = 960/48000 # 20 milliseconds
pulse.min.frag = 256/48000 # 5ms
pulse.default.frag = 96000/48000 # 2 seconds - 96000
pulse.default.tlength = 96000/48000 # 2 seconds
pulse.min.quantum = 256/48000 # 5ms
pulse.default.format = F32
pulse.default.position = [ FL FR ]
# These overrides are only applied when running in a vm.
vm.overrides = {
pulse.min.quantum = 1024/48000 # 22ms
}
}
}
]
# Extra modules can be loaded here. Setup in default.pa can be moved here
context.exec = [
{ path = "pactl" args = "load-module module-always-sink" }
]
```
Am I doing something wrong?
Journalctl output:
```
journalctl --user -u pipewire --user -u wireplumber --user -u pipewire-pulse -f
Aug 13 15:56:28 fedora pipewire-pulse[2149]: mod.pulse-tunnel: underflow
Aug 13 15:56:28 fedora pipewire-pulse[2149]: mod.pulse-tunnel: underflow
Aug 13 15:56:28 fedora pipewire-pulse[2149]: mod.pulse-tunnel: underflow
Aug 13 15:56:28 fedora pipewire-pulse[2149]: mod.pulse-tunnel: underflow
Aug 13 15:56:28 fedora pipewire-pulse[2149]: mod.pulse-tunnel: underflow
Aug 13 15:56:29 fedora pipewire-pulse[2149]: mod.pulse-tunnel: underflow
Aug 13 15:56:29 fedora pipewire-pulse[2149]: mod.pulse-tunnel: underflow
Aug 13 15:56:29 fedora pipewire-pulse[2149]: mod.pulse-tunnel: underflow
Aug 13 15:56:29 fedora pipewire-pulse[2149]: mod.pulse-tunnel: underflow
Aug 13 15:56:29 fedora pipewire-pulse[2149]: mod.pulse-tunnel: underflow
Aug 13 15:56:30 fedora pipewire-pulse[2149]: mod.pulse-tunnel: underflow
Aug 13 15:56:30 fedora pipewire-pulse[2149]: mod.pulse-tunnel: underflow
Aug 13 15:56:30 fedora pipewire-pulse[2149]: mod.pulse-tunnel: underflow
Aug 13 15:56:30 fedora pipewire-pulse[2149]: mod.pulse-tunnel: underflow
Aug 13 15:56:30 fedora pipewire-pulse[2149]: mod.pulse-tunnel: underflow
Aug 13 15:56:31 fedora pipewire-pulse[2149]: mod.pulse-tunnel: underflow
Aug 13 15:56:31 fedora pipewire-pulse[2149]: mod.pulse-tunnel: underflow
Aug 13 15:56:31 fedora pipewire-pulse[2149]: mod.pulse-tunnel: underflow
Aug 13 15:56:31 fedora pipewire-pulse[2149]: mod.pulse-tunnel: underflow
Aug 13 15:56:31 fedora pipewire-pulse[2149]: mod.pulse-tunnel: underflow
```https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2638segfault while testing jack backend2023-05-12T13:41:42ZOlivier Hubersegfault while testing jack backend<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
First of all, pipewire is awesome. It's great to be able to use proaudio-type software so easily!
- PipeWire version (`pipewir...<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
First of all, pipewire is awesome. It's great to be able to use proaudio-type software so easily!
- PipeWire version (`pipewire --version`): 0.3.56
- Distribution and distribution version (`PRETTY_NAME` from `/etc/os-release`): Gentoo Linux
- Desktop Environment: KDE
- Kernel version (`uname -r`): 5.18.16-gentoo-dist
## Description of Problem:
When running a slighted modified version of the test from JACK2 [test.cpp](https://github.com/jackaudio/jack2/blob/develop/tests/test.cpp), a segfault occurred in the function `port_name()` from `pipewire-jack.c` as `c` is unconditionally dereferenced. When `c` is NULL this results in a segfault. This is triggered on line 1769 in the above `test.cpp` file
An easy fix is to add an instruction like `spa_return_val_if_fail(c != NULL, NULL);` in `port_name`, like in the proposed patch [pipewire-jack-segfault.patch](/uploads/92b39b670fd35fdc3c3e02f3046c157c/pipewire-jack-segfault.patch)
### Steps to Reproduce:
1. Download [test.cpp](https://github.com/jackaudio/jack2/blob/develop/tests/test.cpp) and add an upper bound in the `while` statement on line 1218 like `&& j < 1000`
2. Compile the test with for instance `g++ -ggdb -ljack test.cpp -o test`
3. Run `./test`
As an aside, would it make sense to prepare a MR to add `test.cpp` to the testsuite? It looks like it could easily be converted to c.
It's possible that only a subset of the tests are relevant for pipewire.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2637Audio drifts out of sync when using TCP protocol or tunnel sink/source inside...2022-12-16T16:12:21ZIsabella NightshadeAudio drifts out of sync when using TCP protocol or tunnel sink/source inside a VM<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
- PipeWire version (`pipewire --version`): `0.3.56`
- Distribution and distribution version (`PRETTY_NAME` from `/etc/os-releas...<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
- PipeWire version (`pipewire --version`): `0.3.56`
- Distribution and distribution version (`PRETTY_NAME` from `/etc/os-release`): `Debian GNU/Linux bookworm/sid`
- Desktop Environment: KDE Plasma
- Kernel version (`uname -r`): `5.18.0-3-amd64`
## Description of Problem:
I'm running an interesting setup where I have a host computer with a USB audio interface connected and Proxmox running with some VMs that run music player daemon inside. I'm using pipewire-pulse on the host to provide access to the sound device over the network, using TCP and tunnel sinks. I notice over time that the audio played on the host via MPD via direct TCP inside VMs seem to drift and lag over time, lowering in pitch as the adaptive resampling tries to compensate. I have to restart the stream (which usually involves stopping and restarting the playing song or even the MPD process) to get it to reset. This doesn't seem to happen if I use pulseaudio on the host. This problem also happens if I'm using, for example, pulseaudio on the host and running pipewire-pulse in a VM sending audio to a remote sink on the host. I do this with a VM I use as a kind of desktop PC and it's unusable especially when watching videos. I'm currently working around this by using a USB audio interface plugged directly into the VM via PCI passthrough, and it seems to work fine.
This may be due to how pipewire implements scheduling, as I understand pulseaudio automatically uses IRQ-based scheduling instead of timer-based when it detects it's inside a VM, and the universe inside the VM lagging doesn't affect the sound output on the host.
## How Reproducible:
### Steps to Reproduce:
1. Run pipewire-pulse on the hypervisor, or inside the VM, or on both
2. Set up a tunnel sink from inside the VM to the hypervisor
3. Play a continuous stream of sound for a long time
### Actual Results:
The sound played back on the hypervisor slowly drifts out of sync with the source, slows down, and lowers in pitch.
### Expected Results:
The sound played back on the hypervisor should play back in realtime as the VM is feeding the tunnel sink.
# Additional Info (as attachments):
- `pw-dump > pw-dump.log`: [pw-dump.log](/uploads/640416786eee2287727fadb3e4f0d00d/pw-dump.log)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2636[wish] bluetooth 5.2, 2 headsets connected => 2 headsets receive simultaneous...2022-09-17T21:51:16Zpromeneur[wish] bluetooth 5.2, 2 headsets connected => 2 headsets receive simultaneously the sound<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
<!-- If you can, test also with Pulseaudio and list `pulseaudio --version`. -->
- PipeWire version (`pipewire --version`): 3....<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
<!-- If you can, test also with Pulseaudio and list `pulseaudio --version`. -->
- PipeWire version (`pipewire --version`): 3.56
- Distribution and distribution version (`PRETTY_NAME` from `/etc/os-release`): openSUSE Tumbleweed
- Desktop Environment: KDe Gears 22.04.3
- Kernel version (`uname -r`): 5.18.15
- BlueZ version (`bluetoothctl --version`): 5.64
# paste the output of "lsusb" here
8087:0032 Intel Corp. AX210 Bluetooth
- Bluetooth devices:
-
PLT BBTSENSE
PHILIPS SHQ7300
# paste the output of "bluetoothctl devices" here
Agent registered
[Philips SHQ7300]# devices
Device 00:1E:7C:39:7D:25 Philips SHQ7300
Device 0C:E0:E4:9E:7C:C7 PLT_BBTSENSE
## Description of Problem:
According to the specs of BT 5.2 there is a new feature "multiple audio receivers as headset can be connected to the same BT adapter"
I connected with success simultaneously 2 headsets to the BT adapter.
## How Reproducible:
### Steps to Reproduce:
1.connect 2 headsets to the BT adapter
### Actual Results:
In kmix (kde volume audio controller) we must choose one of the two headsets) as receiver. See the capture.
### Expected Results:
We can select the two headsets simultaneously as receiver.
# Additional Info (as attachments):
- `pw-dump > pw-dump.log`:
- Bluetooth debug log, see [here](https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Troubleshooting#bluetooth):
![bt_2_headsets](/uploads/3538c391a35297d0d05ea28ad189f3f0/bt_2_headsets.png)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2635Can't force quant; audio delay/sync issues2022-08-11T07:25:24ZSean GoreshtCan't force quant; audio delay/sync issuesUsing pipewire `0.3.56` on Manjaro, on kernel `5.19.0-2`, `quant`, **and** forcing quantum, applications still have noticeable audio delay:
```bash
pw-metadata -n settings 0 clock.force-quantum 128
```
I have an RME Fireface 400, set t...Using pipewire `0.3.56` on Manjaro, on kernel `5.19.0-2`, `quant`, **and** forcing quantum, applications still have noticeable audio delay:
```bash
pw-metadata -n settings 0 clock.force-quantum 128
```
I have an RME Fireface 400, set to use the default Profile.
### Expected Behaviour
I would expect setting `clock.force-quantum` to `128` to force **all** applications, including Firefox to `128`, regardless of which `quant` they request.
![image](/uploads/4a52f4b8cc2c95e100d0e70cf82bdd0d/image.png)
In this example, I would also expect `Firefox` to have a `quant` of `128` and not `3600`.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2634SIGSEGV with pipewire-pulse 1:0.3.56-1 on Arch Linux2023-09-22T10:53:15ZStrangiatoSIGSEGV with pipewire-pulse 1:0.3.56-1 on Arch LinuxHi
I'm having some problems with streaming over network on Arch Linux (intermittent noise, sporadic disconnection when I try to adjust the volume level, sporadic delay to adjust the volume level).
I'm reporting this crash because I guess...Hi
I'm having some problems with streaming over network on Arch Linux (intermittent noise, sporadic disconnection when I try to adjust the volume level, sporadic delay to adjust the volume level).
I'm reporting this crash because I guess it can be related to some of my problems.
```
Thread 3 (Thread 0x7f95798676c0 (LWP 17141)):
#0 0x00007f957f9c6e9f in __GI___poll (fds=fds@entry=0x7f956c000b70, nfds=nfds@entry=2, timeout=timeout@entry=970) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007f957e7598c7 in poll (__timeout=970, __nfds=2, __fds=0x7f956c000b70) at /usr/include/bits/poll2.h:39
#2 poll_func (ufds=0x7f956c000b70, nfds=2, timeout=970, userdata=0x55c77aca8c70) at ../pulseaudio/src/pulse/thread-mainloop.c:70
#3 0x00007f957e74346c in pa_mainloop_poll (m=m@entry=0x55c77aca8b70) at ../pulseaudio/src/pulse/mainloop.c:863
#4 0x00007f957e74d42c in pa_mainloop_iterate (m=m@entry=0x55c77aca8b70, block=block@entry=1, retval=retval@entry=0x0) at ../pulseaudio/src/pulse/mainloop.c:945
#5 0x00007f957e74d4e1 in pa_mainloop_run (m=0x55c77aca8b70, retval=0x0) at ../pulseaudio/src/pulse/mainloop.c:963
#6 0x00007f957e75dc02 in thread (userdata=0x55c77ac92ce0) at ../pulseaudio/src/pulse/thread-mainloop.c:101
#7 0x00007f957e6f9c47 in internal_thread_func (userdata=0x55c77abebd30) at ../pulseaudio/src/pulsecore/thread-posix.c:81
#8 0x00007f957f95278d in start_thread (arg=<optimized out>) at pthread_create.c:442
#9 0x00007f957f9d38e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
Thread 2 (Thread 0x7f957f8a9740 (LWP 17132)):
#0 pw_protocol_native_connection_get_next (conn=0x55c77ad49340, msg=0x7ffec3bf72e0) at ../pipewire/src/modules/module-protocol-native/connection.c:594
#1 0x00007f957f182eb5 in process_remote (impl=impl@entry=0x55c77ad49280) at ../pipewire/src/modules/module-protocol-native.c:868
#2 0x00007f957f183620 in on_remote_data (data=0x55c77ad49280, fd=52, mask=1) at ../pipewire/src/modules/module-protocol-native.c:949
#3 0x00007f957fba0e3d in loop_iterate (object=<optimized out>, timeout=<optimized out>) at ../pipewire/spa/plugins/support/loop.c:430
#4 0x00007f957fb07551 in pw_main_loop_run (loop=loop@entry=0x55c77ab9ed40) at ../pipewire/src/pipewire/main-loop.c:148
#5 0x000055c779ec62ee in main (argc=<optimized out>, argv=<optimized out>) at ../pipewire/src/daemon/pipewire.c:131
Thread 1 (Thread 0x7f957efa36c0 (LWP 17138)):
#0 0x00007f957fb8c8a0 in core_events () from /usr/lib/libpipewire-0.3.so.0
#1 0x00007f95790191d9 in impl_node_enum_params (object=0x55c77ac5a518, seq=<optimized out>, id=10, start=<optimized out>, num=<optimized out>, filter=<optimized out>) at ../pipewire/spa/plugins/audioconvert/audioconvert.c:740
#2 0x00007f95790070df in impl_node_enum_params (object=<optimized out>, seq=0, id=<optimized out>, start=0, num=1, filter=0x0) at ../pipewire/spa/plugins/audioconvert/audioadapter.c:167
#3 0x00007f957f158318 in spa_node_enum_params_sync (filter=0x0, builder=0x7f957efa0e90, param=<synthetic pointer>, index=<synthetic pointer>, id=10, node=0x55c77ac5a030) at ../pipewire/spa/include/spa/node/utils.h:78
#4 add_node_update.isra.0 (data=0x55c77ac02dc8, change_mask=3, info_mask=5) at ../pipewire/src/modules/module-client-node/remote-node.c:317
#5 0x00007f957fb0f003 in emit_info_changed (node=node@entry=0x55c77ac25cc0, flags_changed=flags_changed@entry=false) at ../pipewire/src/pipewire/impl-node.c:260
#6 0x00007f957fb17906 in node_info (data=0x55c77ac25cc0, info=0x55c77ac5a380) at ../pipewire/src/pipewire/impl-node.c:1407
#7 0x00007f957900d66e in emit_node_info (this=0x55c77ac5a018, full=<optimized out>) at ../pipewire/spa/plugins/audioconvert/audioadapter.c:276
#8 0x00007f9579012b4e in emit_node_info (this=this@entry=0x55c77ac5a518, full=full@entry=false) at ../pipewire/spa/plugins/audioconvert/audioconvert.c:254
#9 0x00007f9579021222 in impl_node_set_param (object=0x55c77ac5a518, id=<optimized out>, flags=<optimized out>, param=<optimized out>) at ../pipewire/spa/plugins/audioconvert/audioconvert.c:1075
#10 0x00007f957900c69d in impl_node_set_param (object=0x55c77ac5a018, id=2, flags=0, param=0x7f957efa2620) at ../pipewire/spa/plugins/audioconvert/audioadapter.c:659
#11 0x00007f957fb4704d in pw_stream_set_control (stream=0x55c77aca0fd0, id=<optimized out>, id@entry=268, n_values=<optimized out>, n_values@entry=1, values=<optimized out>, values@entry=0x7f957efa2b34) at ../pipewire/src/pipewire/stream.c:2143
#12 0x00007f957f0ad907 in playback_stream_process (d=0x55c77ac765a0) at ../pipewire/src/modules/module-pulse-tunnel.c:288
#13 0x00007f957fb30bcb in impl_node_process_input (object=0x55c77aca0fd0) at ../pipewire/src/pipewire/stream.c:997
#14 0x00007f9579012931 in impl_node_process (object=0x55c77ac5a018) at ../pipewire/spa/plugins/audioconvert/audioadapter.c:1424
#15 0x00007f957fb0f3a9 in process_node (data=0x55c77ac25cc0) at ../pipewire/src/pipewire/impl-node.c:1090
#16 0x00007f957fb12a6c in node_on_fd_events (source=<optimized out>) at ../pipewire/src/pipewire/impl-node.c:1148
#17 0x00007f957fba0e3d in loop_iterate (object=<optimized out>, timeout=<optimized out>) at ../pipewire/spa/plugins/support/loop.c:430
#18 0x00007f957faefdf7 in do_loop (user_data=0x55c77abaa2f0) at ../pipewire/src/pipewire/data-loop.c:81
#19 0x00007f957f95278d in start_thread (arg=<optimized out>) at pthread_create.c:442
#20 0x00007f957f9d38e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
```https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2633SIGABRT with pipewire-pulse 1:0.3.56-1 on Arch Linux2022-12-08T10:02:34ZStrangiatoSIGABRT with pipewire-pulse 1:0.3.56-1 on Arch LinuxHi
I'm having some problems with streaming over network on Arch Linux (intermittent noise, sporadic disconnection when I try to adjust the volume level, sporadic delay to adjust the volume level).
I'm reporting this crash because I gues...Hi
I'm having some problems with streaming over network on Arch Linux (intermittent noise, sporadic disconnection when I try to adjust the volume level, sporadic delay to adjust the volume level).
I'm reporting this crash because I guess it can be related to some of my problems.
```
Thread 3 (Thread 0x7f201c4fc6c0 (LWP 17221)):
#0 0x00007f202265ee9f in __GI___poll (fds=fds@entry=0x7f200c000b70, nfds=nfds@entry=2, timeout=timeout@entry=680) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007f20213f68c7 in poll (__timeout=680, __nfds=2, __fds=0x7f200c000b70) at /usr/include/bits/poll2.h:39
#2 poll_func (ufds=0x7f200c000b70, nfds=2, timeout=680, userdata=0x561f52f5fc60) at ../pulseaudio/src/pulse/thread-mainloop.c:70
#3 0x00007f20213e046c in pa_mainloop_poll (m=m@entry=0x561f52f5fb60) at ../pulseaudio/src/pulse/mainloop.c:863
#4 0x00007f20213ea42c in pa_mainloop_iterate (m=m@entry=0x561f52f5fb60, block=block@entry=1, retval=retval@entry=0x0) at ../pulseaudio/src/pulse/mainloop.c:945
#5 0x00007f20213ea4e1 in pa_mainloop_run (m=0x561f52f5fb60, retval=0x0) at ../pulseaudio/src/pulse/mainloop.c:963
#6 0x00007f20213fac02 in thread (userdata=0x561f52f8a3d0) at ../pulseaudio/src/pulse/thread-mainloop.c:101
#7 0x00007f2021396c47 in internal_thread_func (userdata=0x561f52ffc680) at ../pulseaudio/src/pulsecore/thread-posix.c:81
#8 0x00007f20225ea78d in start_thread (arg=<optimized out>) at pthread_create.c:442
#9 0x00007f202266b8e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
Thread 2 (Thread 0x7f2022541740 (LWP 17212)):
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1 0x00007f20225ec543 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2 0x00007f202259c998 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x00007f202258653d in __GI_abort () at abort.c:79
#4 0x00007f2021e307bf in assert_single_pod (builder=<optimized out>) at ../pipewire/src/modules/module-protocol-native.c:1353
#5 assert_single_pod (builder=0x561f52f89ea0) at ../pipewire/src/modules/module-protocol-native.c:1346
#6 impl_ext_end_proxy (proxy=<optimized out>, builder=0x561f52f89ea0) at ../pipewire/src/modules/module-protocol-native.c:1363
#7 0x00007f2021df1a2a in client_node_marshal_port_update (object=0x561f53005b60, direction=<optimized out>, port_id=<optimized out>, change_mask=<optimized out>, n_params=<optimized out>, params=<optimized out>, info=0x7fff791f0a40) at ../pipewire/src/modules/module-client-node/protocol-native.c:305
#8 0x00007f2021e038ed in add_port_update.isra.0 (data=<optimized out>, port=0x561f52fedea0, change_mask=<optimized out>) at ../pipewire/src/modules/module-client-node/remote-node.c:417
#9 0x00007f20227bd18e in emit_info_changed.part.0.lto_priv.0 (port=0x561f52fedea0) at ../pipewire/src/pipewire/impl-port.c:82
#10 0x00007f201bc9b3cc in convert_port_info (data=0x561f52fc74f8, direction=SPA_DIRECTION_INPUT, port_id=1, info=0x561f52f803b8) at ../pipewire/spa/plugins/audioconvert/audioadapter.c:921
#11 0x00007f201bcb3224 in emit_port_info (this=this@entry=0x561f52fc79f8, port=0x561f52f803a0, full=full@entry=true) at ../pipewire/spa/plugins/audioconvert/audioconvert.c:289
#12 0x00007f201bcb33c9 in impl_node_add_listener (object=0x561f52fc79f8, listener=<optimized out>, events=0x7f201bcf9ca0 <node_events>, data=0x7fff791f1cd0) at ../pipewire/spa/plugins/audioconvert/audioconvert.c:1570
#13 0x00007f201bcd8437 in spa_node_enum_params_sync (builder=0x7fff791f1e20, param=0x7fff791f1dc0, filter=0x0, index=0x7fff791f1db8, id=1, node=0x561f52fc7a10) at ../pipewire/spa/include/spa/node/utils.h:76
#14 follower_enum_params.constprop.0 (this=this@entry=0x561f52fc74f8, id=id@entry=1, idx=idx@entry=1, result=result@entry=0x7fff791f1db0, filter=filter@entry=0x0, builder=builder@entry=0x7fff791f1e20) at ../pipewire/spa/plugins/audioconvert/audioadapter.c:124
#15 0x00007f201bc9c189 in impl_node_enum_params (object=<optimized out>, seq=0, id=<optimized out>, start=1, num=1, filter=0x0) at ../pipewire/spa/plugins/audioconvert/audioadapter.c:170
#16 0x00007f2021e03318 in spa_node_enum_params_sync (filter=0x0, builder=0x7fff791f2f70, param=<synthetic pointer>, index=<synthetic pointer>, id=1, node=0x561f52fc7510) at ../pipewire/spa/include/spa/node/utils.h:78
#17 add_node_update.isra.0 (data=0x561f53005bd8, change_mask=3, info_mask=5) at ../pipewire/src/modules/module-client-node/remote-node.c:317
#18 0x00007f20227a7003 in emit_info_changed (node=node@entry=0x561f52fe0a90, flags_changed=flags_changed@entry=false) at ../pipewire/src/pipewire/impl-node.c:260
#19 0x00007f20227af906 in node_info (data=0x561f52fe0a90, info=0x561f52fc7860) at ../pipewire/src/pipewire/impl-node.c:1407
#20 0x00007f201bca266e in emit_node_info (this=0x561f52fc74f8, full=<optimized out>) at ../pipewire/spa/plugins/audioconvert/audioadapter.c:276
#21 0x00007f201bca7b4e in emit_node_info (this=this@entry=0x561f52fc79f8, full=full@entry=false) at ../pipewire/spa/plugins/audioconvert/audioconvert.c:254
#22 0x00007f201bcb6222 in impl_node_set_param (object=0x561f52fc79f8, id=<optimized out>, flags=<optimized out>, param=<optimized out>) at ../pipewire/spa/plugins/audioconvert/audioconvert.c:1075
#23 0x00007f201bca169d in impl_node_set_param (object=0x561f52fc74f8, id=2, flags=0, param=0x561f52f8b0c8) at ../pipewire/spa/plugins/audioconvert/audioadapter.c:659
#24 0x00007f2021de5b9b in client_node_set_param (_data=0x561f53005bd8, id=2, flags=0, param=0x561f52f8b0c8) at ../pipewire/src/modules/module-client-node/remote-node.c:443
#25 0x00007f2021df4e65 in client_node_demarshal_set_param (data=<optimized out>, msg=<optimized out>) at ../pipewire/src/modules/module-client-node/protocol-native.c:420
#26 0x00007f2021e2df84 in process_remote (impl=impl@entry=0x561f52f8a1c0) at ../pipewire/src/modules/module-protocol-native.c:915
#27 0x00007f2021e2e620 in on_remote_data (data=0x561f52f8a1c0, fd=19, mask=1) at ../pipewire/src/modules/module-protocol-native.c:949
#28 0x00007f2022838e3d in loop_iterate (object=<optimized out>, timeout=<optimized out>) at ../pipewire/spa/plugins/support/loop.c:430
#29 0x00007f202279f551 in pw_main_loop_run (loop=loop@entry=0x561f52f12d40) at ../pipewire/src/pipewire/main-loop.c:148
#30 0x0000561f511c92ee in main (argc=<optimized out>, argv=<optimized out>) at ../pipewire/src/daemon/pipewire.c:131
Thread 1 (Thread 0x7f2021c406c0 (LWP 17218)):
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1 0x00007f20225ec543 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2 0x00007f202259c998 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x00007f202258653d in __GI_abort () at abort.c:79
#4 0x00007f2021e307bf in assert_single_pod (builder=<optimized out>) at ../pipewire/src/modules/module-protocol-native.c:1353
#5 assert_single_pod (builder=0x561f52f89ea0) at ../pipewire/src/modules/module-protocol-native.c:1346
#6 impl_ext_end_proxy (proxy=<optimized out>, builder=0x561f52f89ea0) at ../pipewire/src/modules/module-protocol-native.c:1363
#7 0x00007f2021df118f in client_node_marshal_update (object=0x561f53005b60, change_mask=<optimized out>, n_params=<optimized out>, params=<optimized out>, info=<optimized out>) at ../pipewire/src/modules/module-client-node/protocol-native.c:241
#8 0x00007f2021e03451 in add_node_update.isra.0 (data=<optimized out>, change_mask=<optimized out>, info_mask=<optimized out>) at ../pipewire/src/modules/module-client-node/remote-node.c:346
#9 0x00007f20227a7003 in emit_info_changed (node=node@entry=0x561f52fe0a90, flags_changed=flags_changed@entry=false) at ../pipewire/src/pipewire/impl-node.c:260
#10 0x00007f20227af906 in node_info (data=0x561f52fe0a90, info=0x561f52fc7860) at ../pipewire/src/pipewire/impl-node.c:1407
#11 0x00007f201bca266e in emit_node_info (this=0x561f52fc74f8, full=<optimized out>) at ../pipewire/spa/plugins/audioconvert/audioadapter.c:276
#12 0x00007f201bca7b4e in emit_node_info (this=this@entry=0x561f52fc79f8, full=full@entry=false) at ../pipewire/spa/plugins/audioconvert/audioconvert.c:254
#13 0x00007f201bcb6222 in impl_node_set_param (object=0x561f52fc79f8, id=<optimized out>, flags=<optimized out>, param=<optimized out>) at ../pipewire/spa/plugins/audioconvert/audioconvert.c:1075
#14 0x00007f201bca169d in impl_node_set_param (object=0x561f52fc74f8, id=2, flags=0, param=0x7f2021c3f620) at ../pipewire/spa/plugins/audioconvert/audioadapter.c:659
#15 0x00007f20227df04d in pw_stream_set_control (stream=0x561f53000be0, id=<optimized out>, id@entry=268, n_values=<optimized out>, n_values@entry=1, values=<optimized out>, values@entry=0x7f2021c3fb34) at ../pipewire/src/pipewire/stream.c:2143
#16 0x00007f2021d53907 in playback_stream_process (d=0x561f52fe48a0) at ../pipewire/src/modules/module-pulse-tunnel.c:288
#17 0x00007f20227c8bcb in impl_node_process_input (object=0x561f53000be0) at ../pipewire/src/pipewire/stream.c:997
#18 0x00007f201bca7931 in impl_node_process (object=0x561f52fc74f8) at ../pipewire/spa/plugins/audioconvert/audioadapter.c:1424
#19 0x00007f20227a73a9 in process_node (data=0x561f52fe0a90) at ../pipewire/src/pipewire/impl-node.c:1090
#20 0x00007f20227aaa6c in node_on_fd_events (source=<optimized out>) at ../pipewire/src/pipewire/impl-node.c:1148
#21 0x00007f2022838e3d in loop_iterate (object=<optimized out>, timeout=<optimized out>) at ../pipewire/spa/plugins/support/loop.c:430
#22 0x00007f2022787df7 in do_loop (user_data=0x561f52f1e2f0) at ../pipewire/src/pipewire/data-loop.c:81
#23 0x00007f20225ea78d in start_thread (arg=<optimized out>) at pthread_create.c:442
#24 0x00007f202266b8e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
```https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2632Ability to select webcam resolution2022-12-24T00:07:46Zmalaksyan64Ability to select webcam resolutionIt would be really useful if PipeWire provided an easy way to select a resolution/framerate or at least a flag to capture the highest possible.It would be really useful if PipeWire provided an easy way to select a resolution/framerate or at least a flag to capture the highest possible.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2631behavior of pw_data_loop_invoke() when the loop is stopped and there are pend...2022-08-09T19:00:18ZBarnabás Pőczebehavior of pw_data_loop_invoke() when the loop is stopped and there are pending invoke items may be problematicAt the moment, `pw_data_loop_invoke()` calls the callback in the calling thread when the loop is stopped regardless whether there are pending invoke items that could not be executed while the loop was running.
See #2569, adding the `cle...At the moment, `pw_data_loop_invoke()` calls the callback in the calling thread when the loop is stopped regardless whether there are pending invoke items that could not be executed while the loop was running.
See #2569, adding the `clean_transport()` call can result in a situation where only one of the add-remove pair of callbacks run.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/26301 out of 2 headphone speakers connected to the 2.5 mm connector of the Gigaby...2022-08-10T14:16:02ZKudyakov Artem1 out of 2 headphone speakers connected to the 2.5 mm connector of the Gigabyte B450 DS3H motherboard does not work<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
- PipeWire version (`pipewire --version`): `Compiled with libpipewire 0.3.56; Linked with libpipewire 0.3.56`
- Distribution an...<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
- PipeWire version (`pipewire --version`): `Compiled with libpipewire 0.3.56; Linked with libpipewire 0.3.56`
- Distribution and distribution version (`PRETTY_NAME` from `/etc/os-release`): Fedora Linux 36 (Workstation Edition)
- Desktop Environment: Gnome 42
- Kernel version (`uname -r`): 5.18.16-200.fc36.x86_64
## Description of Problem:
One of the two Audio-Technika M40X headphone speakers does not work when plugged into the 2.5" jack located in the middle of the Gigabyte B450 DS3H motherboard. The headphones work fully correctly on Windows 10, installed in parallel on the same PC with the same motherboard. This means that the problem is not with the headphones or the motherboard. The problem is at the software level.
If you select "HDMI / DisplayPort 2 - TU116 High Definition Audio Controller" and connect headphones to the monitor, both speakers will work (Nvidia Geforce GTX 1650 Super video card).
Restarting `pipewire` and `pipewire-pulse` systemd services does not help. Restarting the computer too
## How Reproducible:
### Steps to Reproduce:
1. Insert the headphones into the second jack and select "Linear Output - Family 17h/19h HD Audio Controller" as the output (I am using the system in Russian, probably the output name will be slightly different, in Russian it is "Линейный выход - Family 17h/19h HD Audio Controller").
2. Next, open an application that can play sound (for example, an audio player or a browser).
3. Play the sound.
### Actual Results:
Only the left headphone speaker works.
### Expected Results:
Both headphone speakers should work.
# Additional Info (as attachments):
- `pw-dump > pw-dump.log`:
[pw-dump.log](/uploads/495f732c9aca2c6ce345e937172e9cb2/pw-dump.log)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2629Directory configuration files with the same name do not get masked2022-08-17T06:23:17ZCameron NemoDirectory configuration files with the same name do not get maskedMost software I have seen that has /usr/share/foo.d/*.conf and /etc/foo.d/*.conf configuration files ignores the /usr version of same-named files. [1]
E.g. `/etc/pipewire/pipewire.d/10-autostart-session-manager.conf` or `~/.config/pipew...Most software I have seen that has /usr/share/foo.d/*.conf and /etc/foo.d/*.conf configuration files ignores the /usr version of same-named files. [1]
E.g. `/etc/pipewire/pipewire.d/10-autostart-session-manager.conf` or `~/.config/pipewire/pipewire.d/10-autostart-session-manager.conf` should mask `/usr/share/pipewire/pipewire.d/10-autostart-session-manager.conf`.
This issue is particularly pronounced when a non-systemd distribution wants to autostart a session manager by shipping a file in /usr, and the end user wants to handle supervision of the session manager in a non-standard way. The user has no way to override the distribution, because any subsequent `context.exec` declarations get *appended*.
[1] sysctl.d, modprobe.d, udev/rules.d all behave like thishttps://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2628ASAN use-after-free at audioconvert.c:impl_node_process2022-11-15T18:07:05ZP VASAN use-after-free at audioconvert.c:impl_node_processGot ASAN crash in audioconvert, while running this branch https://gitlab.freedesktop.org/pvir/pipewire/-/tree/a2dp-sink-timings-2/ and playing sound via CVSD to Bluetooth:
```
#0 0x7f7f1d8470aa in _mm_store_ss /usr/lib/gcc/x86_64-re...Got ASAN crash in audioconvert, while running this branch https://gitlab.freedesktop.org/pvir/pipewire/-/tree/a2dp-sink-timings-2/ and playing sound via CVSD to Bluetooth:
```
#0 0x7f7f1d8470aa in _mm_store_ss /usr/lib/gcc/x86_64-redhat-linux/12/include/xmmintrin.h:963
#1 0x7f7f1d8470aa in inner_product_sse ../spa/plugins/audioconvert/resample-native-sse.c:68
#2 0x7f7f1d8470aa in do_resample_full_sse ../spa/plugins/audioconvert/resample-native-sse.c:93
#3 0x7f7f1d7e51b2 in impl_native_process ../spa/plugins/audioconvert/resample-native.c:246
#4 0x7f7f1d7c18c5 in impl_node_process ../spa/plugins/audioconvert/audioconvert.c:2601
#5 0x7f7f1d75f9e9 in impl_node_process ../spa/plugins/audioconvert/audioadapter.c:1413
#6 0x7f7f33b2018e in process_node ../src/pipewire/impl-node.c:1090
#7 0x7f7f33b22737 in node_on_fd_events ../src/pipewire/impl-node.c:1148
[clip]
0x7f7f1ba93800 is located 0 bytes inside of 2486900-byte region [0x7f7f1ba93800,0x7f7f1bcf2a74)
freed by thread T0 here:
#0 0x7f7f34811595 in __interceptor_realloc.part.0 (/lib64/libasan.so.8+0xb9595)
#1 0x7f7f1d7b5aaf in impl_node_port_use_buffers ../spa/plugins/audioconvert/audioconvert.c:2097
#2 0x7f7f1d75ed4b in impl_node_port_use_buffers ../spa/plugins/audioconvert/audioadapter.c:1377
#3 0x7f7f33b97758 in negotiate_mixer_buffers ../src/pipewire/impl-port.c:1525
#4 0x7f7f33b98734 in pw_impl_port_use_buffers ../src/pipewire/impl-port.c:1566
#5 0x7f7f22bc048b in client_node_port_use_buffers ../src/modules/module-client-node/remote-node.c:766
[clip]
```
[pw.log.xz](/uploads/6f5719efc17d434d4d8d09749a7d635e/pw.log.xz)
[pw-ms.log.xz](/uploads/1a9a66b3ee7911462f1afc2c3bae2886/pw-ms.log.xz)
<details>
```
#0 0x7f7f1d8470aa in _mm_store_ss /usr/lib/gcc/x86_64-redhat-linux/12/include/xmmintrin.h:963
#1 0x7f7f1d8470aa in inner_product_sse ../spa/plugins/audioconvert/resample-native-sse.c:68
#2 0x7f7f1d8470aa in do_resample_full_sse ../spa/plugins/audioconvert/resample-native-sse.c:93
#3 0x7f7f1d7e51b2 in impl_native_process ../spa/plugins/audioconvert/resample-native.c:246
#4 0x7f7f1d7c18c5 in impl_node_process ../spa/plugins/audioconvert/audioconvert.c:2601
#5 0x7f7f1d75f9e9 in impl_node_process ../spa/plugins/audioconvert/audioadapter.c:1413
#6 0x7f7f33b2018e in process_node ../src/pipewire/impl-node.c:1090
#7 0x7f7f33b22737 in node_on_fd_events ../src/pipewire/impl-node.c:1148
#8 0x7f7f2330f702 in loop_iterate ../spa/plugins/support/loop.c:430
#9 0x7f7f33a27b24 in do_loop ../src/pipewire/data-loop.c:81
#10 0x7f7f31a99c39 in custom_start ../src/modules/module-rt.c:729
#11 0x7f7f32bbee2c in start_thread (/lib64/libc.so.6+0x8ce2c)
#12 0x7f7f32c441af in clone3 (/lib64/libc.so.6+0x1121af)
0x7f7f1ba93800 is located 0 bytes inside of 2486900-byte region [0x7f7f1ba93800,0x7f7f1bcf2a74)
freed by thread T0 here:
#0 0x7f7f34811595 in __interceptor_realloc.part.0 (/lib64/libasan.so.8+0xb9595)
#1 0x7f7f1d7b5aaf in impl_node_port_use_buffers ../spa/plugins/audioconvert/audioconvert.c:2097
#2 0x7f7f1d75ed4b in impl_node_port_use_buffers ../spa/plugins/audioconvert/audioadapter.c:1377
#3 0x7f7f33b97758 in negotiate_mixer_buffers ../src/pipewire/impl-port.c:1525
#4 0x7f7f33b98734 in pw_impl_port_use_buffers ../src/pipewire/impl-port.c:1566
#5 0x7f7f22bc048b in client_node_port_use_buffers ../src/modules/module-client-node/remote-node.c:766
#6 0x7f7f22c16fbd in client_node_demarshal_port_use_buffers ../src/modules/module-client-node/protocol-native.c:582
#7 0x7f7f22f4d7e5 in process_remote ../src/modules/module-protocol-native.c:915
#8 0x7f7f22f4e1ed in on_remote_data ../src/modules/module-protocol-native.c:949
#9 0x7f7f2330fa47 in source_io_func ../spa/plugins/support/loop.c:442
#10 0x7f7f2330f702 in loop_iterate ../spa/plugins/support/loop.c:430
#11 0x7f7f34478c85 in wp_loop_source_dispatch ../subprojects/wireplumber/lib/wp/core.c:42
#12 0x7f7f333bcfae in g_main_context_dispatch (/lib64/libglib-2.0.so.0+0x54fae)
previously allocated by thread T0 here:
#0 0x7f7f34811595 in __interceptor_realloc.part.0 (/lib64/libasan.so.8+0xb9595)
#1 0x7f7f1d7b5aaf in impl_node_port_use_buffers ../spa/plugins/audioconvert/audioconvert.c:2097
#2 0x7f7f1d73cf90 in negotiate_buffers ../spa/plugins/audioconvert/audioadapter.c:422
#3 0x7f7f1d73ee9b in configure_format ../spa/plugins/audioconvert/audioadapter.c:480
#4 0x7f7f1d74758c in negotiate_format ../spa/plugins/audioconvert/audioadapter.c:795
#5 0x7f7f1d748861 in impl_node_send_command ../spa/plugins/audioconvert/audioadapter.c:816
#6 0x7f7f33b0987b in node_update_state ../src/pipewire/impl-node.c:350
#7 0x7f7f33b3b85a in on_state_complete ../src/pipewire/impl-node.c:2132
#8 0x7f7f33c16100 in process_work_queue ../src/pipewire/work-queue.c:87
#9 0x7f7f23315e4b in source_event_func ../spa/plugins/support/loop.c:591
#10 0x7f7f2330f702 in loop_iterate ../spa/plugins/support/loop.c:430
#11 0x7f7f34478c85 in wp_loop_source_dispatch ../subprojects/wireplumber/lib/wp/core.c:42
#12 0x7f7f333bcfae in g_main_context_dispatch (/lib64/libglib-2.0.so.0+0x54fae)
Thread T1 created by T0 here:
#0 0x7f7f347a33e6 in __interceptor_pthread_create (/lib64/libasan.so.8+0x4b3e6)
#1 0x7f7f33c091f5 in impl_create ../src/pipewire/thread.c:87
#2 0x7f7f31a95011 in spa_thread_utils_create ../spa/include/spa/support/thread.h:85
#3 0x7f7f31a99e63 in impl_create ../src/modules/module-rt.c:746
#4 0x7f7f33a261d0 in spa_thread_utils_create ../spa/include/spa/support/thread.h:85
#5 0x7f7f33a29798 in pw_data_loop_start ../src/pipewire/data-loop.c:207
#6 0x7f7f339f9934 in pw_context_new ../src/pipewire/context.c:375
#7 0x7f7f3447aa51 in wp_core_constructed ../subprojects/wireplumber/lib/wp/core.c:288
#8 0x7f7f334c7f4b in g_object_new_internal (/lib64/libgobject-2.0.so.0+0x23f4b)
SUMMARY: AddressSanitizer: heap-use-after-free /usr/lib/gcc/x86_64-redhat-linux/12/include/xmmintrin.h:963 in _mm_store_ss
Shadow bytes around the buggy address:
0x0ff06374a6b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0ff06374a6c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0ff06374a6d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0ff06374a6e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0ff06374a6f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x0ff06374a700:[fd]fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0ff06374a710: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0ff06374a720: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0ff06374a730: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0ff06374a740: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x0ff06374a750: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
==82110==ABORTING
```
```
$ coredumpctl gdb
...
(gdb) up
#13 0x00007f7f1d7c18c6 in impl_node_process (object=0x632000078d28) at ../spa/plugins/audioconvert/audioconvert.c:2601
2601 resample_process(&this->resample, in_datas, &in_len, out_datas, &out_len);
(gdb) p *this
$5 = {
handle = {
version = 0,
get_interface = 0x7f7f1d7c4256 <impl_get_interface>,
clear = 0x7f7f1d7c447b <impl_clear>
},
node = {
iface = {
type = 0x7f7f1d8c93a0 "Spa:Pointer:Interface:Node",
version = 0,
cb = {
funcs = 0x7f7f1d8ff560 <impl_node>,
data = 0x632000078d28
}
}
},
log = 0x7f7f3464c8c0 <wp_spa_log>,
cpu = 0x60e000000400,
cpu_flags = 19419,
max_align = 32,
quantum_limit = 8192,
direction = SPA_DIRECTION_OUTPUT,
props = {
volume = 1,
n_channels = 1,
channel_map = {2, 0 <repeats 63 times>},
channel = {
mute = false,
n_volumes = 1,
volumes = {0.00237037032, 1 <repeats 63 times>}
},
soft = {
mute = false,
n_volumes = 1,
volumes = {1 <repeats 64 times>}
},
monitor = {
mute = false,
n_volumes = 1,
volumes = {1 <repeats 64 times>}
},
have_soft_volume = 1,
mix_disabled = 0,
resample_quality = 4,
resample_disabled = 0,
rate = 1
},
io_position = 0x7f7f1c28d230,
io_rate_match = 0x632000078b50,
info_all = 5,
info = {
max_input_ports = 65,
max_output_ports = 65,
change_mask = 0,
flags = 25,
props = 0x0,
params = 0x632000079200,
n_params = 4
},
params = {{
id = 10,
flags = 2,
user = 0,
padding = {0, 0, 0, 0, 0}
}, {
id = 11,
flags = 7,
user = 0,
padding = {0, 0, 0, 0, 0}
}, {
id = 1,
flags = 2,
user = 0,
padding = {0, 0, 0, 0, 0}
}, {
id = 2,
flags = 6,
user = 0,
padding = {0, 0, 0, 0, 0}
}},
hooks = {
list = {
next = 0x632000078b08,
prev = 0x632000078b08
}
},
monitor = 1,
monitor_channel_volumes = 0,
dir = {{
ports = {0x629000140200, 0x0 <repeats 64 times>},
n_ports = 1,
mode = SPA_PARAM_PORT_CONFIG_MODE_dsp,
format = {
media_type = 1,
media_subtype = 1,
info = {
raw = {
format = SPA_AUDIO_FORMAT_F32P,
flags = 0,
rate = 48000,
channels = 1,
position = {2, 0 <repeats 63 times>}
},
dsp = {
format = SPA_AUDIO_FORMAT_F32P
},
iec958 = {
codec = 518,
flags = 0,
rate = 48000
},
dsd = {
bitorder = (SPA_PARAM_BITORDER_lsb | unknown: 0x204),
flags = 0,
interleave = 48000,
rate = 1,
channels = 2,
position = {0 <repeats 64 times>}
}
}
},
have_format = 1,
have_profile = 1,
latency = {
direction = SPA_DIRECTION_INPUT,
min_quantum = 1,
max_quantum = 1,
min_rate = 0,
max_rate = 0,
min_ns = 0,
max_ns = 0
},
remap = {0 <repeats 65 times>},
conv = {
noise_bits = 0,
method = 0,
src_fmt = 518,
dst_fmt = 518,
n_channels = 1,
rate = 0,
cpu_flags = 0,
func_name = 0x7f7f1d8de900 "conv_copy32d_c",
is_passthrough = 1,
scale = 2.32830644e-10,
random = {855636226, 1749698586, 1469348094, 1956297539, 1036140795, 463480570, 2040651434, 1975960378, 317097467, 1892066601, 1376710097, 927612902, 1330573317, 603570492, 1687926652, 660260756, 959997301, 485560280, 402724286, 593209441, 1194953865, 894429689, 364228444, 1947346619},
prev = {0 <repeats 24 times>},
noise_method = 0,
noise = 0x6210003b3900,
noise_size = 1024,
ns = 0x0,
n_ns = 0,
shaper = {{
e = {0 <repeats 16 times>},
idx = 0,
r = 0
} <repeats 64 times>},
process = 0x7f7f1d80e2e0 <conv_copy32d_c>,
free = 0x7f7f1d7c8610 <impl_convert_free>
},
need_remap = 0,
is_passthrough = 0,
control = 0
}, {
ports = {0x629000145200, 0x62900014a200, 0x0 <repeats 63 times>},
n_ports = 2,
mode = SPA_PARAM_PORT_CONFIG_MODE_convert,
format = {
media_type = 1,
media_subtype = 1,
info = {
raw = {
format = SPA_AUDIO_FORMAT_S16_LE,
flags = 0,
rate = 8000,
channels = 1,
position = {2, 0 <repeats 63 times>}
},
dsp = {
format = SPA_AUDIO_FORMAT_S16_LE
},
iec958 = {
codec = 259,
flags = 0,
rate = 8000
},
dsd = {
bitorder = (SPA_PARAM_BITORDER_msb | SPA_PARAM_BITORDER_lsb | unknown: 0x100),
flags = 0,
interleave = 8000,
rate = 1,
channels = 2,
position = {0 <repeats 64 times>}
}
}
},
have_format = 1,
have_profile = 1,
latency = {
direction = SPA_DIRECTION_OUTPUT,
min_quantum = 0,
max_quantum = 0,
min_rate = 0,
max_rate = 0,
min_ns = 0,
max_ns = 0
},
remap = {0 <repeats 65 times>},
conv = {
noise_bits = 0,
method = 0,
src_fmt = 518,
dst_fmt = 259,
n_channels = 1,
rate = 8000,
cpu_flags = 16,
func_name = 0x7f7f1d8dfbc0 "conv_f32d_to_s16_sse2",
is_passthrough = 0,
scale = 2.32830644e-10,
random = {221558440, 270744729, 1063958031, 1633108117, 2114738097, 2007905771, 1469834481, 822890675, 1610120709, 791698927, 631704567, 498777856, 1255179497, 524872353, 327254586, 1572276965, 269455306, 1703964683, 352406219, 1600028624, 160051528, 2040332871, 112805732, 1120048829},
prev = {0 <repeats 24 times>},
noise_method = 0,
noise = 0x6210003b4d00,
noise_size = 1024,
ns = 0x0,
n_ns = 0,
shaper = {{
e = {0 <repeats 16 times>},
idx = 0,
r = 0
} <repeats 64 times>},
process = 0x7f7f1d870df0 <conv_f32d_to_s16_sse2>,
free = 0x7f7f1d7c8610 <impl_convert_free>
},
need_remap = 0,
is_passthrough = 0,
control = 0
}},
mix = {
src_chan = 1,
dst_chan = 1,
src_mask = 4,
dst_mask = 4,
cpu_flags = 8,
options = 4,
upmix = 2,
log = 0x7f7f3464c8c0 <wp_spa_log>,
func_name = 0x7f7f1d8e7920 "channelmix_copy_sse",
flags = 14,
matrix_orig = {{1, 0 <repeats 63 times>} <repeats 64 times>},
matrix = {{1, 0 <repeats 63 times>}, {0 <repeats 64 times>} <repeats 63 times>},
freq = 48000,
lfe_cutoff = 150,
fc_cutoff = 12000,
rear_delay = 12,
widen = 0,
hilbert_taps = 0,
lr4 = {{
bq = {
b0 = 0,
b1 = 0,
b2 = 0,
a1 = 0,
a2 = 0
},
x1 = 0,
x2 = 0,
y1 = 0,
y2 = 0,
z1 = 0,
z2 = 0,
active = false
} <repeats 64 times>},
buffer = {{0 <repeats 4096 times>}, {0 <repeats 4096 times>}},
pos = {0, 0},
delay = 576,
taps = {1, 0 <repeats 254 times>},
n_taps = 1,
process = 0x7f7f1d84afa0 <channelmix_copy_sse>,
set_volume = 0x7f7f1d7caa00 <impl_channelmix_set_volume>,
free = 0x7f7f1d7ca980 <impl_channelmix_free>,
data = 0x0
},
resample = {
log = 0x7f7f3464c8c0 <wp_spa_log>,
cpu_flags = 8,
func_name = 0x7f7f1d8e8220 "full_sse",
channels = 1,
i_rate = 48000,
o_rate = 8000,
rate = 0,
quality = 4,
free = 0x7f7f1d7e4440 <impl_native_free>,
update_rate = 0x7f7f1d7e3570 <impl_native_update_rate>,
in_len = 0x7f7f1d7e3240 <impl_native_in_len>,
out_len = 0x0,
process = 0x7f7f1d7e4f10 <impl_native_process>,
reset = 0x7f7f1d7e62e0 <impl_native_reset>,
delay = 0x7f7f1d7e3170 <impl_native_delay>,
data = 0x7f7f1b7d5800
},
volume = {
cpu_flags = 8,
func_name = 0x7f7f1d8e8740 "volume_f32_sse",
log = 0x0,
flags = 0,
process = 0x7f7f1d84a5a0 <volume_f32_sse>,
free = 0x7f7f1d7ea6d0 <impl_volume_free>,
data = 0x0
},
rate_scale = 1,
in_offset = 0,
out_offset = 0,
started = 1,
peaks = 0,
is_passthrough = 0,
drained = 0,
empty_size = 76456,
empty = 0x6310000a0800,
scratch = 0x6310000b4800,
tmp = {0x7f7f1aec6800, 0x7f7f1aa06800},
tmp_datas = {{0x7f7f1ba93800, 0x7f7f1ba9cd60, 0x7f7f1baa62c0, 0x7f7f1baaf800, 0x7f7f1bab8d60, 0x7f7f1bac22c0, 0x7f7f1bacb800, 0x7f7f1bad4d60, 0x7f7f1bade2a0, 0x7f7f1bae7800, 0x7f7f1baf0d60, 0x7f7f1bafa2a0, 0x7f7f1bb03800, 0x7f7f1bb0cd60, 0x7f7f1bb162a0, 0x7f7f1bb1f800, 0x7f7f1bb28d40, 0x7f7f1bb322a0, 0x7f7f1bb3b800, 0x7f7f1bb44d40, 0x7f7f1bb4e2a0, 0x7f7f1bb57800, 0x7f7f1bb60d40, 0x7f7f1bb6a2a0, 0x7f7f1bb737e0, 0x7f7f1bb7cd40, 0x7f7f1bb862a0, 0x7f7f1bb8f7e0, 0x7f7f1bb98d40, 0x7f7f1bba22a0, 0x7f7f1bbab7e0, 0x7f7f1bbb4d40, 0x7f7f1bbbe280, 0x7f7f1bbc77e0, 0x7f7f1bbd0d40, 0x7f7f1bbda280, 0x7f7f1bbe37e0, 0x7f7f1bbecd40, 0x7f7f1bbf6280, 0x7f7f1bbff7e0, 0x7f7f1bc08d20, 0x7f7f1bc12280, 0x7f7f1bc1b7e0, 0x7f7f1bc24d20, 0x7f7f1bc2e280, 0x7f7f1bc377e0, 0x7f7f1bc40d20, 0x7f7f1bc4a280, 0x7f7f1bc537c0, 0x7f7f1bc5cd20, 0x7f7f1bc66280, 0x7f7f1bc6f7c0, 0x7f7f1bc78d20, 0x7f7f1bc82280, 0x7f7f1bc8b7c0, 0x7f7f1bc94d20, 0x7f7f1bc9e260, 0x7f7f1bca77c0, 0x7f7f1bcb0d20, 0x7f7f1bcba260, 0x7f7f1bcc37c0, 0x7f7f1bcccd20, 0x7f7f1bcd6260, 0x7f7f1bcdf7c0, 0x7f7f1bce8d00}, {0x7f7f1b831800, 0x7f7f1b83ad60, 0x7f7f1b8442c0, 0x7f7f1b84d800, 0x7f7f1b856d60, 0x7f7f1b8602c0, 0x7f7f1b869800, 0x7f7f1b872d60, 0x7f7f1b87c2a0, 0x7f7f1b885800, 0x7f7f1b88ed60, 0x7f7f1b8982a0, 0x7f7f1b8a1800, 0x7f7f1b8aad60, 0x7f7f1b8b42a0, 0x7f7f1b8bd800, 0x7f7f1b8c6d40, 0x7f7f1b8d02a0, 0x7f7f1b8d9800, 0x7f7f1b8e2d40, 0x7f7f1b8ec2a0, 0x7f7f1b8f5800, 0x7f7f1b8fed40, 0x7f7f1b9082a0, 0x7f7f1b9117e0, 0x7f7f1b91ad40, 0x7f7f1b9242a0, 0x7f7f1b92d7e0, 0x7f7f1b936d40, 0x7f7f1b9402a0, 0x7f7f1b9497e0, 0x7f7f1b952d40, 0x7f7f1b95c280, 0x7f7f1b9657e0, 0x7f7f1b96ed40, 0x7f7f1b978280, 0x7f7f1b9817e0, 0x7f7f1b98ad40, 0x7f7f1b994280, 0x7f7f1b99d7e0, 0x7f7f1b9a6d20, 0x7f7f1b9b0280, 0x7f7f1b9b97e0, 0x7f7f1b9c2d20, 0x7f7f1b9cc280, 0x7f7f1b9d57e0, 0x7f7f1b9ded20, 0x7f7f1b9e8280, 0x7f7f1b9f17c0, 0x7f7f1b9fad20, 0x7f7f1ba04280, 0x7f7f1ba0d7c0, 0x7f7f1ba16d20, 0x7f7f1ba20280, 0x7f7f1ba297c0, 0x7f7f1ba32d20, 0x7f7f1ba3c260, 0x7f7f1ba457c0, 0x7f7f1ba4ed20, 0x7f7f1ba58260, 0x7f7f1ba617c0, 0x7f7f1ba6ad20, 0x7f7f1ba74260, 0x7f7f1ba7d7c0, 0x7f7f1ba86d00}}
}
(gdb) up
#14 0x00007f7f1d75f9ea in impl_node_process (object=0x632000078828) at ../spa/plugins/audioconvert/audioadapter.c:1413
1413 status = this->convert ? spa_node_process(this->convert) : 0;
(gdb) p *this
$6 = {
handle = {
version = 0,
get_interface = 0x7f7f1d760a70 <impl_get_interface>,
clear = 0x7f7f1d760c95 <impl_clear>
},
node = {
iface = {
type = 0x7f7f1d8a8700 "Spa:Pointer:Interface:Node",
version = 0,
cb = {
funcs = 0x7f7f1d8faf40 <impl_node>,
data = 0x632000078828
}
}
},
log = 0x7f7f3464c8c0 <wp_spa_log>,
cpu = 0x60e000000400,
max_align = 32,
direction = SPA_DIRECTION_INPUT,
target = 0x632000078d40,
follower = 0x62300001a540,
follower_listener = {
link = {
next = 0x62300001a578,
prev = 0x62300001a578
},
cb = {
funcs = 0x7f7f1d8fae40 <follower_node_events>,
data = 0x632000078828
},
removed = 0x0,
priv = 0x0
},
follower_flags = 0,
follower_current_format = {
media_type = 1,
media_subtype = 1,
info = {
raw = {
format = SPA_AUDIO_FORMAT_S16_LE,
flags = 0,
rate = 8000,
channels = 1,
position = {2, 0 <repeats 63 times>}
},
dsp = {
format = SPA_AUDIO_FORMAT_S16_LE
},
iec958 = {
codec = 259,
flags = 0,
rate = 8000
},
dsd = {
bitorder = (SPA_PARAM_BITORDER_msb | SPA_PARAM_BITORDER_lsb | unknown: 0x100),
flags = 0,
interleave = 8000,
rate = 1,
channels = 2,
position = {0 <repeats 64 times>}
}
}
},
default_format = {
media_type = 4031300064,
media_subtype = 32764,
info = {
raw = {
format = SPA_AUDIO_FORMAT_F32P,
flags = 0,
rate = 0,
channels = 1,
position = {2, 0 <repeats 63 times>}
},
dsp = {
format = SPA_AUDIO_FORMAT_F32P
},
iec958 = {
codec = 518,
flags = 0,
rate = 0
},
dsd = {
bitorder = (SPA_PARAM_BITORDER_lsb | unknown: 0x204),
flags = 0,
interleave = 0,
rate = 1,
channels = 2,
position = {0 <repeats 63 times>, 878153344}
}
}
},
hnd_convert = 0x632000078d28,
convert = 0x632000078d40,
convert_listener = {
link = {
next = 0x632000079280,
prev = 0x632000079280
},
cb = {
funcs = 0x7f7f1d8faea0 <convert_node_events>,
data = 0x632000078828
},
removed = 0x0,
priv = 0x0
},
convert_flags = 0,
n_buffers = 2,
buffers = 0x63100008c800,
io_buffers = {
status = 1,
buffer_id = 0
},
io_rate_match = {
delay = 172,
size = 49155,
rate = 1,
flags = 0,
padding = {0, 0, 0, 0, 0, 0, 0}
},
io_position = 0x7f7f1c28d230,
info_all = 5,
info = {
max_input_ports = 65,
max_output_ports = 0,
change_mask = 0,
flags = 9,
props = 0x0,
params = 0x632000078bc0,
n_params = 8
},
params = {{
id = 3,
flags = 3,
user = 0,
padding = {0, 0, 0, 0, 0}
}, {
id = 1,
flags = 2,
user = 0,
padding = {0, 0, 0, 0, 0}
}, {
id = 2,
flags = 6,
user = 0,
padding = {0, 0, 0, 0, 0}
}, {
id = 4,
flags = 6,
user = 0,
padding = {0, 0, 0, 0, 0}
}, {
id = 10,
flags = 3,
user = 0,
padding = {0, 0, 0, 0, 0}
}, {
id = 11,
flags = 7,
user = 0,
padding = {0, 0, 0, 0, 0}
}, {
id = 15,
flags = 6,
user = 0,
padding = {0, 0, 0, 0, 0}
}, {
id = 16,
flags = 6,
user = 0,
padding = {0, 0, 0, 0, 0}
}},
convert_params_flags = {0, 2, 6, 0, 2, 7, 0, 0},
follower_params_flags = {2, 2, 6, 6, 0, 0, 7, 0},
hooks = {
list = {
next = 0x61d000871a10,
prev = 0x61d000871a10
}
},
callbacks = {
funcs = 0x7f7f22cf0480 <node_callbacks>,
data = 0x61300012c638
},
add_listener = 0,
have_format = 1,
started = 1,
driver = 1,
async = 0,
passthrough = 0,
follower_removing = 0
}
```
</details>https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2627JACK client process callback is not called often enough2022-08-09T04:20:30Zalex-teeJACK client process callback is not called often enough<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
- PipeWire version (`pipewire --version`): 0.3.56
- Distribution and distribution version (`PRETTY_NAME` from `/etc/os-release`...<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
- PipeWire version (`pipewire --version`): 0.3.56
- Distribution and distribution version (`PRETTY_NAME` from `/etc/os-release`): pure arch linux
- Desktop Environment: gnome
- Kernel version (`uname -r`): 5.18.16-arch1-1
## Description of Problem:
The JACK process callback is called once every few seconds in Zrythm which is too infrequent for any meaningful processing.
## How Reproducible:
Seems like it only happens on my machine and only in Zrythm (other JACK apps like Ardour seem to work fine)
### Steps to Reproduce:
1. Start Zrythm (from flathub) with the JACK/JACK MIDI backends
2. Press play
3. Playhead moves a little once every few seconds because pipewire does not call the client process function often enough
### Actual Results:
JACK client process() callback not called often enough
### Expected Results:
JACK client process() callback being called regularly (every few ms depending on buffer size)
# Additional Info (as attachments):
`G_MESSAGES_DEBUG=zrythm GSETTINGS_SCHEMA_DIR=/home/alex/local/share/glib-2.0/schemas MALLOC_CHECK_=3 PIPEWIRE_DEBUG=5 PIPEWIRE_LOG_SYSTEMD=false pw-jack build/src/zrythm`:
[log2.txt](/uploads/973a8d24dbf338f9427b930b4cc53c05/log2.txt)
I marked the start and end of the process callback with `----PROCESS START----` and `----PROCESS END----` messages - you can see it was only called once every few secondshttps://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2625Creating and destroying a DSD128 stream right after a DSD64 one fails; a PCM ...2022-08-31T08:06:10ZCarlos Rafael GianiCreating and destroying a DSD128 stream right after a DSD64 one fails; a PCM stream must be created and then destroyed in between<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
- PipeWire version (`pipewire --version`): 0.3.56 (git master actually, at commit 04a3f5172263b6df89d5cbcc9f8b83466f70da0d )
- ...<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
- PipeWire version (`pipewire --version`): 0.3.56 (git master actually, at commit 04a3f5172263b6df89d5cbcc9f8b83466f70da0d )
- Distribution and distribution version (`PRETTY_NAME` from `/etc/os-release`): Ubuntu 22.04 LTS
- Desktop Environment: KDE 5
- Kernel version (`uname -r`): 5.15.0-43-generic
## Description of Problem:
A DSD128 pw_stream cannot be created and activated right after a DSD64 stream was created, activated, then deactivated, and torn down.
## How Reproducible:
Create a pw_stream for DSD64 data, activate it to get it to run, and then deactivate and destroy it. Afterwards, create and run another DSD stream, but this time, it is a DSD128 one. The only difference is the rate. When this is attempted, activating the second stream fails. The way to get this to work is to create, run, and then tear down a PCM stream in between.
### Actual Results:
Second stream (the DSD128) never reaches the RUNNING state unless a PCM stream was created and ran in between the first (the DSD64 stream) and the last (the DSD128 stream).
### Expected Results:
All streams run properly.
# Additional Info (as attachments):
- `pw-dump > pw-dump.log`: [pw-dump.log](/uploads/3a04f3e139a91f6b7742228e955c100e/pw-dump.log)
- `pw-dot` : [pw.dot](/uploads/b7faa3eefd5725b1734b69d29debcc4e/pw.dot)
- test code : [test-switch-between-dsd-formats.c](/uploads/e3aac4e48ea64b68f4dca6cb809b9742/test-switch-between-dsd-formats.c)
Build the test code with: `gcc -O0 -g3 -ggdb -Wextra -Wall -std=gnu99 -pedantic -o test-switch-between-dsd-formats test-switch-between-dsd-formats.c $(pkg-config --cflags --libs libpipewire-0.3) -Wno-unused-parameter`https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2624Pipewire IRC chat issue2022-12-12T16:15:59ZElliott DysonPipewire IRC chat issueHey guys, wanted to chat on the IRC channel but seems permission for new users to chat is disabled? Not sure what's happening there.Hey guys, wanted to chat on the IRC channel but seems permission for new users to chat is disabled? Not sure what's happening there.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2623Jack clients break unsless there is other audio playing2023-05-15T12:57:26ZGustawJack clients break unsless there is other audio playing<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
- PipeWire version (`pipewire --version`): Compiled with libpipewire 0.3.56, Linked with libpipewire 0.3.56
- Distribution and ...<!-- If you are filing this issue with a regular release please try master as it might already be fixed. -->
- PipeWire version (`pipewire --version`): Compiled with libpipewire 0.3.56, Linked with libpipewire 0.3.56
- Distribution and distribution version (`PRETTY_NAME` from `/etc/os-release`): Arch Linux
- Desktop Environment: AwesomeWM wiht xfce elements
- Kernel version (`uname -r`): 5.18.16-arch1-1
## Description of Problem:
After some update - not sure which - I started having problem with launching jack applications. I discovered that I need to have some other sound application playing (like firefox, or mpv). Otherwise I get ERR in pw-top rising to crazy amounts (like 10-50 per second), WAIT, BUSY, W/Q and B/Q are +++:
```
S ID QUANT RATE WAIT BUSY W/Q B/Q ERR NAME
28 1024 96000 10,2ms 0,1µs 0,96 0,00 0 Dummy-Driver
! 77 0 0 +++ +++ +++ +++ 562 + Carla
```
```
S ID QUANT RATE WAIT BUSY W/Q B/Q ERR NAME
! 28 0 0 0,0µs 0,0µs 0,00 0,00 0 Dummy-Driver
! 29 0 0 0,0µs 0,0µs 0,00 0,00 0 Freewheel-Driver
! 39 0 0 0,0µs 0,0µs 0,00 0,00 0 Midi-Bridge
57 1024 96000 10,7ms 7,7µs 1,00 0,00 0 alsa_output.usb-PreSonus_PreSonus_AudioBo
! 77 1024 96000 +++ +++ +++ +++ 51448 + Carla
! 55 0 0 0,0µs 0,0µs 0,00 0,00 0 alsa_input.usb-PreSonus_PreSonus_AudioBo
! 87 0 0 0,0µs 0,0µs 0,00 0,00 0 Surge XT
```
Those +++ persist even when it switches to actual alsa device from Dummy Driver.
when I add some plugin like Surge XT - it shows "Audio Output Unavailable" and doesn't play any sound. Carla and Ardour also show DSP load 100%.
There seem to be ALSA lib errors (Attached below) when I try to use Ardour, for Carla there is no output after `
libjack.so.0 loaded successfully!`
My workaround for now is this script:
```
#!/bin/sh
samples=96000;
mpv --volume=0 ~/Music/Terraria/Terraria_Soundtrack_01-Overworld-Day.mp3 &
pw-metadata -n settings 0 clock.rate $samples;
sleep 2;
PIPEWIRE_LATENCY="256/$samples" pw-jack /usr/bin/carla ~/carla-test.carxp &
sleep 1;
kill %1
```
With that script it works good usually. It will still break in Carla sometimes when mpv closes and I don't add any plugin making sound before mpv closes. Or if I remove all plugins after mpv closed, WAIT a few seconds (if I don't wait, it won't break) and than add one back again.
For Ardour kill %1 actually needs to be just before launching it... Dunno why, but it works usually.
## How Reproducible:
I have no idea. I get that consistently on one of my computers. I have very similar setup on my laptop and it works fine there even with the same audio interface. Please let me know about any additional information that I could attach and could be useful.
### Actual Results:
jack aplications don't produce sound, Ardour won't even play the timeline.
### Expected Results:
jack aplications working normally.
```
S ID QUANT RATE WAIT BUSY W/Q B/Q ERR NAME
! 28 0 0 0,0µs 0,0µs 0,00 0,00 0 Dummy-Driver
! 29 0 0 0,0µs 0,0µs 0,00 0,00 0 Freewheel-Driver
! 40 0 0 0,0µs 0,0µs 0,00 0,00 0 Midi-Bridge
59 256 96000 52,1µs 3,5µs 0,02 0,00 0 alsa_output.usb-PreSonus_PreSonus_AudioB
83 256 96000 10,0µs 1,0µs 0,00 0,00 0 + Carla
81 256 96000 9,5µs 35,2µs 0,00 0,01 27 + Surge XT
! 60 0 0 0,0µs 0,0µs 0,00 0,00 0 alsa_input.usb-PreSonus_PreSonus_AudioBo
```
# Additional Info (as attachments):
- `pw-dump > broken-carla.log`: [broken-carla.log](/uploads/6fb5a87036952c581ea7814c6e44f1a6/broken-carla.log)
- I tried switching wireplumber to pipewire-media-session (with a reboot in between), but the result was the same.
- `pw-jack /usr/bin/ardour6 > broken-ardour.log`: [broken-ardour.log](/uploads/65c530f4183370d7b228cc5dcd38f4f1/broken-ardour.log)https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2622Microphone does not react to sound (but is detected and looks okay)2022-09-16T08:09:19ZKonstantin KharlamovMicrophone does not react to sound (but is detected and looks okay)- PipeWire version:
```
pipewire
Compiled with libpipewire 0.3.56
Linked with libpipewire 0.3.56
```
- Distribution and distribution version: *Fedora Linux 36 (Workstation Edition)*
- Desktop Environment: *Plasma + i3*
- Kernel...- PipeWire version:
```
pipewire
Compiled with libpipewire 0.3.56
Linked with libpipewire 0.3.56
```
- Distribution and distribution version: *Fedora Linux 36 (Workstation Edition)*
- Desktop Environment: *Plasma + i3*
- Kernel version: *5.18.15-lqx2.0.fc36.x86_64*
## Description of Problem:
Works with PulseAudio, so a PipeWire-specific problem.
Opening `pavucontrol` and going to "Input Device" would reveal a "Internal Microphone". It has a noise-slider below, which wobbles, as if it detects a micro noise. But then, if you start making actual noise, that slider won't react to it at all.
Needless to say, Skype detects no sound as well.
Workaround: going back to PulseAudio makes it work.
### Steps to Reproduce:
1. Open `pavucontrol` and go to "Input Device" tab
2. Start watching the noise-slider, which wobbles a bit
3. Make noise by clapping your hands
### Actual Results:
The slider will remain low as if nothing happening
### Expected Results:
The slider would go up as you making noise
# Additional Info (as attachments):
- `pw-dump > pw-dump.log`: [pw-dump.log](/uploads/bd24c2e955bebbcb37050e034175fffd/pw-dump.log)
- the system is a new week-old Fedora 36 installation
- laptop: Lenovo ideapad 320-15ISKhttps://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2621gcc verion requirement for PipeWire2022-08-05T17:26:40ZSavidha Egcc verion requirement for PipeWireObserved below error while compiling PipeWire with 4.8 gcc version.
FAILED: spa/plugins/alsa/libspa-alsa.so.p/alsa.c.o
cc -Ispa/plugins/alsa/libspa-alsa.so.p -Ispa/plugins/alsa -I../spa/plugins/alsa -I. -I.. -Ispa/include -I../spa/inc...Observed below error while compiling PipeWire with 4.8 gcc version.
FAILED: spa/plugins/alsa/libspa-alsa.so.p/alsa.c.o
cc -Ispa/plugins/alsa/libspa-alsa.so.p -Ispa/plugins/alsa -I../spa/plugins/alsa -I. -I.. -Ispa/include -I../spa/include -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=gnu99 -O2 -g -fvisibility=hidden -Werror=suggest-attribute=format -Wsign-compare -Wpointer-arith -Wpointer-sign -Wformat -Wformat-security -Wmissing-braces -Wtype-limits -Wvariadic-macros -Wmaybe-uninitialized -Wno-missing-field-initializers -Wno-unused-parameter -Wno-pedantic -Wold-style-declaration -Wdeprecated-declarations -Wunused-result -D_GNU_SOURCE -DFASTPATH -fPIC -DHAVE_ALSA_UCM -DHAVE_READLINK -MD -MQ spa/plugins/alsa/libspa-alsa.so.p/alsa.c.o -MF spa/plugins/alsa/libspa-alsa.so.p/alsa.c.o.d -o spa/plugins/alsa/libspa-alsa.so.p/alsa.c.o -c ../spa/plugins/alsa/alsa.c
In file included from ../spa/plugins/alsa/alsa.c:28:0:
../spa/include/spa/support/log.h:215:12: error: initializer element is not constant
(struct spa_log_topic){ .version = v, .topic = (t)}
**Requesting to provide required minimum gcc version to compile PipeWire component.**https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2618Issue with teamspeak sound output and pipewire 0.3.562023-11-09T11:37:24ZEmmanuel PacaudIssue with teamspeak sound output and pipewire 0.3.56- pipewire 0.3.56-1
- updated fedora 36
- GNOME
- Teamspeak from flathub
- kernel 5.18.13-200.fc36.x86_64
## Description of Problem:
I have a hard time to make Teamspeak works with a Jabra speaker and pipewire 0.3.56
Almost every time,...- pipewire 0.3.56-1
- updated fedora 36
- GNOME
- Teamspeak from flathub
- kernel 5.18.13-200.fc36.x86_64
## Description of Problem:
I have a hard time to make Teamspeak works with a Jabra speaker and pipewire 0.3.56
Almost every time, I'm not able to make Teamspeak emit any sound to my Jabra Speak 510 speaker. It works fine with the integrated audio output of my Dell Latitude 5300 laptop. Microphone always work fine, either the integrated one, or the Jabra one.
When I'm selecting either Analog Jabra 510 or Digital Jabra 510 in GNOME settings, then launch Teamspeak, I have noticed 2 things:
- the log is filled with `pipewire[6250]: spa.alsa: iec958:1: snd_pcm_avail after recover: Relais brisé (pipe)` lines
- the output test in GNOME settings application does not work. When I click on one of the 2 test buttons, nothing happen, until I disconnect the Jabra speaker (The test sound is emitted as soon as the Jabara is disconnected, I don't have to click again on the test button).
Downgrading to pipewire 0.3.49 (dnf downgrade pipewire) seemed to fix the issue.https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2617pw_filter: this fault was caused by a dereference of a high value address2023-02-08T17:20:22ZWellington Wallace Miguel Melopw_filter: this fault was caused by a dereference of a high value addressI am not sure if it started with `0.3.56` or `0.3.55` but it is a recent bug. Sometimes when PipeWire changes sampling rate from `48 kHz` to `44.1 kHz` I see a crash in EasyEffects when trying to read values from the buffers returned by ...I am not sure if it started with `0.3.56` or `0.3.55` but it is a recent bug. Sometimes when PipeWire changes sampling rate from `48 kHz` to `44.1 kHz` I see a crash in EasyEffects when trying to read values from the buffers returned by `pw_filter_get_dsp_buffer`. In a binary compiled with sanatizer support the sanatizer gives the error message in this issue's title.
I check if the pointer `pw_filter_get_dsp_buffer` returns is null. So that is not the problem. In my system when the latency changes from 48 kHz to 44.1 kHz the quantum size changes from `2048` to `1024`. It is when trying to read values from the new buffer that the crash happens.
It isn't an easy to reproduce bug. Most of the times nothing bad happens when PipeWire switches rate. The bug seems to be random.