pipewire: log screen capture start failures
This commit is contained in:
@@ -293,19 +293,18 @@ impl ScreenRenderer {
|
|||||||
output: &WlxOutput,
|
output: &WlxOutput,
|
||||||
token: Option<&str>,
|
token: Option<&str>,
|
||||||
session: &AppSession,
|
session: &AppSession,
|
||||||
) -> Option<(
|
) -> anyhow::Result<(
|
||||||
ScreenRenderer,
|
ScreenRenderer,
|
||||||
Option<String>, /* pipewire restore token */
|
Option<String>, /* pipewire restore token */
|
||||||
)> {
|
)> {
|
||||||
let name = output.name.clone();
|
let name = output.name.clone();
|
||||||
let embed_mouse = !session.config.double_cursor_fix;
|
let embed_mouse = !session.config.double_cursor_fix;
|
||||||
let select_screen_result =
|
let select_screen_result =
|
||||||
futures::executor::block_on(pipewire_select_screen(token, embed_mouse, true, true))
|
futures::executor::block_on(pipewire_select_screen(token, embed_mouse, true, true))?;
|
||||||
.ok()?;
|
|
||||||
|
|
||||||
let capture = PipewireCapture::new(name, select_screen_result.node_id, 60);
|
let capture = PipewireCapture::new(name, select_screen_result.node_id, 60);
|
||||||
|
|
||||||
Some((
|
Ok((
|
||||||
ScreenRenderer {
|
ScreenRenderer {
|
||||||
name: output.name.clone(),
|
name: output.name.clone(),
|
||||||
capture: Box::new(capture),
|
capture: Box::new(capture),
|
||||||
@@ -551,17 +550,26 @@ where
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some((renderer, restore_token)) = ScreenRenderer::new_pw(output, token, session) {
|
match ScreenRenderer::new_pw(output, token, session) {
|
||||||
capture = Some(renderer);
|
Ok((renderer, restore_token)) => {
|
||||||
|
capture = Some(renderer);
|
||||||
|
|
||||||
if let Some(token) = restore_token {
|
if let Some(token) = restore_token {
|
||||||
if pw_token_store
|
if pw_token_store
|
||||||
.insert(String::from(display_name), token.clone())
|
.insert(String::from(display_name), token.clone())
|
||||||
.is_none()
|
.is_none()
|
||||||
{
|
{
|
||||||
log::info!("Adding Pipewire token {}", token);
|
log::info!("Adding Pipewire token {}", token);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Err(e) => {
|
||||||
|
log::warn!(
|
||||||
|
"{}: Failed to create Pipewire capture: {:?}",
|
||||||
|
&output.name,
|
||||||
|
e
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if let Some(capture) = capture {
|
if let Some(capture) = capture {
|
||||||
|
|||||||
Reference in New Issue
Block a user