summaryrefslogtreecommitdiffstats
path: root/test-sine.c
diff options
context:
space:
mode:
Diffstat (limited to 'test-sine.c')
-rw-r--r--test-sine.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/test-sine.c b/test-sine.c
index c0d40e8..d0e28e9 100644
--- a/test-sine.c
+++ b/test-sine.c
@@ -16,22 +16,33 @@
assert(_r == SA_SUCCESS); \
} while(0)
-#define FREQ 880
+#define FREQ 440
int main(int argc, char *argv[]) {
sa_device_t *dev;
float data[4] = { 0.0, 1.0, 0.0, -1.0 };
- int i;
+ int i, j;
ASSERT_SUCCESS(sa_device_create_pcm(&dev, SA_MODE_WRONLY, SA_PCM_FORMAT_FLOAT32_NE, FREQ * 4, 1));
ASSERT_SUCCESS(sa_device_change_device(dev, "/dev/dsp1"));
+ ASSERT_SUCCESS(sa_device_set_dynamic_rate(dev, 1));
sa_device_change_meta_data(dev, SA_META_CLIENT_NAME, argv[0], strlen(argv[0]));
ASSERT_SUCCESS(sa_device_open(dev));
- for (i = 0; i < FREQ; i++)
- ASSERT_SUCCESS(sa_device_write(dev, data, sizeof(data)));
+ for (j = 0; j < 10; j++) {
+ int v;
+ v = -j*500;
+
+/* ASSERT_SUCCESS(sa_device_change_rate(dev, FREQ*4+100*j)); */
+ ASSERT_SUCCESS(sa_device_change_output_volume(dev, &v));
+
+ for (i = 0; i < FREQ; i++)
+ ASSERT_SUCCESS(sa_device_write(dev, data, sizeof(data)));
+ }
+
+
ASSERT_SUCCESS(sa_device_drain(dev));
ASSERT_SUCCESS(sa_device_destroy(dev));