mirrors: print pw errors

This commit is contained in:
galister
2024-07-25 00:08:36 +09:00
parent 7a6040bfee
commit a56ed68b44

View File

@@ -57,9 +57,10 @@ impl OverlayRenderer for MirrorRenderer {
}
};
if let Ok(pw_result) = maybe_pw_result {
match maybe_pw_result {
Ok(pw_result) => {
let node_id = pw_result.streams.first().unwrap().node_id; // streams guaranteed to have at least one element
log::info!("{}: PipeWire node selected: {}", self.name.clone(), node_id,);
log::info!("{}: PipeWire node selected: {}", self.name.clone(), node_id);
let capture = PipewireCapture::new(self.name.clone(), node_id);
self.renderer = Some(ScreenRenderer::new_raw(
self.name.clone(),
@@ -73,8 +74,9 @@ impl OverlayRenderer for MirrorRenderer {
o.reset(app, false);
}),
));
} else {
log::warn!("Failed to create pipewire mirror");
}
Err(e) => {
log::warn!("Failed to create mirror due to PipeWire error: {:?}", e);
self.renderer = None;
// drop self
app.tasks
@@ -83,6 +85,7 @@ impl OverlayRenderer for MirrorRenderer {
)));
}
}
}
if let Some(renderer) = self.renderer.as_mut() {
renderer.render(app)?;