Merge PR #7887: fix(natives): port wayland capture to pipewire 0.9 Rc handle API (@roboomp)

This commit is contained in:
can1357
2026-08-07 13:37:56 +02:00
2 changed files with 7 additions and 4 deletions
@@ -147,11 +147,11 @@ fn rgba_from_buffer(
fn grab_pipewire_frame(node: u32, fd: OwnedFd) -> Result<RgbaImage, String> {
pw::init();
let mainloop =
pw::main_loop::MainLoop::new(None).map_err(|err| format!("PipeWire main loop: {err}"))?;
let context =
pw::context::Context::new(&mainloop).map_err(|err| format!("PipeWire context: {err}"))?;
pw::main_loop::MainLoopRc::new(None).map_err(|err| format!("PipeWire main loop: {err}"))?;
let context = pw::context::ContextRc::new(&mainloop, None)
.map_err(|err| format!("PipeWire context: {err}"))?;
let core = context
.connect_fd(fd, None)
.connect_fd_rc(fd, None)
.map_err(|err| format!("PipeWire remote: {err}"))?;
let stream = pw::stream::StreamBox::new(&core, "omp-computer-capture", properties! {
*pw::keys::MEDIA_TYPE => "Video",