/src/mozilla-central/media/libcubeb/gtest/test_latency.cpp
Line | Count | Source (jump to first uncovered line) |
1 | | #include "gtest/gtest.h" |
2 | | #include <stdlib.h> |
3 | | #include <memory> |
4 | | #include "cubeb/cubeb.h" |
5 | | #include "common.h" |
6 | | |
7 | | TEST(cubeb, latency) |
8 | 0 | { |
9 | 0 | cubeb * ctx = NULL; |
10 | 0 | int r; |
11 | 0 | uint32_t max_channels; |
12 | 0 | uint32_t preferred_rate; |
13 | 0 | uint32_t latency_frames; |
14 | 0 |
|
15 | 0 | r = common_init(&ctx, "Cubeb audio test"); |
16 | 0 | ASSERT_EQ(r, CUBEB_OK); |
17 | 0 |
|
18 | 0 | std::unique_ptr<cubeb, decltype(&cubeb_destroy)> |
19 | 0 | cleanup_cubeb_at_exit(ctx, cubeb_destroy); |
20 | 0 |
|
21 | 0 | r = cubeb_get_max_channel_count(ctx, &max_channels); |
22 | 0 | ASSERT_TRUE(r == CUBEB_OK || r == CUBEB_ERROR_NOT_SUPPORTED); |
23 | 0 | if (r == CUBEB_OK) { |
24 | 0 | ASSERT_GT(max_channels, 0u); |
25 | 0 | } |
26 | 0 |
|
27 | 0 | r = cubeb_get_preferred_sample_rate(ctx, &preferred_rate); |
28 | 0 | ASSERT_TRUE(r == CUBEB_OK || r == CUBEB_ERROR_NOT_SUPPORTED); |
29 | 0 | if (r == CUBEB_OK) { |
30 | 0 | ASSERT_GT(preferred_rate, 0u); |
31 | 0 | } |
32 | 0 |
|
33 | 0 | cubeb_stream_params params = { |
34 | 0 | CUBEB_SAMPLE_FLOAT32NE, |
35 | 0 | preferred_rate, |
36 | 0 | max_channels, |
37 | 0 | CUBEB_LAYOUT_UNDEFINED, |
38 | 0 | CUBEB_STREAM_PREF_NONE |
39 | 0 | }; |
40 | 0 | r = cubeb_get_min_latency(ctx, ¶ms, &latency_frames); |
41 | 0 | ASSERT_TRUE(r == CUBEB_OK || r == CUBEB_ERROR_NOT_SUPPORTED); |
42 | 0 | if (r == CUBEB_OK) { |
43 | 0 | ASSERT_GT(latency_frames, 0u); |
44 | 0 | } |
45 | 0 | } |