fix aes67 device filtering

This commit is contained in:
pstruebi
2025-08-12 12:48:35 +02:00
parent 42a47f2bb2
commit 40eca11641

View File

@@ -96,9 +96,24 @@ def list_network_pw_inputs():
# Heuristics for network/AES67/RTP
text = (nname + " " + ndesc).lower()
media_name = (props.get("media.name") or "").lower()
node_group = (props.get("node.group") or "").lower()
# Presence flags/keys that strongly indicate network RTP/AES67 sources
node_network_flag = bool(props.get("node.network"))
has_rtp_keys = any(k in props for k in (
"rtp.session", "rtp.source.ip", "rtp.source.port", "rtp.fmtp", "rtp.rate"
))
has_sess_keys = any(k in props for k in (
"sess.name", "sess.media", "sess.latency.msec"
))
is_network = (
(props.get("device.bus") or "").lower() == "network" or
any(k in text for k in ("rtp", "sap", "aes67", "network", "raop", "airplay"))
node_network_flag or
"rtp" in media_name or
any(k in text for k in ("rtp", "sap", "aes67", "network", "raop", "airplay")) or
has_rtp_keys or
has_sess_keys or
("pipewire.ptp" in node_group)
)
if is_network:
network_input_names.add(ndesc or nname)