diff options
Diffstat (limited to 'src/modules/module-combine.c')
| -rw-r--r-- | src/modules/module-combine.c | 16 | 
1 files changed, 12 insertions, 4 deletions
diff --git a/src/modules/module-combine.c b/src/modules/module-combine.c index a1ef8da4..725faa0c 100644 --- a/src/modules/module-combine.c +++ b/src/modules/module-combine.c @@ -55,12 +55,13 @@ PA_MODULE_VERSION(PACKAGE_VERSION);  PA_MODULE_LOAD_ONCE(FALSE);  PA_MODULE_USAGE(          "sink_name=<name for the sink> " +        "sink_properties=<properties for the sink> "          "slaves=<slave sinks> "          "adjust_time=<seconds> "          "resample_method=<method> "          "format=<sample format> " -        "channels=<number of channels> "          "rate=<sample rate> " +        "channels=<number of channels> "          "channel_map=<channel map>");  #define DEFAULT_SINK_NAME "combined" @@ -73,12 +74,13 @@ PA_MODULE_USAGE(  static const char* const valid_modargs[] = {      "sink_name", +    "sink_properties",      "slaves",      "adjust_time",      "resample_method",      "format", -    "channels",      "rate", +    "channels",      "channel_map",      NULL  }; @@ -591,7 +593,7 @@ static void unsuspend(struct userdata *u) {      /* Let's resume */      for (o = pa_idxset_first(u->outputs, &idx); o; o = pa_idxset_next(u->outputs, &idx)) { -        pa_sink_suspend(o->sink, FALSE); +        pa_sink_suspend(o->sink, FALSE, PA_SUSPEND_IDLE);          if (PA_SINK_IS_OPENED(pa_sink_get_state(o->sink)))              enable_output(o); @@ -871,7 +873,7 @@ static struct output *output_new(struct userdata *u, pa_sink *sink) {      }      if (PA_SINK_IS_OPENED(state) || state == PA_SINK_INIT) { -        pa_sink_suspend(sink, FALSE); +        pa_sink_suspend(sink, FALSE, PA_SUSPEND_IDLE);          if (PA_SINK_IS_OPENED(pa_sink_get_state(sink)))              if (output_create_sink_input(o) < 0) @@ -1080,6 +1082,12 @@ int pa__init(pa_module*m) {      if (slaves)          pa_proplist_sets(data.proplist, "combine.slaves", slaves); +    if (pa_modargs_get_proplist(ma, "sink_properties", data.proplist, PA_UPDATE_REPLACE) < 0) { +        pa_log("Invalid properties"); +        pa_sink_new_data_done(&data); +        goto fail; +    } +      u->sink = pa_sink_new(m->core, &data, PA_SINK_LATENCY);      pa_sink_new_data_done(&data);  | 
