pipewire: log screen capture start failures

This commit is contained in:
galister
2024-03-16 11:27:10 +01:00
parent deb43f0d94
commit 31ec035db7

View File

@@ -293,19 +293,18 @@ impl ScreenRenderer {
output: &WlxOutput,
token: Option<&str>,
session: &AppSession,
) -> Option<(
) -> anyhow::Result<(
ScreenRenderer,
Option<String>, /* pipewire restore token */
)> {
let name = output.name.clone();
let embed_mouse = !session.config.double_cursor_fix;
let select_screen_result =
futures::executor::block_on(pipewire_select_screen(token, embed_mouse, true, true))
.ok()?;
futures::executor::block_on(pipewire_select_screen(token, embed_mouse, true, true))?;
let capture = PipewireCapture::new(name, select_screen_result.node_id, 60);
Some((
Ok((
ScreenRenderer {
name: output.name.clone(),
capture: Box::new(capture),
@@ -551,7 +550,8 @@ where
);
}
if let Some((renderer, restore_token)) = ScreenRenderer::new_pw(output, token, session) {
match ScreenRenderer::new_pw(output, token, session) {
Ok((renderer, restore_token)) => {
capture = Some(renderer);
if let Some(token) = restore_token {
@@ -563,6 +563,14 @@ where
}
}
}
Err(e) => {
log::warn!(
"{}: Failed to create Pipewire capture: {:?}",
&output.name,
e
);
}
}
}
if let Some(capture) = capture {
let backend = Box::new(SplitOverlayBackend {