diff options
-rw-r--r-- | alc/backends/pipewire.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/alc/backends/pipewire.cpp b/alc/backends/pipewire.cpp index 71fdf768..147a6489 100644 --- a/alc/backends/pipewire.cpp +++ b/alc/backends/pipewire.cpp @@ -744,6 +744,7 @@ constexpr auto MonitorPrefixLen = al::size(MonitorPrefix) - 1; constexpr char AudioSinkClass[]{"Audio/Sink"}; constexpr char AudioSourceClass[]{"Audio/Source"}; constexpr char AudioDuplexClass[]{"Audio/Duplex"}; +constexpr char StreamClass[]{"Stream/"}; /* A generic PipeWire node proxy object used to track changes to sink and * source nodes. @@ -1056,7 +1057,8 @@ void EventManager::addCallback(uint32_t id, uint32_t, const char *type, uint32_t || al::strcasecmp(media_class, AudioDuplexClass) == 0}; if(!isGood) { - if(std::strstr(media_class, "/Video") == nullptr) + if(std::strstr(media_class, "/Video") == nullptr + && std::strncmp(media_class, StreamClass, sizeof(StreamClass)-1) != 0) TRACE("Ignoring node class %s\n", media_class); return; } |