Streams connecting filter devices to their target devices shouldn't move
because of default settings (they are intended to be filtering the
specific device that are attached to).
Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1015
if (!i->sink)
continue;
+ /* Don't move sink-inputs which connect filter sinks to their target sinks */
+ if (i->origin_sink)
+ continue;
+
/* If default_sink_changed is false, the old sink became unavailable, so all streams must be moved. */
if (pa_safe_streq(old_sink->name, i->preferred_sink) && default_sink_changed)
continue;
if (!o->source)
continue;
+ /* Don't move source-outputs which connect sources to filter sources */
+ if (o->destination_source)
+ continue;
+
/* If default_source_changed is false, the old source became unavailable, so all streams must be moved. */
if (pa_safe_streq(old_source->name, o->preferred_source) && default_source_changed)
continue;