@jonas Jonas: I complete understand, and this bug does not seem to be a strawberry bug. My son suggested I consult OpenAI Codex for a solution. It did not provide a solution, but did diagnose the problem and developed a kludgy workaround. Most of the following text is written by Codex:
The issue seems to be tied specifically to Strawberry being left in the Paused state under WSLg, if I swtich to another window or open Settings. If I Stop playback before changing settings, playback can be restarted normally. If I Pause playback, then either change settings or sometimes just switch away from Strawberry and come back, playback can become unresponsive.
While debugging, pactl sometimes showed Strawberry’s PulseAudio stream stuck/corked, and other times Strawberry had no active sink-input even though the app still thought it could resume. Plain GStreamer playback of the same MP3 worked when run outside Strawberry, so the strongest clue is that Strawberry/GStreamer’s paused pipeline does not survive some WSLg/PulseAudio state transition.
The workaround Codex developed for me is:
launch Strawberry with explicit WSLg-safe environment: QT_QPA_PLATFORM=xcb PULSE_SERVER=unix:/mnt/wslg/PulseServer XDG_RUNTIME_DIR=/mnt/wslg/runtime-dir keep Strawberry output as pulsesink disable playbin3, crossfade/fade effects, loudness normalization, and Strawberry volume control run a small user service that watches Strawberry’s MPRIS state. If Strawberry stays paused for more than ~10 seconds, or if settings are saved while paused, it records the playback position, sends Stop, and then seeks back to the saved position when playback starts again.This is definitely a workaround, not a real fix. The practical conclusion is: Stop is safe, but Pause is fragile under WSLg.
This makes Strawberry on WSLg usable for now, but it confirms the bug is around the paused playback state. I will submit a bug report to WSLg about this (yeah, Codex is helping me on that, too)