@@ -28,6 +28,10 @@ struct RegistryState {
2828 source_ports : HashMap < u32 , Vec < u32 > > ,
2929}
3030
31+ #[ allow(
32+ clippy:: cognitive_complexity,
33+ reason = "PipeWire mic link creation keeps node guards, duplicate suppression, and error logging together"
34+ ) ]
3135fn try_create_mic_links (
3236 state : & mut RegistryState ,
3337 core : & pipewire:: core:: Core ,
@@ -69,6 +73,10 @@ fn try_create_mic_links(
6973 }
7074}
7175
76+ #[ allow(
77+ clippy:: cognitive_complexity,
78+ reason = "PipeWire monitor link creation keeps node guards, duplicate suppression, and error logging together"
79+ ) ]
7280fn try_create_monitor_links (
7381 state : & mut RegistryState ,
7482 core : & pipewire:: core:: Core ,
@@ -168,6 +176,11 @@ enum DeviceChange {
168176 Inputs ,
169177}
170178
179+ #[ allow(
180+ clippy:: cognitive_complexity,
181+ clippy:: too_many_lines,
182+ reason = "registry callback keeps PipeWire object classification and device-change reporting together"
183+ ) ]
171184fn handle_registry_global (
172185 global : & pipewire:: registry:: GlobalObject < & pipewire:: spa:: utils:: dict:: DictRef > ,
173186 state : & mut RegistryState ,
@@ -337,6 +350,10 @@ pub struct RegistryConfig {
337350 pub shared_sink_ports : Rc < RefCell < Vec < u32 > > > ,
338351}
339352
353+ #[ allow(
354+ clippy:: too_many_lines,
355+ reason = "PipeWire listener owns captured Rc guard setup that must stay in one lifetime scope"
356+ ) ]
340357pub fn setup_registry_listener (
341358 core : & pipewire:: core:: CoreRc ,
342359 cfg : RegistryConfig ,
0 commit comments