[pulseaudio-discuss] [PATCH 3/3] alsa-time-test: Make constants for channels and rate
David Henningsson
david.henningsson at canonical.com
Thu Sep 18 02:09:28 PDT 2014
Hard-coding constants on several places is bad coding practice.
Signed-off-by: David Henningsson <david.henningsson at canonical.com>
---
src/tests/alsa-time-test.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/src/tests/alsa-time-test.c b/src/tests/alsa-time-test.c
index 20f16cc..b4eedab 100644
--- a/src/tests/alsa-time-test.c
+++ b/src/tests/alsa-time-test.c
@@ -10,6 +10,9 @@
#include <alsa/asoundlib.h>
+#define SAMPLE_RATE 44100
+#define CHANNELS 2
+
static uint64_t timespec_us(const struct timespec *ts) {
return
ts->tv_sec * 1000000LLU +
@@ -23,9 +26,9 @@ int main(int argc, char *argv[]) {
snd_pcm_sw_params_t *swparams;
snd_pcm_status_t *status;
snd_pcm_t *pcm;
- unsigned rate = 44100;
+ unsigned rate = SAMPLE_RATE;
unsigned periods = 2;
- snd_pcm_uframes_t boundary, buffer_size = 44100/10; /* 100s */
+ snd_pcm_uframes_t boundary, buffer_size = SAMPLE_RATE/10; /* 100s */
int dir = 1;
int fillrate;
struct timespec start, last_timestamp = { 0, 0 };
@@ -58,7 +61,7 @@ int main(int argc, char *argv[]) {
cap = argc > 2 ? atoi(argv[2]) : 0;
fillrate = argc > 3 ? atoi(argv[3]) : 1;
- samples = calloc(fillrate, 2*sizeof(uint16_t));
+ samples = calloc(fillrate, CHANNELS*sizeof(uint16_t));
assert(samples);
if (cap == 0)
@@ -82,7 +85,7 @@ int main(int argc, char *argv[]) {
r = snd_pcm_hw_params_set_rate_near(pcm, hwparams, &rate, NULL);
assert(r == 0);
- r = snd_pcm_hw_params_set_channels(pcm, hwparams, 2);
+ r = snd_pcm_hw_params_set_channels(pcm, hwparams, CHANNELS);
assert(r == 0);
r = snd_pcm_hw_params_set_periods_integer(pcm, hwparams);
@@ -216,9 +219,9 @@ int main(int argc, char *argv[]) {
timestamp_us = timespec_us(×tamp);
if (cap == 0)
- pos = (unsigned long long) ((sample_count - handled - delay) * 1000000LU / 44100);
+ pos = (unsigned long long) ((sample_count - handled - delay) * 1000000LU / SAMPLE_RATE);
else
- pos = (unsigned long long) ((sample_count - handled + delay) * 1000000LU / 44100);
+ pos = (unsigned long long) ((sample_count - handled + delay) * 1000000LU / SAMPLE_RATE);
if (count++ % 50 == 0)
printf("Elapsed\tCPU\tALSA\tPos\tSamples\tavail\tdelay\trevents\thandled\tstate\n");
--
1.9.1
More information about the pulseaudio-discuss
mailing list