diff options
Diffstat (limited to 'src/modules/module-sine-source.c')
| -rw-r--r-- | src/modules/module-sine-source.c | 15 | 
1 files changed, 11 insertions, 4 deletions
diff --git a/src/modules/module-sine-source.c b/src/modules/module-sine-source.c index a5f1ce70..14a04e47 100644 --- a/src/modules/module-sine-source.c +++ b/src/modules/module-sine-source.c @@ -55,8 +55,9 @@ PA_MODULE_DESCRIPTION("Sine wave generator source");  PA_MODULE_VERSION(PACKAGE_VERSION);  PA_MODULE_LOAD_ONCE(FALSE);  PA_MODULE_USAGE( -        "rate=<sample rate> "          "source_name=<name for the source> " +        "source_properties=<properties for the source> " +        "rate=<sample rate> "          "frequency=<frequency in Hz>");  #define DEFAULT_SOURCE_NAME "sine_input" @@ -79,8 +80,9 @@ struct userdata {  };  static const char* const valid_modargs[] = { -    "rate",      "source_name", +    "source_properties", +    "rate",      "frequency",      NULL  }; @@ -248,6 +250,12 @@ int pa__init(pa_module*m) {      pa_proplist_setf(data.proplist, "sine.hz", "%u", frequency);      pa_source_new_data_set_sample_spec(&data, &ss); +    if (pa_modargs_get_proplist(ma, "source_properties", data.proplist, PA_UPDATE_REPLACE) < 0) { +        pa_log("Invalid properties"); +        pa_source_new_data_done(&data); +        goto fail; +    } +      u->source = pa_source_new(m->core, &data, PA_SOURCE_LATENCY);      pa_source_new_data_done(&data); @@ -264,8 +272,7 @@ int pa__init(pa_module*m) {      pa_source_set_asyncmsgq(u->source, u->thread_mq.inq);      pa_source_set_rtpoll(u->source, u->rtpoll); -    u->source->fixed_latency = u->block_usec; - +    pa_source_set_fixed_latency(u->source, u->block_usec);      if (!(u->thread = pa_thread_new(thread_func, u))) {          pa_log("Failed to create thread.");  | 
