https://bugs.kde.org/show_bug.cgi?id=527744
Sergey Kostrukov <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #3 from Sergey Kostrukov <[email protected]> --- I can reproduce this on Arch Linux (Elisa 26.08.2, libvlc 3.0.24, PipeWire 1.6.10, alsa-lib 1.2.16.1, Plasma 6.8.1). Elisa freezes consistently when switching to the next track. It started right after PipeWire was upgraded from 1.6.9 to 1.6.10. The hang seems to be in PipeWire's ALSA plugin rather than in Elisa. Elisa (libvlc) was using VLC's ALSA output, which goes through the pipewire-alsa plugin. A stack of the hung process shows a chain of waits: - main thread: libvlc_media_player_stop -> input_Close (joins the input thread) - input thread: input_DecoderDelete (joins the decoder thread) - decoder thread: aout_DecFlush -> VLC alsa.c Flush(wait=true) -> snd_pcm_drain -> snd_pcm_ioplug_drain -> snd_pcm_pipewire_drain (pcm_pipewire.c:502), which waits forever in pw_thread_loop_wait This matches PipeWire issue #5544, "ALSA PipeWire plugin: aplay hangs indefinitely during drain after XRUN": https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/5544 PipeWire 1.6.10 includes commit a2672a3f "alsa-plugin: use snd_pcm_ioplug_set_state to set XRUN". That commit can move the PCM from DRAINING to XRUN while it drains, so the plugin's drain never completes. The same hang happens without Elisa: "aplay -D pipewire <short wav>" never exits. Workaround: install VLC's PulseAudio output plugin (vlc-plugin-pulse on Arch). libvlc then prefers it over ALSA and talks to pipewire-pulse directly. With it installed, Elisa switches tracks normally for me. -- You are receiving this mail because: You are watching all bug changes.
