Browse Source

Fix ambiguous abs(jack_nframes_t) call

The expression tries to take the absolute value of an unsigned
(jack_nframes_t) which is the difference between two unsigned.

Cast the unsigned to signed before taking the difference so a
cur_buffer_size larger than delta_time actually produces a meaningful
result.
pull/244/head
Andrew Cooper 10 years ago
parent
commit
b09e046f4e
1 changed files with 1 additions and 1 deletions
  1. +1
    -1
      tests/test.cpp

+ 1
- 1
tests/test.cpp View File

@@ -479,7 +479,7 @@ int process4(jack_nframes_t nframes, void *arg)
jack_nframes_t delta_time = cur_time - last_time;

Log("calling process4 callback : jack_frame_time = %ld delta_time = %ld\n", cur_time, delta_time);
if (delta_time > 0 && (jack_nframes_t)abs(delta_time - cur_buffer_size) > tolerance) {
if (delta_time > 0 && (jack_nframes_t)abs((long int)delta_time - (long int)cur_buffer_size) > tolerance) {
printf("!!! ERROR !!! jack_frame_time seems to return incorrect values cur_buffer_size = %d, delta_time = %d tolerance %d\n", cur_buffer_size, delta_time, tolerance);
}



Loading…
Cancel
Save