aports/community/kodi/pipewire-thread-loop-unlock-error.patch

38 lines
1 KiB
Diff

Patch-Source: https://github.com/xbmc/xbmc/pull/26126
---
From 9530076d0cc3e240c9f0ef3b4a29af03d898fc1e Mon Sep 17 00:00:00 2001
From: Stephan <40370954+stephan49@users.noreply.github.com>
Date: Thu, 19 Dec 2024 02:16:55 -0500
Subject: [PATCH] PipeWire: fix thread loop unlock error
---
xbmc/cores/AudioEngine/Sinks/pipewire/Pipewire.cpp | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/xbmc/cores/AudioEngine/Sinks/pipewire/Pipewire.cpp b/xbmc/cores/AudioEngine/Sinks/pipewire/Pipewire.cpp
index 25b5518d32a5f..8e2e094236773 100644
--- a/xbmc/cores/AudioEngine/Sinks/pipewire/Pipewire.cpp
+++ b/xbmc/cores/AudioEngine/Sinks/pipewire/Pipewire.cpp
@@ -29,15 +29,19 @@ CPipewire::CPipewire()
CPipewire::~CPipewire()
{
+ if (m_loop)
+ m_loop->Lock();
+
+ m_registry.reset();
+ m_core.reset();
+ m_context.reset();
+
if (m_loop)
{
m_loop->Unlock();
m_loop->Stop();
}
- m_registry.reset();
- m_core.reset();
- m_context.reset();
m_loop.reset();
pw_deinit();