aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/common.h
diff options
context:
space:
mode:
authorPaul Adenot <[email protected]>2016-02-15 10:43:52 +0100
committerPaul Adenot <[email protected]>2016-02-17 14:53:51 +0100
commit0af781aa95dac414a8c960d4524813bdf33a34db (patch)
treeccc9975592017ba9bc438d6524dc1a635fe975f5 /test/common.h
parent912097b84ef9683ac2d35fe61adedb8d88d5f672 (diff)
downloadcubeb-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.h37
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;
+}
+