From e10b6f14497be68f21140a06afa666f2d10b2155 Mon Sep 17 00:00:00 2001 From: arabian Date: Mon, 13 Oct 2025 23:51:37 +0300 Subject: [PATCH] call pipewire::init in every pipewire thread --- src/utils/pipewire.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/utils/pipewire.rs b/src/utils/pipewire.rs index 2c82c09..da06cbe 100644 --- a/src/utils/pipewire.rs +++ b/src/utils/pipewire.rs @@ -77,6 +77,8 @@ async fn pw_get_global_objects_thread( main_sender: mpsc::Sender<(Option, Option)>, pw_receiver: pipewire::channel::Receiver, ) { + pipewire::init(); + let main_loop = MainLoopRc::new(None).expect("Failed to initialize pipewire main loop"); // Stop main loop on Terminate message @@ -216,6 +218,8 @@ pub fn create_virtual_mic() -> Result, Box< let (pw_sender, pw_receiver) = pipewire::channel::channel::(); let _pw_thread = thread::spawn(move || { + pipewire::init(); + let main_loop = MainLoopRc::new(None).expect("Failed to initialize pipewire main loop"); let context = ContextRc::new(&main_loop, None).expect("Failed to create pipewire context"); let core = context @@ -257,6 +261,8 @@ pub fn create_link( let (pw_sender, pw_receiver) = pipewire::channel::channel::(); let _pw_thread = thread::spawn(move || { + pipewire::init(); + let main_loop = MainLoopRc::new(None).expect("Failed to initialize pipewire main loop"); let context = ContextRc::new(&main_loop, None).expect("Failed to create pipewire context"); let core = context