copilot-swe-agent[bot] 1d03bb2178 GstEnginePipeline: Fix crash in GStreamer decodebin3 when switching tracks
Add guard in AboutToFinishCallback to prevent race condition when pipeline is being torn down. This prevents the callback from trying to set next URL while the pipeline is being destroyed, which caused crashes in GStreamer's decodebin3.

Fixes issue where rapidly switching tracks could cause segmentation fault in gst_decodebin_input_link_to_slot.

See: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4626

Fixes #1863

Co-Authored-By: Jonas Kvinge <jonas@jkvinge.net>
2025-12-18 19:44:03 +01:00
2025-12-08 23:49:48 +01:00
2025-12-17 01:05:45 +01:00
2025-12-09 18:45:57 +01:00
2025-12-17 00:08:06 +01:00
2025-12-09 01:16:41 +01:00
2025-12-17 00:08:06 +01:00
2018-02-27 18:06:05 +01:00
2025-12-09 18:45:57 +01:00
2018-05-01 02:54:16 +02:00
2024-10-20 00:06:42 +02:00
2025-12-09 18:45:57 +01:00

🍓 Strawberry Music Player Build Status

Sponsor Patreon PayPal

Strawberry is a music player and music collection organizer, originally forked from Clementine in 2018. Its written in C++ using the Qt framework, designed for audiophiles and music collectors.

Screenshot of Strawberry Music Player


🌐 Resources


⚠️ Opening an Issue

Before creating a new GitHub issue:

  1. Read the FAQ.
  2. Search existing issues to avoid duplicates. If one already exists, comment there with any additional information.
  3. Use the forum for technical problems, discussions or feature suggestions — its better suited for back-and-forth conversation.
  4. Feature requests are not accepted on GitHub. Issues created for feature requests will be closed. You can still discuss ideas on the forum.
  5. Flatpak users: We do not maintain the Flatpak package. Report Flatpak-specific issues via Flatpak support.

💰 Sponsoring

Strawberry is free software released under the GPL. If you enjoy using it, please consider supporting development through sponsorship or donation.

Sponsorship options:

  1. Patreon
  2. GitHub
  3. Ko-fi
  4. PayPal

Supporting open-source developers helps ensure continued maintenance and improvements.


Features


Tested on Linux, OpenBSD, FreeBSD, macOS, and Windows.

Note: macOS and Windows releases are currently available to sponsors only. A monthly sponsorship via Patreon grants direct access to new releases.


⚙️ Requirements

To build Strawberry from source, youll need:

Dependencies:

Dependencies for optional features:

Also install GStreamer plugins base, good, and optionally bad, ugly and libav for full codec support.


🔧 Build from Source

Get the code:

git clone --recursive https://github.com/strawberrymusicplayer/strawberry

Build and install:

cd strawberry
cmake -S . -B build
cmake --build build --parallel $(nproc)
sudo cmake --install build

For building on Windows with Visual Studio 2022, see: 👉 https://github.com/strawberrymusicplayer/strawberry-msvc


📦 Packaging status

Packaging status

Description
🍓 Strawberry Music Player
Readme 67 MiB
Languages
C++ 95%
CMake 1.5%
Objective-C++ 1.3%
Shell 1.2%
Objective-C 0.3%
Other 0.6%