summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/tests/rtstutter.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/tests/rtstutter.c b/src/tests/rtstutter.c
index a7d1b042..39dfc5d3 100644
--- a/src/tests/rtstutter.c
+++ b/src/tests/rtstutter.c
@@ -39,7 +39,7 @@
#include <pulsecore/log.h>
#include <pulsecore/macro.h>
-static int msec;
+static int msec_lower, msec_upper;
static void* work(void *p) PA_GCC_NORETURN;
@@ -66,7 +66,9 @@ static void* work(void *p) {
pa_assert_se(clock_gettime(CLOCK_REALTIME, &end) == 0);
- nsec = (uint64_t) ((((double) rand())*msec*PA_NSEC_PER_MSEC)/RAND_MAX);
+ nsec =
+ (uint64_t) ((((double) rand())*(msec_upper-msec_lower)*PA_NSEC_PER_MSEC)/RAND_MAX) +
+ (uint64_t) (msec_lower*PA_NSEC_PER_MSEC);
pa_log_notice("CPU%i: Freezing for %ims", PA_PTR_TO_INT(p), (int) (nsec/PA_NSEC_PER_MSEC));
@@ -90,11 +92,21 @@ int main(int argc, char*argv[]) {
srand(time(NULL));
- msec = argc > 1 ? atoi(argv[1]) : 1000;
+ if (argc >= 3) {
+ msec_lower = atoi(argv[1]);
+ msec_upper = atoi(argv[2]);
+ } else if (argc >= 2) {
+ msec_lower = 0;
+ msec_upper = atoi(argv[1]);
+ } else {
+ msec_lower = 0;
+ msec_upper = 1000;
+ }
- pa_assert(msec > 0);
+ pa_assert(msec_upper > 0);
+ pa_assert(msec_upper >= msec_lower);
- pa_log_notice("Creating random latencies of up to %ims.", msec);
+ pa_log_notice("Creating random latencies in the range of %ims to %ims.", msec_lower, msec_upper);
for (n = 1; n < sysconf(_SC_NPROCESSORS_CONF); n++) {
pthread_t t;