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 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); let capture = PipewireCapture::new(self.name.clone(), node_id);
self.renderer = Some(ScreenRenderer::new_raw( self.renderer = Some(ScreenRenderer::new_raw(
self.name.clone(), self.name.clone(),
@@ -73,8 +74,9 @@ impl OverlayRenderer for MirrorRenderer {
o.reset(app, false); 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; self.renderer = None;
// drop self // drop self
app.tasks app.tasks
@@ -83,6 +85,7 @@ impl OverlayRenderer for MirrorRenderer {
))); )));
} }
} }
}
if let Some(renderer) = self.renderer.as_mut() { if let Some(renderer) = self.renderer.as_mut() {
renderer.render(app)?; renderer.render(app)?;