From 069068ba2f925fc40e36ae6a25322edb2114a4e2 Mon Sep 17 00:00:00 2001
From: Andreas Baierl <ichgeh@imkreisrum.de>
Date: Fri, 30 May 2025 09:42:51 +0200
Subject: [PATCH 24/24] WIP: try to fix deadlock when stream lacks audio

---
 audio.cpp | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/audio.cpp b/audio.cpp
index 55ef34e..137a0e8 100644
--- a/audio.cpp
+++ b/audio.cpp
@@ -1247,6 +1247,12 @@ static void *AudioPlayHandlerThread(void *dummy)
 				return PTHREAD_CANCELED;
 			}
 
+			if (!AudioRingBuffer->UsedBytes()) {
+				Debug2(L_SOUND, "AudioPlayHandlerThread: ring butter is empty, HwSampleRate %d", HwSampleRate);
+				usleep(5000);
+				continue;
+			}
+
 			// try to play some samples
 			AlsaPlayer();
 
@@ -1256,7 +1262,7 @@ static void *AudioPlayHandlerThread(void *dummy)
 
 			if (AlsaPlayerStop)
 				break;
-		} while (AudioRingBuffer->UsedBytes());
+		} while (HwSampleRate);
 	}
 	return dummy;
 }
-- 
2.39.5

