From 23f5ee0d22e9dc48cc7facede5d1c9f3f28eb989 Mon Sep 17 00:00:00 2001 From: arabian Date: Fri, 26 Sep 2025 23:25:30 +0300 Subject: [PATCH] change code to work with pipewire 0.9.2 --- src/utils/pipewire.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/utils/pipewire.rs b/src/utils/pipewire.rs index fa66522..d5807a6 100644 --- a/src/utils/pipewire.rs +++ b/src/utils/pipewire.rs @@ -1,6 +1,6 @@ use crate::types::pipewire::{AudioDevice, DeviceType, Port, Terminate}; use pipewire::{ - context::Context, link::Link, main_loop::MainLoop, properties::properties, + context::ContextRc, link::Link, main_loop::MainLoopRc, properties::properties, registry::GlobalObject, spa::utils::dict::DictRef, }; use std::{collections::HashMap, error::Error, thread}; @@ -77,7 +77,7 @@ async fn pw_get_global_objects_thread( main_sender: mpsc::Sender<(Option, Option)>, pw_receiver: pipewire::channel::Receiver, ) { - let main_loop = MainLoop::new(None).expect("Failed to initialize pipewire main loop"); + let main_loop = MainLoopRc::new(None).expect("Failed to initialize pipewire main loop"); // Stop main loop on Terminate message let _receiver = pw_receiver.attach(main_loop.loop_(), { @@ -85,7 +85,7 @@ async fn pw_get_global_objects_thread( move |_| _main_loop.quit() }); - let context = Context::new(&main_loop).expect("Failed to create pipewire context"); + let context = ContextRc::new(&main_loop, None).expect("Failed to create pipewire context"); let core = context .connect(None) .expect("Failed to connect to pipewire context"); @@ -216,8 +216,8 @@ pub fn create_virtual_mic() -> Result, Box< let (pw_sender, pw_receiver) = pipewire::channel::channel::(); let _pw_thread = thread::spawn(move || { - let main_loop = MainLoop::new(None).expect("Failed to initialize pipewire main loop"); - let context = Context::new(&main_loop).expect("Failed to create pipewire context"); + 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 .connect(None) .expect("Failed to connect to pipewire context"); @@ -257,8 +257,8 @@ pub fn create_link( let (pw_sender, pw_receiver) = pipewire::channel::channel::(); let _pw_thread = thread::spawn(move || { - let main_loop = MainLoop::new(None).expect("Failed to initialize pipewire main loop"); - let context = Context::new(&main_loop).expect("Failed to create pipewire context"); + 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 .connect(None) .expect("Failed to connect to pipewire context");