diff options
author | Paul Adenot <[email protected]> | 2016-02-15 10:43:52 +0100 |
---|---|---|
committer | Paul Adenot <[email protected]> | 2016-02-17 14:53:51 +0100 |
commit | 0af781aa95dac414a8c960d4524813bdf33a34db (patch) | |
tree | ccc9975592017ba9bc438d6524dc1a635fe975f5 /test/common.h | |
parent | 912097b84ef9683ac2d35fe61adedb8d88d5f672 (diff) | |
download | cubeb-0af781aa95dac414a8c960d4524813bdf33a34db.tar.gz cubeb-0af781aa95dac414a8c960d4524813bdf33a34db.zip |
Address review comments.
Build system.
Review comments: cubeb_resampler_speex_one_way ctor should take uint32_t.
Review comments: Use the default device for test_record.cpp
Review comments: use the correct path to include cubeb.h.
Review comments: use std::unique_ptr instead of auto_ptr, and remove auto_ptr implementation.
Review comments: Add test_duplex{,.exe} to .gitignore.
Review comments: Formatting in noop_resampler::fill.
Review comments: rename auto_array::resize to auto_array::reserve.
Review comments: Rename the method that push silence in an auto_array push_silence.
Review comments: Make test_duplex work with backend that use integers.
Review comments: indent in cubeb_resampler.cpp.
Review comments: call the target rate in the public interface of the resampler `target_rate`.
Review comments: Clarify the comment on cubeb_speex_resampler_one_way::drain.
Review comments: trailing space in cubeb_resampler_one_way::output assert.
Review comments: space between T and *.
Review comments: s/outut/output/.
Review comments: return before {.
Review comments: Use unique_ptr to create resampler objects.
We can't really use std::move here, as we appear to target platforms that don't
have it (Gecko on Android uses stlport that does not have std::move).
Review comments: check that the delay lign creation succeeded.
Review comments: Remove frame_count_at_rate.
Review comments: assert speex resampling suceeds.
Review comments: s/l atency/latency/.
Review comments: Remove comment.
Review comments: skip the tests that require an available audio input if none is available.
Diffstat (limited to 'test/common.h')
-rw-r--r-- | test/common.h | 37 |
1 files changed, 34 insertions, 3 deletions
diff --git a/test/common.h b/test/common.h index 47cc28c..051f3c4 100644 --- a/test/common.h +++ b/test/common.h @@ -17,10 +17,10 @@ void delay(unsigned int ms) { #if defined(_WIN32) - Sleep(ms); + Sleep(ms); #else - sleep(ms / 1000); - usleep(ms % 1000 * 1000); + sleep(ms / 1000); + usleep(ms % 1000 * 1000); #endif } @@ -28,3 +28,34 @@ void delay(unsigned int ms) #define M_PI 3.14159265358979323846 #endif +int has_available_input_device(cubeb * ctx) +{ + cubeb_device_collection * devices; + int input_device_available = 0; + int r; + /* Bail out early if the host does not have input devices. */ + r = cubeb_enumerate_devices(ctx, CUBEB_DEVICE_TYPE_INPUT, &devices); + if (r != CUBEB_OK) { + fprintf(stderr, "error enumerating devices."); + return 0; + } + + if (devices->count == 0) { + fprintf(stderr, "no input device available, skipping test.\n"); + return 0; + } + + for (uint32_t i = 0; i < devices->count; i++) { + input_device_available |= (devices->device[i]->state == + CUBEB_DEVICE_STATE_ENABLED); + } + + if (!input_device_available) { + fprintf(stderr, "there are input devices, but they are not " + "available, skipping\n"); + return 0; + } + + return 1; +} + |