commit eff3ae3e2d6b5c04f93abff9f9c1db7936d98bc5
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Jun 23 18:53:43 2024 +0200

    spd: Fix crash on cancelling with server audio
    
    The audio thread may call speak_queue_stop_or_pause after speaking_module is
    cleared by is_sb_speaking.

diff --git a/src/server/output.c b/src/server/output.c
index 35423a2e..6a9543c9 100644
--- a/src/server/output.c
+++ b/src/server/output.c
@@ -952,6 +952,9 @@ static void output_queue_event(speak_queue_entry *entry)
 {
 	char c = 0;
 	int ret;
+	if (!speaking_module)
+		// We were cancelled
+		return;
 	pthread_mutex_lock(&playback_events_mutex);
 	playback_events = g_slist_append(playback_events, entry);
 	pthread_mutex_unlock(&playback_events_mutex);
