diff options
Diffstat (limited to 'src/pulsecore')
-rw-r--r-- | src/pulsecore/sink-input.c | 1 | ||||
-rw-r--r-- | src/pulsecore/sink-input.h | 4 | ||||
-rw-r--r-- | src/pulsecore/sink.c | 1 | ||||
-rw-r--r-- | src/pulsecore/sink.h | 2 | ||||
-rw-r--r-- | src/pulsecore/source-output.c | 1 | ||||
-rw-r--r-- | src/pulsecore/source-output.h | 4 | ||||
-rw-r--r-- | src/pulsecore/source.c | 1 | ||||
-rw-r--r-- | src/pulsecore/source.h | 1 |
8 files changed, 13 insertions, 2 deletions
diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c index 065fd2d3..00adc6d1 100644 --- a/src/pulsecore/sink-input.c +++ b/src/pulsecore/sink-input.c @@ -321,6 +321,7 @@ int pa_sink_input_new( i->driver = pa_xstrdup(pa_path_get_filename(data->driver)); i->module = data->module; i->sink = data->sink; + i->origin_sink = data->origin_sink; i->client = data->client; i->requested_resample_method = data->resample_method; diff --git a/src/pulsecore/sink-input.h b/src/pulsecore/sink-input.h index f81e2d4b..e1991a26 100644 --- a/src/pulsecore/sink-input.h +++ b/src/pulsecore/sink-input.h @@ -83,7 +83,8 @@ struct pa_sink_input { pa_module *module; /* may be NULL */ pa_client *client; /* may be NULL */ - pa_sink *sink; /* NULL while we are being moved */ + pa_sink *sink; /* NULL while we are being moved */ + pa_sink *origin_sink; /* only set by filter sinks */ /* A sink input may be connected to multiple source outputs * directly, so that they don't get mixed data of the entire @@ -285,6 +286,7 @@ typedef struct pa_sink_input_new_data { pa_client *client; pa_sink *sink; + pa_sink *origin_sink; pa_resample_method_t resample_method; diff --git a/src/pulsecore/sink.c b/src/pulsecore/sink.c index 62000e0d..0de544c9 100644 --- a/src/pulsecore/sink.c +++ b/src/pulsecore/sink.c @@ -269,6 +269,7 @@ pa_sink* pa_sink_new( s->inputs = pa_idxset_new(NULL, NULL); s->n_corked = 0; + s->input_to_master = NULL; s->reference_volume = s->real_volume = data->volume; pa_cvolume_reset(&s->soft_volume, s->sample_spec.channels); diff --git a/src/pulsecore/sink.h b/src/pulsecore/sink.h index 4d569ddc..8a515870 100644 --- a/src/pulsecore/sink.h +++ b/src/pulsecore/sink.h @@ -44,6 +44,7 @@ typedef struct pa_sink_volume_change pa_sink_volume_change; #include <pulsecore/card.h> #include <pulsecore/queue.h> #include <pulsecore/thread-mq.h> +#include <pulsecore/sink-input.h> #define PA_MAX_INPUTS_PER_SINK 32 @@ -86,6 +87,7 @@ struct pa_sink { pa_idxset *inputs; unsigned n_corked; pa_source *monitor_source; + pa_sink_input *input_to_master; /* non-NULL only for filter sinks */ pa_volume_t base_volume; /* shall be constant */ unsigned n_volume_steps; /* shall be constant */ diff --git a/src/pulsecore/source-output.c b/src/pulsecore/source-output.c index 88731e76..0bb8899c 100644 --- a/src/pulsecore/source-output.c +++ b/src/pulsecore/source-output.c @@ -208,6 +208,7 @@ int pa_source_output_new( o->driver = pa_xstrdup(pa_path_get_filename(data->driver)); o->module = data->module; o->source = data->source; + o->destination_source = data->destination_source; o->client = data->client; o->actual_resample_method = resampler ? pa_resampler_get_method(resampler) : PA_RESAMPLER_INVALID; diff --git a/src/pulsecore/source-output.h b/src/pulsecore/source-output.h index 273b78fc..f16f9520 100644 --- a/src/pulsecore/source-output.h +++ b/src/pulsecore/source-output.h @@ -74,7 +74,8 @@ struct pa_source_output { pa_module *module; /* may be NULL */ pa_client *client; /* may be NULL */ - pa_source *source; /* NULL while being moved */ + pa_source *source; /* NULL while being moved */ + pa_source *destination_source; /* only set by filter sources */ /* A source output can monitor just a single input of a sink, in which case we find it here */ pa_sink_input *direct_on_input; /* may be NULL */ @@ -211,6 +212,7 @@ typedef struct pa_source_output_new_data { pa_client *client; pa_source *source; + pa_source *destination_source; pa_resample_method_t resample_method; diff --git a/src/pulsecore/source.c b/src/pulsecore/source.c index 412a3db9..24d0ff6b 100644 --- a/src/pulsecore/source.c +++ b/src/pulsecore/source.c @@ -221,6 +221,7 @@ pa_source* pa_source_new( s->outputs = pa_idxset_new(NULL, NULL); s->n_corked = 0; s->monitor_of = NULL; + s->output_from_master = NULL; s->volume = data->volume; pa_cvolume_reset(&s->soft_volume, s->sample_spec.channels); diff --git a/src/pulsecore/source.h b/src/pulsecore/source.h index e3e56bc4..f3af159e 100644 --- a/src/pulsecore/source.h +++ b/src/pulsecore/source.h @@ -75,6 +75,7 @@ struct pa_source { pa_idxset *outputs; unsigned n_corked; pa_sink *monitor_of; /* may be NULL */ + pa_source_output *output_from_master; /* non-NULL only for filter sources */ pa_volume_t base_volume; /* shall be constant */ unsigned n_volume_steps; /* shall be constant */ |