mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2026-02-07 04:07:06 -05:00
source: Introduce vsource structure
This patch introduces a vsource structure analog to the vsink structure. The structure will be used for virtual source consolidation.
This commit is contained in:
parent
95be21c736
commit
b6ccb7e76d
5 changed files with 134 additions and 15 deletions
|
|
@ -272,7 +272,10 @@ static bool find_paired_master(struct userdata *u, struct filter *filter, pa_obj
|
|||
}
|
||||
/* Make sure we're not routing to another instance of
|
||||
* the same filter. */
|
||||
filter->source_master = so->source->output_from_master->source;
|
||||
if (so->source->vsource)
|
||||
filter->source_master = so->source->vsource->output_from_master->source;
|
||||
else
|
||||
filter->source_master = so->source->output_from_master->source;
|
||||
} else {
|
||||
filter->source_master = so->source;
|
||||
}
|
||||
|
|
@ -474,12 +477,18 @@ static void find_filters_for_module(struct userdata *u, pa_module *m, const char
|
|||
pa_assert(pa_source_is_filter(source));
|
||||
|
||||
if (!fltr) {
|
||||
fltr = filter_new(name, parameters, NULL, source->output_from_master->source);
|
||||
if (source->vsource)
|
||||
fltr = filter_new(name, parameters, NULL, source->vsource->output_from_master->source);
|
||||
else
|
||||
fltr = filter_new(name, parameters, NULL, source->output_from_master->source);
|
||||
fltr->module_index = m->index;
|
||||
fltr->source = source;
|
||||
} else {
|
||||
fltr->source = source;
|
||||
fltr->source_master = source->output_from_master->source;
|
||||
if (source->vsource)
|
||||
fltr->source_master = source->vsource->output_from_master->source;
|
||||
else
|
||||
fltr->source_master = source->output_from_master->source;
|
||||
}
|
||||
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue