From 559d26217310e5454c9cf5c80e49da51b192d7ca Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 13 May 2007 00:22:39 +0000 Subject: fix volume handling git-svn-id: file:///home/lennart/svn/public/libsydney/trunk@5 9ba3c220-e4d3-45a2-8aa3-73fcc9aff6ce --- test-sine.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'test-sine.c') 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)); -- cgit