module-sine: Add rate argument
authorPeter Meerwald <p.meerwald@bct-electronic.com>
Fri, 29 Nov 2013 14:32:42 +0000 (15:32 +0100)
committerTanu Kaskinen <tanu.kaskinen@linux.intel.com>
Thu, 5 Dec 2013 09:03:10 +0000 (11:03 +0200)
useful for testing resampling

Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
src/modules/module-sine.c

index 573a7c0..6bf395e 100644 (file)
@@ -41,6 +41,7 @@ PA_MODULE_VERSION(PACKAGE_VERSION);
 PA_MODULE_LOAD_ONCE(false);
 PA_MODULE_USAGE(
         "sink=<sink to connect to> "
+        "rate=<sample rate> "
         "frequency=<frequency in Hz>");
 
 struct userdata {
@@ -53,6 +54,7 @@ struct userdata {
 
 static const char* const valid_modargs[] = {
     "sink",
+    "rate",
     "frequency",
     NULL,
 };
@@ -138,6 +140,11 @@ int pa__init(pa_module*m) {
     ss.rate = sink->sample_spec.rate;
     ss.channels = 1;
 
+    if (pa_modargs_get_sample_rate(ma, &ss.rate) < 0) {
+        pa_log("Invalid rate specification");
+        goto fail;
+    }
+
     frequency = 440;
     if (pa_modargs_get_value_u32(ma, "frequency", &frequency) < 0 || frequency < 1 || frequency > ss.rate/2) {
         pa_log("Invalid frequency specification");