diff --git a/src/utils/pipewire.rs b/src/utils/pipewire.rs index 0606731..6e47df2 100644 --- a/src/utils/pipewire.rs +++ b/src/utils/pipewire.rs @@ -57,17 +57,19 @@ fn parse_global_object( }; // Check if the object is a port } else if props.get("port.direction").is_some() { - let node_id = props.get("node.id").unwrap().parse::().unwrap(); - let port_id = props.get("port.id").unwrap().parse::().unwrap(); - let port_name = props.get("port.name").unwrap(); + if let (Some(node_id), Some(port_id), Some(port_name)) = ( + props.get("node.id").and_then(|id| id.parse::().ok()), + props.get("port.id").and_then(|id| id.parse::().ok()), + props.get("port.name"), + ) { + let port = Port { + node_id, + port_id, + name: port_name.to_string(), + }; - let port = Port { - node_id, - port_id, - name: port_name.to_string(), - }; - - return (None, Some(port)); + return (None, Some(port)); + } } } (None, None)