diff options
Diffstat (limited to 'src/modules/module-combine.c')
-rw-r--r-- | src/modules/module-combine.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/modules/module-combine.c b/src/modules/module-combine.c index 217fdae6..f3bb3fd3 100644 --- a/src/modules/module-combine.c +++ b/src/modules/module-combine.c @@ -217,6 +217,18 @@ static pa_usec_t sink_get_latency_cb(pa_sink *s) { pa_sink_get_latency(u->master->sink_input->sink); } +static void sink_notify(pa_sink *s) { + struct userdata *u; + struct output *o; + + assert(s); + u = s->userdata; + assert(u); + + for (o = u->outputs; o; o = o->next) + pa_sink_notify(o->sink_input->sink); +} + static struct output *output_new(struct userdata *u, pa_sink *sink, int resample_method) { struct output *o = NULL; char t[256]; @@ -237,7 +249,7 @@ static struct output *output_new(struct userdata *u, pa_sink *sink, int resample 0, NULL); - snprintf(t, sizeof(t), "%s: output #%u", u->sink->name, u->n_outputs+1); + snprintf(t, sizeof(t), "Output stream #%u of sink %s", u->n_outputs+1, u->sink->name); pa_sink_input_new_data_init(&data); data.sink = sink; @@ -387,8 +399,9 @@ int pa__init(pa_core *c, pa_module*m) { } pa_sink_set_owner(u->sink, m); - pa_sink_set_description(u->sink, "Combined sink"); + pa_sink_set_description(u->sink, "Combined Sink"); u->sink->get_latency = sink_get_latency_cb; + u->sink->notify = sink_notify; u->sink->userdata = u; if (!(u->master = output_new(u, master_sink, resample_method))) { |